這兩天公司MQ出現一個怪現象,有三臺MQ server 其中一臺死掉后
consumer不會到其它兩臺消費,這個問題后來發現是配置的問題
在brokerURL只配置了一個brokerURL,所以容器啟動時只會建立一個連接
當這個連接掛掉后 就只能等待這個連接重啟后才能執行。
jms.brokerUrl=failover\:(tcp\://ip1\:61616?wireFormat.maxInactivityDurationInitalDelay\=30000,tcp\://ip2\:61616?
wireFormat.maxInactivityDurationInitalDelay\=30000)?
jms.useAsyncSend\=true&randomize\=true&initialReconnectDelay\=50&maxReconnectAttempts\=1&timeout\=1000&backup=true
屬性 backup的作用 官方解釋:
如果backup=true,并且the URIs to use for reconnect from the list provided的數量大于一個的情況下,broker將會維護著兩個連接,其中一個作為備份,在主連接出現故障時實現快速切換
這里的故障不一定是死機 也可以是消費過慢 消息就發送到另一臺server上
consumer不會到其它兩臺消費,這個問題后來發現是配置的問題
在brokerURL只配置了一個brokerURL,所以容器啟動時只會建立一個連接
當這個連接掛掉后 就只能等待這個連接重啟后才能執行。
jms.brokerUrl=failover\:(tcp\://ip1\:61616?wireFormat.maxInactivityDurationInitalDelay\=30000,tcp\://ip2\:61616?
wireFormat.maxInactivityDurationInitalDelay\=30000)?
jms.useAsyncSend\=true&randomize\=true&initialReconnectDelay\=50&maxReconnectAttempts\=1&timeout\=1000&backup=true
屬性 backup的作用 官方解釋:
如果backup=true,并且the URIs to use for reconnect from the list provided的數量大于一個的情況下,broker將會維護著兩個連接,其中一個作為備份,在主連接出現故障時實現快速切換
這里的故障不一定是死機 也可以是消費過慢 消息就發送到另一臺server上