公众号
中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:
Web服务器
代理服务器
ZooKeeper
Kafka
RabbitMQ(本章节)
RabbitMQ 是一个开源的消息代理(Message Broker)软件,基于 AMQP(Advanced Message Queuing Protocol)协议实现,用于在分布式系统中实现高效、可靠的消息传递。它由 Erlang 语言编写,以高并发、高可靠性和可扩展性著称,广泛应用于微服务架构、异步任务处理、应用解耦等场景。具备下面的核心功能。
在分布式系统中,直接调用(如 HTTP 请求)可能导致以下问题:
消息队列通过异步通信和缓冲机制解决了这些问题:生产者发送消息到队列后即可返回,消费者按自身能力处理消息。即使消费者暂时不可用,消息仍能存储在队列中,避免数据丢失。