2016-07-26 61 views
0

我已经为本地和远程安装的配置和gov注册中心使用jdbc连接到ms sql数据库设置了一个ESB集群。 1x mgt和2xworker部署wso2 esb策略的最佳实践

我们的.car文件包含一些ws-security策略工件,它们将进入配置。当我部署到mgt时,它会部署OK。我有SVN dep同步设置到群集,当它拿起.car它开始部署在工作,但在将策略文件加载到conf时失败。它试图在共享配置中复制策略并失败 - 当然这是正确的,但是;当.car文件由svn发布时,我应该如何部署这些“共享”工件?我需要能够正确控制部署。我能看到的唯一方法就是通过开发工作室,这对我们的变更管理实践来说很糟糕。

感谢您的帮助。

回答

0

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

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

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

通过检查问题,我觉得你也有本地注册表的外部数据库。但是,没有必要。您可以使用内部H2数据库作为本地注册表。 H2数据库有时会损坏。如果发生这种情况,您只需删除H2数据库并使用-Dsetup选项重新启动服务器。有一个外部DB是好的。但是,这是一个矫枉过正的问题。

+0

感谢您的回复。这些也是我们提出的选择。 –

+0

那么,你们是否决定选择? –

+0

我确定在部署时收到的错误消息可以忽略。该策略会导致部署者尝试将用户插入到每个群集节点上的用户存储中。 mgt服务器工作,工作人员都抛出错误。我知道为什么它会发生,也许它将在未来由wso2修复 –