概述
优点:
异步处理、削峰填谷、服务解耦
缺点:
延迟问题、复杂度、数据不一致
基础
-
rabbitmq(Exchange +队列)
同一份消息如果需要被多个消费者来消费,需要配置 Exchange 将消息发送到多个队列,
每个队列中都存放一份完整的消息数据,可以为一个消费者提供消费服务。
RocketMQ 为每个消费组在每个队列上维护一个消费位置
-
rocketmq(主题+队列)
-
kafka(主题+分区)
kafka的分区就是rocket的队列
Topic可以被分成若干分区分布于kafka集群中,方便扩容
5. Pulsar
在 Pulsar 的 Broker 中既不保存元数据,也不存储消息,存储计算分离
进阶
mq主要是io密集型的系统,io包含磁盘io和网络io,这里主要是网络io