2014-02-25 42 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个环境。 –