關於消息服務的集羣,大概分爲Consumer集羣(消費者集羣)和Broker集羣(消息服務器集羣)兩種。
ActiveMQ提供了一種叫做失效轉移(也叫故障轉移,FailOver)的策略。失效轉移提供了在傳輸層上重新連接到其他任何傳輸器的功能。使用它很簡單,只需要在uri中配置就行了
Failover:(uri1.....n)
如果某個ActiveMQ客戶端發現uri1地址失效了,它會立即轉向uri地址列表中其他可以連接的消息服務器進行重連,以保證繼續正常工作,請注意,並不是uri1失效了就會選則uri2重連,這種選擇其他地址的方式默認是隨機的,以保證負載均衡
如果activemq集羣全部宕機
ActiveMQ提供了消息傳輸監聽(transportListener),可以對ActiveMQConnectionFactory添加一個Activemq的消息傳輸監聽,該監聽實現 Activemq的TransportListener接口。
當發現服務器無法連接時,就採取相應措施,如把消息存儲在本地,當服務器恢復時再進行發送。