X Tutup
Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 3.12 KB

File metadata and controls

31 lines (21 loc) · 3.12 KB

为什么使用MQ?MQ的优点

  • 异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。
  • 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。
  • 流量削锋 - 可以通过消息队列长度控制请求量;可以缓解短时间内的高并发请求。
  • 日志处理 - 解决大量日志传输。
  • 消息通讯 - 消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等

Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?

RabbitMQ ActiveMQ RocketMQ Kafka
所属社区/公司 Rabbit Apache Ali Apache
开发语言 Erlang Java Java Scala&Java
多语言支持 语言无关 支持,Java优先 Java 支持,Java优先
消息推拉模式 多协议,Pull/Push均支持 多协议,Pull/Push均支持 多协议,Pull/Push均支持 Pull
HA master/slave模式,master提供服务,slave仅作备份 基于zookeeper+levelDB的master-slave实现方式 支持多master模式、多master多slave模式、异步复制模式、 支持replica机制。leader宕掉后,备份自动顶替,并重选leader
事务 不支持 支持 支持 不支持,可通过Low Level API保证仅消费一次
集群 支持 支持 支持 支持
负载均衡 支持 支持 支持 支持

MQ 有哪些常见问题?如何解决这些问题?

MQ 的常见问题有:

  1. 消息的顺序问题
  2. 消息的重复问题
X Tutup