進(jìn)程A訂閱A事件,進(jìn)程B訂閱B事件,客戶端定時(shí)發(fā)消息給進(jìn)程A,進(jìn)程A發(fā)布B事件,進(jìn)程B收到B事件再發(fā)布A事件。
現(xiàn)在客戶端數(shù)量和發(fā)送頻率高了以后,用status看channel_server,進(jìn)程B發(fā)布A事件時(shí)會(huì)出現(xiàn)大量send_fail
channel可以看作是要給內(nèi)存隊(duì)列,訂閱者消費(fèi)速度長(zhǎng)時(shí)間低于生產(chǎn)速度,消息就會(huì)積壓在內(nèi)存,但是內(nèi)存做不到無(wú)限存儲(chǔ)。所以當(dāng)緩沖區(qū)滿(大小可設(shè)置,參見發(fā)送緩沖區(qū))了就會(huì)出現(xiàn)send_fail。解決辦法降低生產(chǎn)速度或者讓消費(fèi)速度高于生產(chǎn)速度。