进程A订阅A事件,进程B订阅B事件,客户端定时发消息给进程A,进程A发布B事件,进程B收到B事件再发布A事件。 现在客户端数量和发送频率高了以后,用status看channel_server,进程B发布A事件时会出现大量send_fail
channel可以看作是要给内存队列,订阅者消费速度长时间低于生产速度,消息就会积压在内存,但是内存做不到无限存储。所以当缓冲区满(大小可设置,参见发送缓冲区)了就会出现send_fail。解决办法降低生产速度或者让消费速度高于生产速度。
感谢解答
意思是在channel client中设置缓冲区大小吗?
设置全局的 defaultMaxSendBufferSize
ok
channel可以看作是要给内存队列,订阅者消费速度长时间低于生产速度,消息就会积压在内存,但是内存做不到无限存储。所以当缓冲区满(大小可设置,参见发送缓冲区)了就会出现send_fail。解决办法降低生产速度或者让消费速度高于生产速度。
感谢解答
意思是在channel client中设置缓冲区大小吗?
设置全局的 defaultMaxSendBufferSize
ok