6
您好我創建EC2如何在RabbitMQ集羣中進行負載分配?
我想向外擴展CPU利用率的RabbitMQ集羣基地,但是當我發佈消息只有一臺服務器使用的CPU和其他的RabbitMQ服務器不使用CPU
羣集連續3個RabbitMQ的服務器所以我怎樣才能在整個RabbitMQ集羣上分配負載
您好我創建EC2如何在RabbitMQ集羣中進行負載分配?
我想向外擴展CPU利用率的RabbitMQ集羣基地,但是當我發佈消息只有一臺服務器使用的CPU和其他的RabbitMQ服務器不使用CPU
羣集連續3個RabbitMQ的服務器所以我怎樣才能在整個RabbitMQ集羣上分配負載
RabbitMQ集羣旨在提高可伸縮性,但系統並非完全自動化。
當您在羣集中的節點上聲明隊列時,隊列僅在該節點上創建。所以,如果你有一個隊列,不管你發佈了哪個節點,這個消息將最終在隊列所在的節點上。
要正確使用RabbitMQ的集羣,你需要確保你做以下事情:
或者,看看High Availability Queues。它們像普通的隊列,但隊列內容鏡像在多個節點上。因此,對於您的情況,您將發佈到一個節點,RabbitMQ會將發佈鏡像到另一個節點,消費者將能夠連接到任一節點,而無需擔心內部傳輸導致羣集停滯。
你好,scvalex。爲「有多個隊列分佈在各個節點上,這樣工作分佈有點均勻」,是否需要添加一個linux服務器來運行負載平衡器程序來解決程序?或者必須更改應用程序的源代碼以將「rabbitmq」所有節點的名稱信息添加到程序以實現負載平衡? –
我會說「更改應用程序的源代碼以添加'rabbitmq'所有節點名稱信息以便爲負載平衡編程」,但也有一些人使用負載均衡器成功。 – scvalex
找到你的文章之前,我認爲rabbitmq非常強大。但在此之後,我認爲它不像你所說的那樣是自動的。這並不容易使用。 –