https://zhuanlan.zhihu.com/p/46421050
- nsq:https://zhuanlan.zhihu.com/p/46201859
- 消息中间件:消费者订阅topic,消费者组channel(一个服务的多个实例,在一个channel里,其中一个消费了消息就可以),消费者发现(需要nsqlookup,同时兼具负载均衡能力,选择这个消息,组里哪一个消费者),
- 消费过程https://zhuanlan.zhihu.com/p/46412848:消费者一直去nsqd上找topic,即使生产者没有;生产者建一个topic注册到nsqd;消费者的channel自动在nsqd上注册;一个消息,复制给这个topic下面的每个channel
- 特点:https://zhuanlan.zhihu.com/p/46415489 push+内存存储(机器崩了,消息是不是丢了);至少一次;消息无序;一个机器,一旦坏掉,消息丢失
- 总结https://zhuanlan.zhihu.com/p/46417568
- kafka
- https://zhuanlan.zhihu.com/p/46421050 ZK做服务发现;磁盘持久化存储;pull(有时延,但是消费者主动做了流控,消费者咋知道现在有没有新消息,一直pull??浪费不);partition备份了消息,不会丢失;可以有序(只有一个消费者,消费一个partition);至多一次,至少一次,准确一次