我正在从3.8升级到最新的Apigee版本,现在称为Apigee Edge,并设置我的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 Edge实施此项目的最佳组织和环境战略是什么?
答案 0 :(得分:1)
我会创建2个组织dev
和tst
,以使它们在逻辑上分开。在每个组织内部,您可以拥有多个环境。例如:
组织:dev
环境:dev1,dev2,dev3
组织:tst
环境:tst1,tst2,tst3
有多种方法可以处理环境配置,以确保代理可以互换地部署到任何环境。以下信息介绍了可以利用虚拟主机配置的两种方法。
注意 :以下配置不是Apigee Edge免费产品中的自助服务,并且不太可能更改此处所述的默认产品:http://apigee.com/docs/api-services/content/virtual-hosts。此信息主要与Apigee Edge或付费帐户的内部部署有关。
虚拟主机的范围是环境级别。这意味着您可以在不同的命名环境中拥有名为default
的相同虚拟主机。但是,每个环境中虚拟主机的配置将配置不同的端口和/或主机别名。这将允许您为<BasePath>
和<VirtualHost>
保留相同的ProxyEndpoint配置。
使用不同虚拟主机端口的策略示例:
dev1:
default
8080
dev2:
default
8081
dev3:
default
8082
请注意,名称是相同的,因此当您部署到任何开发环境时,Apigee API代理包中的<VirtualHost>
配置将保持不变。但是,您可以在每个环境中发出请求:
dev1
:http://dev.api.example.com: 8080 / basepath / resource
dev2
:http://dev.api.example.com: 8081 / basepath / resource
dev3
:http://dev.api.example.com: 8082 / basepath / resource
上述策略将确保您可以将相同的代理配置部署到多个环境,而不会在激活API代理时发生任何冲突。代理将根据环境侦听不同的端口。然后,您可以选择在Apigee前面使用负载平衡器执行不同的操作,以抽象使用不同的端口来访问环境。
通过在虚拟主机上使用hostAliases
config也可以获得类似的解决方案,使用HTTP头Host
确定请求路由到哪个环境而不是不同的端口。
使用hostAliases
示例的虚拟主机配置示例:
dev1:
default
80
["dev1.api.example.com"]
dev2:
default
80
["dev2.api.example.com"]
dev3:
default
80
["dev3.api.example.com"]
配置hostAliases
后,Host
标头值将用于将请求分类到在适当环境中部署的API代理中。使用此配置的示例请求:
dev1
:http://dev1.api.example.com/basepath/resource
dev2
:http://dev2.api.example.com/basepath/resource
dev3
:http://dev3.api.example.com/basepath/resource