我必须为这样的 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。
我有两个节点集群。每个节点都包含 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 配置文件所需的数据库的信息。
特别是 ESB 配置文件需要创建这 4 个数据库:
- WSO2_USER_DB: JDBC 用户存储和授权管理器。
- REGISTRY_DB: 产品节点中用于配置和治理注册表安装的共享数据库。
- REGISTRY_LOCAL1: 节点 1 中的本地注册表 space。
- REGISTRY_LOCAL2: 节点 2 中的本地注册表 space。
而 MB 配置文件需要以下 5 个数据库:
- WSO2_USER_DB: JDBC 用户存储和授权管理器。
- REGISTRY_DB: 产品节点中用于配置和治理注册表安装的共享数据库。
- REGISTRY_LOCAL1: 节点 1 中的本地注册表 space。
- REGISTRY_LOCAL2: 节点 2 中的本地注册表 space。
- MB_DB: 存储特定于消息代理配置文件的实例数据。
因此 ESB 和 MB 配置文件之间的前 4 个数据库似乎相同,并且 MB 配置文件使用名为 MB_DB.
的成瘾数据库
这里我有疑问:在我遇到的情况下(2 个节点集群都包含 ESB 和 MB 配置文件) 我必须创建多少个数据库?
我最初的想法是 5 个数据库,因为我认为前 4 个数据库在 ESB 和 MB 配置文件之间共享,但现在我有以下疑问:理论上(如果我做错了断言,请纠正我)ESB 和 MB 都可以使用相同的用户数据库和注册表,但检查默认值 H2设置我们有:
- ESB 配置文件使用一个数据库放置在 /usr/lib/wso2/wso2ei/6.5.0/repository/database/
- MB 配置文件使用一个数据库放置在 /usr/lib/wso2/wso2ei/6.5.0/wso2/broker/repository/database/
所以理论上应该是说最好不要在profile/products之间混用数据库。
那么我到底应该怎么做?我必须创建多少个数据库?
我现在在想,也许我必须使用前缀将 ESB 和 MB 配置文件数据库完全分开,如下所示:
ESB 配置文件数据库:我必须创建这 4 个数据库:
- ESB_WSO2_USER_DB
- ESB_REGISTRY_DB
- ESB_REGISTRY_LOCAL1
- ESB_REGISTRY_LOCAL2
MB 配置文件数据库:我必须创建这 5 个数据库;
- MB_WSO2_USER_DB
- MB_REGISTRY_DB
- MB_REGISTRY_LOCAL1
- MB_REGISTRY_LOCAL2
- WSO2_MB(特定于 MB 配置文件,因此我没有使用冗余后缀)
这会是一个好的解决方案吗?但是通过这种方式,我将拥有完全独立的数据库,而不是为用户和注册表共享信息。
在像我这样的双节点集群的情况下,最佳实践是什么?
谢谢
正如您所说,保留单独的数据库是可以的。通常所做的是创建带有您提到的前缀的数据库。
但是,假设只有一组用户将同时访问 ESB 和 MB,那么您可以继续从这两个产品指向一个 userdb(意味着所有四个实例 运行在 2 个节点中)。
关于注册表数据库,假设您有一个需要从 ESB 和 MB 访问的配置文件,那么您必须共享一个 registry_db(并且还必须遵循正确的注册表安装/查看文档)。
如果没有这种情况,最好单独保存数据库。
底线:只要 ESB 和 MB 内部没有什么可共享的,最好维护一组单独的数据库。您只需要遵循集群,只在同一产品的实例之间共享数据库。
干杯!
我正在安装一个 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 配置文件所需的数据库的信息。 特别是 ESB 配置文件需要创建这 4 个数据库:
- WSO2_USER_DB: JDBC 用户存储和授权管理器。
- REGISTRY_DB: 产品节点中用于配置和治理注册表安装的共享数据库。
- REGISTRY_LOCAL1: 节点 1 中的本地注册表 space。
- REGISTRY_LOCAL2: 节点 2 中的本地注册表 space。
而 MB 配置文件需要以下 5 个数据库:
- WSO2_USER_DB: JDBC 用户存储和授权管理器。
- REGISTRY_DB: 产品节点中用于配置和治理注册表安装的共享数据库。
- REGISTRY_LOCAL1: 节点 1 中的本地注册表 space。
- REGISTRY_LOCAL2: 节点 2 中的本地注册表 space。
- MB_DB: 存储特定于消息代理配置文件的实例数据。
因此 ESB 和 MB 配置文件之间的前 4 个数据库似乎相同,并且 MB 配置文件使用名为 MB_DB.
的成瘾数据库这里我有疑问:在我遇到的情况下(2 个节点集群都包含 ESB 和 MB 配置文件) 我必须创建多少个数据库?
我最初的想法是 5 个数据库,因为我认为前 4 个数据库在 ESB 和 MB 配置文件之间共享,但现在我有以下疑问:理论上(如果我做错了断言,请纠正我)ESB 和 MB 都可以使用相同的用户数据库和注册表,但检查默认值 H2设置我们有:
- ESB 配置文件使用一个数据库放置在 /usr/lib/wso2/wso2ei/6.5.0/repository/database/
- MB 配置文件使用一个数据库放置在 /usr/lib/wso2/wso2ei/6.5.0/wso2/broker/repository/database/
所以理论上应该是说最好不要在profile/products之间混用数据库。
那么我到底应该怎么做?我必须创建多少个数据库?
我现在在想,也许我必须使用前缀将 ESB 和 MB 配置文件数据库完全分开,如下所示:
ESB 配置文件数据库:我必须创建这 4 个数据库:
- ESB_WSO2_USER_DB
- ESB_REGISTRY_DB
- ESB_REGISTRY_LOCAL1
- ESB_REGISTRY_LOCAL2
MB 配置文件数据库:我必须创建这 5 个数据库;
- MB_WSO2_USER_DB
- MB_REGISTRY_DB
- MB_REGISTRY_LOCAL1
- MB_REGISTRY_LOCAL2
- WSO2_MB(特定于 MB 配置文件,因此我没有使用冗余后缀)
这会是一个好的解决方案吗?但是通过这种方式,我将拥有完全独立的数据库,而不是为用户和注册表共享信息。
在像我这样的双节点集群的情况下,最佳实践是什么?
谢谢
正如您所说,保留单独的数据库是可以的。通常所做的是创建带有您提到的前缀的数据库。
但是,假设只有一组用户将同时访问 ESB 和 MB,那么您可以继续从这两个产品指向一个 userdb(意味着所有四个实例 运行在 2 个节点中)。
关于注册表数据库,假设您有一个需要从 ESB 和 MB 访问的配置文件,那么您必须共享一个 registry_db(并且还必须遵循正确的注册表安装/查看文档)。 如果没有这种情况,最好单独保存数据库。
底线:只要 ESB 和 MB 内部没有什么可共享的,最好维护一组单独的数据库。您只需要遵循集群,只在同一产品的实例之间共享数据库。
干杯!