文章列表: 1 篇
2022-10-15
分布式消息队列
2022-10-15 ~ 2022-10-15

一、消息队列的演进

分布式消息队列中间件是大型分布式系统中常见的中间件。消息队列主要用来解决应用耦合异步消息流量削峰等问题,具有高性能、高可用、可伸缩和最终一致性等特点。消息队列已经逐渐成为企业应用系统内部通信的核心手段,使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、Pulsar等,此外,利用数据库(如Redis、MySQL等)也可实现消息队列的部分基本功能。

1.基于OS的MQ

单机消息队列可以通过操作系统原生的进程间通信机制来实现,如消息队列、共享内存等。比如我们可以在共享内存中维护一个双端队列,消息产出进程不停地往队列里添加消息,同时消息消费进程不断地从队尾取出这些消息。添加消息的任务称为producer,取出消息的称为consumer。 单机MQ易于实现,但是缺点明显:依赖于单机OS的IPC(进程间通信)机制。无法实现分布式的消息传递,并且消息队列的容量也受限于单机资源