我必须为这样的WSO2-EI双节点集群创建多少个数据库以及创建什么数据库(每个节点都包含ESB和MB概要文件)



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

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

我有两个节点集群。每个节点都包含ESBMB配置文件。我将在MicrosoftSQLServer集群数据库上创建所需的数据库。

所以我有这样的情况:

节点1:ESB和MB

节点2:ESB和MB

阅读官方文件:

集群WSO2 ESB配置文件:https://docs.wso2.com/display/EI650/Clustered+部署

集群WSO2 MB配置文件:https://docs.wso2.com/display/EI650/Clustering++消息+经纪人+档案

我可以找到ESB和MB概要文件所需的DB的信息。特别是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:存储特定于消息代理配置文件的实例数据

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

MB_DB我的疑问是:在像我这样的情况下(两个节点的集群都包含ESBMB配置文件),我必须创建多少数据库?

我最初的想法是5个数据库,因为我认为前4个数据库在ESBMB配置文件之间共享,但现在我有以下疑问:理论上(如果我做了错误的断言,请纠正我)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/中的一个数据库

因此,从理论上讲,这应该意味着最好不要在配置文件/产品之间混合数据库。

那么我到底该怎么办呢?我必须创建多少个数据库和什么数据库?

我现在想,也许我必须使用前缀完全分离ESBMB概要文件数据库,类似于以下内容:

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配置文件,因此我不使用冗余后缀)

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

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

谢谢

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

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

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

一句话:只要ESB和MB之间没有任何内部共享,最好维护一组单独的数据库。您只需要遵循集群并仅在同一产品的实例之间共享数据库。

干杯!

最新更新