我正在安装WSO2 EI两节点群集,并且对必须创建的数据库数量有些疑问。
我将尽力解释我的情况:我正在使用 WSO2 EI 6.5.0 。
我有两个节点集群。每个节点均包含 ESB 和 MB 配置文件。我将在 Microsoft SQL Server 群集数据库上创建所需的数据库。
所以我有这种情况:
节点1:ESB和MB
节点2:ESB和MB
阅读官方文档:
聚集WSO2 ESB配置文件: https://docs.wso2.com/display/EI650/Clustered+Deployment
群集WSO2 MB配置文件: https://docs.wso2.com/display/EI650/Clustering+the+Message+Broker+Profile
我可以找到ESB和MB配置文件所需的DB的信息。 特别是 ESB 配置文件需要创建以下4个数据库:
MB 配置文件需要以下5个数据库:
因此, ESB 和 MB 配置文件之间的前四个数据库似乎是相同的,并且 MB 配置文件使用了成瘾数据库名为 MB_DB 。
这是我的疑问:在我所拥有的情况下(两个节点集群都包含 ESB 和 MB 配置文件),我有多少个数据库创建吗?
我最初的想法是5个数据库,因为我认为前4个数据库在 ESB 和 MB 配置文件之间共享,但是现在我有以下疑问:理论上(正确)如果我做的是错误的断言,则 ESB和MB都可能使用相同的用户数据库和注册表,但是检查默认的 H2 设置,我们可以做到:
因此,从理论上讲,这应该意味着最好不要在配置文件/产品之间混用数据库。
那我该怎么办?我必须创建多少个数据库?
我现在正在考虑,也许我必须使用前缀完全分隔 ESB 和 MB 配置文件数据库,如下所示:
ESB 个人资料数据库:我必须创建以下4个数据库:
MB 个人资料数据库:我必须创建这5个数据库;
这是一个好的解决方案吗?但是通过这种方式,我将完全分离数据库,而不会为用户和注册表共享信息。
在像我这样的两个节点的集群中,最佳实践是什么?
谢谢
答案 0 :(得分:1)
正如您所说,可以保留单独的数据库。通常所做的就是使用您提到的前缀创建数据库。
但是,如果它只有一组将同时访问ESB和MB的用户,那么您可以继续并从这两个产品中指向单个userdb(表示在两个节点中运行的所有四个实例)。 / p>
关于注册表数据库,假设您有一个需要同时从ESB和MB访问的配置文件,那么您必须共享一个单一的registry_db(还必须遵循正确的注册表安装/请参阅文档以获取有关信息)。那)。 如果没有这种情况,最好保留单独的数据库。
底线:只要内部没有ESB和MB之间共享任何内容,最好维护一组单独的数据库。您只需要遵循群集并仅在同一产品的实例之间共享数据库即可。
干杯!