2014-02-25 37 views
1

我是從3.8升級到最新版本Apigee,現在叫Apigee邊緣,並設置我的DEV/TST例如我將如何使用此用例設置組織和環境?

在我的3.8安裝,我有一個單一的非生產實例支持12個總開發和測試環境

•目前有6 DEV(DEV01,DEV02,... DEV06)和6 TST(TST01,TST02,... TST06)實例,以支持當前版本和開發版本

•每個實例的副本每個API代理(「epapi」,「ewsapi」和「令牌服務」) •每個實例有3個虛擬服務器,每個API代理

我在3.8的一個域中有這些。我評爲12個部署的應用程序epapi_TST01,epapi_TST02,... epapi_TST06和epapi_DEV01,epapi_DEV02,... epapi_DEV06

什麼是Apigee邊緣實現這一點的最好組織與環境的戰略?

回答

1

我會創建2個組織,devtst使它們在邏輯上保持分離。在每個組織內部,您可以擁有多個環境。例如:

組織:開發
環境:DEV1,DEV2,DEV3

組織:TST
環境:TST1,TST2,tst3

有多種方式您可以訪問環境的配置,以確保代理可以互換地部署到任何環境。以下信息介紹了2種可以利用虛擬主機配置的方式。

注意下面的配置是不是在Apigee Edge的免費提供自助服務和不容易從這裏描述的默認的產品改變了遠:http://apigee.com/docs/api-services/content/virtual-hosts。此信息主要涉及Apigee Edge的內部部署或付費帳戶。

虛擬主機的範圍是在環境級別。這意味着您可以在不同的命名環境中擁有相同的虛擬主機default。但是,每個環境中虛擬主機的配置將配置不同的端口和/或主機別名。這將允許您保留<BasePath><VirtualHost>的ProxyEndpoint配置相同。

  1. DEV1:

    • 虛擬主機名:default
    • 虛擬主機端口:8080
  2. DEV2

    使用不同的虛擬主機端口策略實施例:

    • 虛擬主機名:default
    • 虛擬主機端口:8081
  3. DEV3:

    • 虛擬主機名:default
    • 虛擬主機端口:8082

注意名稱相同,因此在部署到任何開發環境時,Apigee API代理包中的<VirtualHost>配置將保持不變。但是,你會作出一個請求到每一個環境,例如:

dev1http://dev.api.example.com: /基本路徑/資源
dev2http://dev.api.example.com: /基本路徑/資源
dev3http://dev.api.example.com:/basepath/resource

上述策略將確保您可以將相同的代理配置部署到多個環境,而不會在激活時發生任何衝突API代理。代理將根據環境在不同的端口上偵聽。然後,您可以選擇使用Apigee前面的負載平衡器來完成不同的事情,以抽象使用不同端口訪問環境。

也可以通過在虛擬主機上使用hostAliases config,使用HTTP標頭Host來確定請求路由到哪個環境而不是不同的端口,從而獲得類似的解決方案。

使用hostAliases示例實施例的虛擬主機配置:

  1. DEV1:

    • 虛擬主機名:default
    • 虛擬主機端口:80
    • HOSTALIASES:["dev1.api.example.com"]
  2. DEV2:

    • 虛擬主機名:default
    • 虛擬主機端口:80
    • HOSTALIASES:["dev2.api.example.com"]
  3. DEV3:

    • 虛擬主機名:default
    • 虛擬主機端口:80
    • HOSTALIASES:["dev3.api.example.com"]

hostAliases被配置,所述Host頭值將被使用於所述請求到部署在該API代理分類適當的環境。使用這種配置實例的請求:

dev1http://dev1.api.example.com/basepath/resource
dev2http://dev2.api.example.com/basepath/resource
dev3http://dev3.api.example.com/basepath/resource

+0

其實我有一個域去,所以我可以使用相同的API密鑰在所有12個環境。 –