ActiveMe Server 处理消息

1:服务器接受生产者发送的消息时,先判断是否有足够内存,然后判断是否需要持久化,还要判断是否要事物支持。

2:如果内存够,消息最终会放到PendingMessageCursor得发送队列

3:如果开启事物,但消息发送到server先临时存起来,再客户端发送commit到server时,再把消息放入得发送队列

4:如果内存接近饱和,server会发送消息给producer发送消息太快了

5:当服务端的内存不够时会把消息放到messagesWaitingForSpace里面,等到内存空闲就会通过iterate方法发送出去,如果消息再等待过程过期了就会向生产者发送异常消息

6:当有消费者时,消息保存到消费者的待发队列里等待发给消费者

猜你喜欢

转载自xuyunti.iteye.com/blog/2246438