WSO2 ESB 环境特定配置

WSO2 ESB environment-specific configuration

我安装了 WSO2 ESB 实例,我正在尝试弄清楚如何根据环境(开发、质量保证、生产)使用动态端点。

我的目标是在所有环境上部署相同的 .car 文件应用程序(包含所有代码和配置),并且自动调整端点配置。

我尝试使用治理注册表(按照建议 here),但据我了解,将相同的端点部署在不同的 'deploy paths' 上需要还有 creating/deploying 不同的 .car 应用程序(使用对适当环境的静态引用修改每个服务,这违反了具有可配置端点的想法)。

在不对代码进行静态引用和避免脚本的情况下,解决在三个环境中部署一个应用程序问题的最佳方法是什么?

您有不同的解决方案:

1) 使用 ESB 嵌入式注册表。

ESB 的每个实例都有带有环境端点的嵌入式注册表。每个环境都需要一个注册中心的 CAR 应用程序(请注意,所有的点都将具有相同的路径)。

http://wso2.com/library/articles/2014/03/development-and-deployment-of-c-app-based-artifacts-on-multiple-environments/

https://github.com/sohaniwso2/NewRepoArticle/tree/master/StudentRegistrationProject

2) 使用治理注册表。

治理注册表已部署所有端点(主干 - dev、qa、pro 等)。

ESB的每个实例都定义了注册表的远程实例并挂载到环境的路径。

安装端点后,对于 ESB,您将拥有环境的端点,因此相同的端点适用于每个环境。

<remoteInstance url="https://host:port/registry">
   <id>instanceId</id>
   <username>username</username>
   <password>password</password>
</remoteInstance>

<mount path="/_system/governance" overwrite="true"> 
   <instanceId>instanceId</instanceId> 
   <targetPath>/_system/governance/qa</targetPath> 
</mount>

http://wso2.com/library/tutorials/2010/04/sharing-registry-space-across-multiple-product-instances/