我試圖讓RabbitMQ配置在F5負載均衡器後面。我有一個工作的RabbitMQ節點,其默認節點名稱爲rabbit @%computername%。它設置爲偵聽所有網絡接口(所有IP地址爲0.0.0.0:5671,這是AMQP SSL端口),並且工作正常。但是,連接到它的所有客戶端應用程序當前正在使用特定的節點名稱,例如「%計算機%」。爲了利用負載平衡器的容錯能力,我想更新所有客戶端應用程序以使用負載平衡名稱而不是特定節點名稱,例如使用HostName =「balancedname.mycompany.com」而不是「%computername%」連接。但是,當我更新我的客戶端應用程序以連接到負載平衡名稱時,連接失敗。我怎樣才能使這個工作?帶F5負載均衡器的RabbitMQ
我是F5的新手,我注意到池的成員地址是IP地址...應該是節點名稱而不是IP嗎?甚至有可能看到節點名稱可能完全是任意的,並不一定映射到任何網絡可解析的東西?我處於託管狀態,因爲我沒有對F5的寫入權限,所以嘗試這些事情有點棘手。
我在負載平衡RabbitMQ設置上一直沒有找到非常多的信息。我明白,所有RabbitMQ隊列只存在於一個節點上,我已經將F5設置爲主動 - 被動模式,這樣流量總是會路由到主節點,除非它停止。
更新1:看來,this issue回來咬我這裏。我使用SSL證書進行EXTERNAL身份驗證,並且由於客戶端使用負載平衡名稱而不是節點名稱進行連接,並且負載平衡名稱未用於創建證書,所以它拒絕了連接。我最終重新生成了證書並使用了負載平衡名稱,但這還不夠 - 我還必須在Windows主機文件中添加一個條目,以將127.0.0.1和:: 1映射到負載平衡DNS地址。
更新2:更新1僅解決連接問題,用於在作爲負載平衡器一部分的應用程序服務器上運行客戶端應用程序,但遠程客戶端無法工作。內部例外說「證書鏈是由不受信任的權威機構頒發的」。 RabbitMQ + SSL很難。而增加負載平衡使其更加困難。