我安装了WSO2 ESB实例,并且我试图找出如何根据环境(dev,qa,production)使用动态端点。
我的目标是在所有环境上部署相同的.car文件应用程序(包含所有代码和配置),并自动调整端点配置。
我尝试使用治理注册表(如建议的here)但据我所知,在不同的'部署路径上部署相同的端点也需要创建/部署不同的.car应用程序(使用对适当环境的静态引用修改每个服务,这违反了具有可配置端点的想法)。
哪种方法可以解决在三个环境中部署一个应用程序的问题,而无需对代码进行静态引用并避免使用脚本?
答案 0 :(得分:0)
您有不同的解决方案:
1)使用ESB嵌入式注册。
ESB的每个实例都具有嵌入式注册表,其中包含环境的端点。您需要在每个环境中使用注册表的CAR应用程序(请注意,所有的连接点都具有相同的路径)。
https://github.com/sohaniwso2/NewRepoArticle/tree/master/StudentRegistrationProject
2)使用Governance注册表。
治理注册表部署了所有端点(trunk-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/