【问题标题】:How would I setup Organizations and Environments with this use case?我将如何使用此用例设置组织和环境?
【发布时间】:2014-03-27 23:16:35
【问题描述】:

我正在从 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 中实施这一点的最佳组织和环境策略是什么?

【问题讨论】:

    标签: apigee


    【解决方案1】:

    我将创建 2 个组织,devtst,以使它们在逻辑上分开。在每个组织内部,您可以拥有多个环境。示例:

    组织:开发
    环境:开发1、开发2、开发3

    组织:tst
    环境:tst1、tst2、tst3

    您可以通过多种方式来处理环境的配置,以确保代理可以互换地部署到任何环境中。以下信息描述了您可以利用虚拟主机配置的 2 种方法。

    注意以下配置在 Apigee Edge 的免费产品中不是自助服务,并且不太可能从此处描述的默认产品中更改:http://apigee.com/docs/api-services/content/virtual-hosts。此信息主要与 Apigee Edge 或付费帐户的本地部署有关。

    虚拟主机的范围是环境级别。这意味着您可以在不同的命名环境中拥有名为default 的相同虚拟主机。但是,每个环境中虚拟主机的配置将配置不同的端口和/或主机别名。这将允许您为 <BasePath><VirtualHost> 保留相同的 ProxyEndpoint 配置。

    使用不同虚拟主机端口的策略示例:

    1. 开发1:

      • 虚拟主机名:default
      • 虚拟主机端口:8080
    2. 开发2:

      • 虚拟主机名:default
      • 虚拟主机端口:8081
    3. 开发者3:

      • 虚拟主机名:default
      • 虚拟主机端口:8082

    请注意,名称相同,因此当您部署到任何开发环境时,Apigee API 代理包中的 <VirtualHost> 配置将保持不变。但是,您可以像这样向每个环境发出请求:

    dev1:http://dev.api.example.com:8080/basepath/resource
    dev2:http://dev.api.example.com:8081/basepath/resource
    @ 987654342@:http://dev.api.example.com:8082/basepath/resource

    上述策略将确保您可以将相同的代理配置部署到多个环境,而不会在激活 API 代理时产生任何冲突。代理将侦听不同的端口,具体取决于环境。然后,您可以选择在 Apigee 前面使用负载平衡器做不同的事情,以抽象使用不同的端口来访问环境。

    也可以通过在虚拟主机上使用hostAliases 配置来获得类似的解决方案,使用HTTP 标头Host 确定请求路由到哪个环境而不是不同的端口。

    使用hostAliases 示例的虚拟主机配置示例:

    1. 开发1:

      • 虚拟主机名:default
      • 虚拟主机端口:80
      • 主机别名:["dev1.api.example.com"]
    2. 开发2:

      • 虚拟主机名:default
      • 虚拟主机端口:80
      • 主机别名:["dev2.api.example.com"]
    3. 开发者3:

      • 虚拟主机名: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

    【讨论】:

    • 我实际上使用了一个域,因此我可以在所有 12 个环境中使用相同的 API 密钥。
    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2017-10-18
    相关资源
    最近更新 更多