繁体   English   中英

ActiveMQ Artemis:内部和外部 IP 地址

[英]ActiveMQ Artemis: Internal and external IP addresses

我们在 Kubernetes 集群中运行 ActiveMQ Artemis 集群。 我们在 Kubernetes 集群中运行的所有应用程序(Java/Springboot/JMS)都利用了直接连接到代理实例的优势。

但是,来自 Kubernetes Pod 网络的 IP 地址在集群外不可用。 将代理实例暴露给公共网络是可能的——但使用不同的 IP 地址。 这类似于将 Artemis 集群隐藏在 NAT 配置后面。 当通过公共 IP 地址连接到代理时,客户端应用程序会收到包含集群外无法访问的 IP 地址(或主机名?)的集群拓扑信息。

有没有办法处理“内部”和“外部”IP 地址和/或主机名,并使拓扑发现适用于集群外部应用程序?

并且,相关(我不是 Java 开发人员):有没有办法记录收到的 JMS 应用程序的拓扑信息?

您不能依赖外部客户端的拓扑发现。 您可以做的是提供外部 ips 列表或在集群前面有一个路由器/负载均衡器。

ActiveMQ Artemis CORE 客户端提供了useTopologyForLoadBalancing url 参数来禁止使用集群拓扑信息进行负载均衡,即

tcp://localhost:61616?useTopologyForLoadBalancing=false

可以在logging.properties文件中为org.apache.activemq.artemis.core.protocol.core logger 设置TRACE启用集群拓扑信息的日志,参见文档,即

loggers=...,org.apache.activemq.artemis.core.protocol.core

logger.org.apache.activemq.audit.message.level=TRACE

handler.CONSOLE.level=TRACE

handler.FILE.level=TRACE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM