我必须为这样的 WSO2 EI 双节点集群创建多少个数据库以及哪些数据库(每个节点包含 ESB 和 MB 配置文件)

How many and what databases I have to create for a WSO2 EI two node cluster like this (each node contains ESB and MB profiles)

我正在安装一个 WSO2 EI 双节点集群,我对必须创建的数据库数量有一些疑问。

我会尽力解释我的情况:我正在使用 WSO2 EI 6.5.0

我有两个节点集群。每个节点都包含 ESBMB 配置文件。我将在 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 配置文件所需的数据库的信息。 特别是 ESB 配置文件需要创建这 4 个数据库:

MB 配置文件需要以下 5 个数据库:

因此 ESBMB 配置文件之间的前 4 个数据库似乎相同,并且 MB 配置文件使用名为 MB_DB.

的成瘾数据库

这里我有疑问:在我遇到的情况下(2 个节点集群都包含 ESBMB 配置文件) 我必须创建多少个数据库?

我最初的想法是 5 个数据库,因为我认为前 4 个数据库在 ESBMB 配置文件之间共享,但现在我有以下疑问:理论上(如果我做错了断言,请纠正我)ESB 和 MB 都可以使用相同的用户数据库和注册表,但检查默认值 H2设置我们有:

所以理论上应该是说最好不要在profile/products之间混用数据库。

那么我到底应该怎么做?我必须创建多少个数据库?

我现在在想,也许我必须使用前缀将 ESBMB 配置文件数据库完全分开,如下所示:

ESB 配置文件数据库:我必须创建这 4 个数据库:

MB 配置文件数据库:我必须创建这 5 个数据库;

这会是一个好的解决方案吗?但是通过这种方式,我将拥有完全独立的数据库,而不是为用户和注册表共享信息。

在像我这样的双节点集群的情况下,最佳实践是什么?

谢谢

正如您所说,保留单独的数据库是可以的。通常所做的是创建带有您提到的前缀的数据库。

但是,假设只有一组用户将同时访问 ESB 和 MB,那么您可以继续从这两个产品指向一个 userdb(意味着所有四个实例 运行在 2 个节点中)。

关于注册表数据库,假设您有一个需要从 ESB 和 MB 访问的配置文件,那么您必须共享一个 registry_db(并且还必须遵循正确的注册表安装/查看文档)。 如果没有这种情况,最好单独保存数据库。

底线:只要 ESB 和 MB 内部没有什么可共享的,最好维护一组单独的数据库。您只需要遵循集群,只在同一产品的实例之间共享数据库。

干杯!