我正在安装一个 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 中的本地注册表空间。
- REGISTRY_LOCAL2:节点 2 中的本地注册表空间。
而MB配置文件需要以下 5 个数据库:
- WSO2_USER_DB: JDBC 用户存储和授权管理器。
- REGISTRY_DB:用于配置和治理注册表安装在产品节点中的共享数据库。
- REGISTRY_LOCAL1:节点 1 中的本地注册表空间。
- REGISTRY_LOCAL2:节点 2 中的本地注册表空间。
- 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/中的数据库
所以理论上这应该意味着最好不要在配置文件/产品之间混合数据库。
那我到底应该怎么做?我必须创建多少和哪些数据库?
我现在在想,也许我必须使用前缀完全分离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配置文件,所以我没有使用冗余后缀)
这会是一个好的解决方案吗?但是通过这种方式,我将拥有完全独立的数据库,而不是为用户和注册表共享信息。
在像我这样的两个节点集群的情况下,最佳实践是什么?
谢谢