部署 wso2 esb 策略的最佳实践

Best practice to deploy wso2 esb policies

我已经使用 jdbc 与 ms sql 数据库的连接设置了一个 ESB 集群,用于本地和远程安装的配置和政府注册中心。 1x mgt 和 2xworker

我们的 .car 文件包含一些用于配置的 ws-security 策略工件。当我部署到 mgt 时,它部署正常。我对集群进行了 SVN dep 同步设置,当它获取 .car 时,它开始部署在工作线程上,但在将策略文件加载到 conf 时失败。它试图在共享 conf 中复制策略但失败了——当然这是对的,但是;当 .car 文件由 svn 分发时,我应该如何部署这些 'shared' 工件?我需要能够正确控制部署。我能看到的唯一方法是通过开发工作室,这对我们的变更管理实践来说很糟糕。

感谢您的帮助。

我可以推荐多种解决方案。您可以决定从中选择什么。

  1. 因为你只有2个工作节点,你可以摆脱(禁用)部署同步并将汽车文件部署到所有节点。我相信你有一些自动化的过程,所以部署到所有节点不会有问题。在执行此操作时,修改您的项目以将策略捆绑到一个单独的汽车文件并将服务捆绑到另一个文件。部署时,您仅将策略部署到管理节点,将服务部署到所有节点。

  2. 第二个选项是,将策略添加到本地注册表。即不是配置注册表,不是治理注册表。然后,当您将汽车部署到管理节点时,它会将策略添加到管理节点的本地注册表中。当汽车文件被 dep-synced 时,工作节点将部署它们并将策略添加到它们的本地注册表中。这将避免工作节点尝试将策略添加到同一位置。

通过回答这个问题,我觉得您也有本地注册表的外部数据库。但是,没必要。您可以将内部 H2 数据库用于本地注册表。 H2 数据库有时会损坏。如果发生这种情况,你所要做的就是删除 H2 数据库并使用 -Dsetup 选项重新启动服务器。有一个外部数据库很好。但是,那太过分了。