[英]Kubernetes Pods intercommunication with internal/external IP addresses
[英]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.