在集群中共享配置
Share config in cluster
如何在处于故障转移模式的集群中共享配置文件?
我不想编辑集群中每台服务器上的 artemis-user.properties
、artemis-role.properties
和 broker.xml
文件。
集群设置:
- 安全启用:真
- 启用持久性:真
- 从主服务器使用的分页目录、绑定目录、日志目录、大消息目录
这样的安全设置:
<security-setting match="clusterQueue">
<permission type="createNonDurableQueue" roles="amq"/>
<permission type="deleteNonDurableQueue" roles="amq"/>
<permission type="createDurableQueue" roles="amq"/>
<permission type="deleteDurableQueue" roles="amq"/>
<permission type="createAddress" roles="amq"/>
<permission type="deleteAddress" roles="amq"/>
<permission type="consume" roles="amq"/>
<permission type="browse" roles="amq"/>
<permission type="send" roles="amq"/>
<!-- we need this otherwise ./artemis data imp wouldn't work -->
<permission type="manage" roles="amq"/>
</security-setting>
有可能吗?
ActiveMQ Artemis 不提供任何在集群成员之间共享配置的自动化方式。但是,由于您引用的所有配置都是基于文本的,因此使用标准工具 and/or 基础架构将其复制到您的代理应该相当简单。例如,您可以使用 SCP 复制文件,创建一个共享的 NFS 挂载等。
即使在同构集群中,配置文件中的小差异也是很常见的(例如 cluster-connection
、acceptor
等)。在这种情况下,您可以使用系统 属性 替换(在 documentation 中引用)从每个需要自定义的代理中提取位,然后在 artemis.profile
中设置它们,例如:
JAVA_ARGS="$JAVA_ARGS -DmyAcceptor=tcp://192.168.1.10:61616"
然后在您的 broker.xml
中引用该系统 属性,例如:
<acceptor name="netty-acceptor">${myAcceptor}</acceptor>
通过这种方式,您可以在所有经纪人之间共享相同的 broker.xml
,但每个经纪人都可以拥有自己的 artemis.profile
以及每个经纪人需要的唯一值。
如何在处于故障转移模式的集群中共享配置文件?
我不想编辑集群中每台服务器上的 artemis-user.properties
、artemis-role.properties
和 broker.xml
文件。
集群设置:
- 安全启用:真
- 启用持久性:真
- 从主服务器使用的分页目录、绑定目录、日志目录、大消息目录
这样的安全设置:
<security-setting match="clusterQueue">
<permission type="createNonDurableQueue" roles="amq"/>
<permission type="deleteNonDurableQueue" roles="amq"/>
<permission type="createDurableQueue" roles="amq"/>
<permission type="deleteDurableQueue" roles="amq"/>
<permission type="createAddress" roles="amq"/>
<permission type="deleteAddress" roles="amq"/>
<permission type="consume" roles="amq"/>
<permission type="browse" roles="amq"/>
<permission type="send" roles="amq"/>
<!-- we need this otherwise ./artemis data imp wouldn't work -->
<permission type="manage" roles="amq"/>
</security-setting>
有可能吗?
ActiveMQ Artemis 不提供任何在集群成员之间共享配置的自动化方式。但是,由于您引用的所有配置都是基于文本的,因此使用标准工具 and/or 基础架构将其复制到您的代理应该相当简单。例如,您可以使用 SCP 复制文件,创建一个共享的 NFS 挂载等。
即使在同构集群中,配置文件中的小差异也是很常见的(例如 cluster-connection
、acceptor
等)。在这种情况下,您可以使用系统 属性 替换(在 documentation 中引用)从每个需要自定义的代理中提取位,然后在 artemis.profile
中设置它们,例如:
JAVA_ARGS="$JAVA_ARGS -DmyAcceptor=tcp://192.168.1.10:61616"
然后在您的 broker.xml
中引用该系统 属性,例如:
<acceptor name="netty-acceptor">${myAcceptor}</acceptor>
通过这种方式,您可以在所有经纪人之间共享相同的 broker.xml
,但每个经纪人都可以拥有自己的 artemis.profile
以及每个经纪人需要的唯一值。