RocketMQ:設置broker的對外IP


背景

最近在公司遇到這么一個問題:我在測試環境中搭建了一套RocketMQ,開發想要使用本機連接進行生產消費的測試,但是發現服務無法正常訪問,報如下錯誤:

send heart beat to broker error {"fields": {"underlayError":{"Op":"dial","Net":"tcp","Source":null,"Addr":{"IP":"10.13.10.29","Port":10911,"Zone":""},"Err":{}}}}

分析

這個錯誤指的是本機向broker服務(10.13.10.29)發生心跳失敗。開發嘗試去telnet這個ip和端口,發現確實無法訪問。然后我去雲平台上查了一下這個broker機器,其ip為10.13.10.29,屬於內網段ip,外界網絡無法直接訪問此ip。

解決方法

由於這台broker機器已綁定了外網IP,那是不是給broker服務配置一下外網IP就可以了呢?

於是我查了下broker的配置文件,發現確實有兩個配置項可以做到:

brokerIP1:當前broker監聽的IP。

brokerIP2:broker為master-slave模式時,broker的從節點通過brokerIP2和主節點進行連接。

如下圖:我給broker配置brokerIP1為外網IP。

然后,重啟broker服務。

這時候本機再通過nameserver去連接broker進行生產消費,就不會報ip和端口無法連上的問題了。

博主:測試生財(一個不為996而996的測開碼農)

座右銘:專注測試開發與自動化運維,努力讀書思考寫作,為內卷的人生奠定財務自由。

內容范疇:技術提升,職場雜談,事業發展,閱讀寫作,投資理財,健康人生。

csdn:https://blog.csdn.net/ccgshigao

博客園:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374

微信公眾號:測試生財(定期分享獨家內容和資源)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM