认识消息Broker

什么是消息Broker?

消息Broker是一种位于发送者和接收者之间的中间件(在分布式系统中起到关键作用),它充当了消息的中转站,负责接收发送者发送的消息并将其传递给相应的接收者,消息可以是任何形式的数据,如文本、JSON、XML等,它使得应用程序可以异步地进行通信,解耦了发送者和接收者之间的直接依赖关系。

消息Broker代表了一种在应用程序之间传递消息的通信模式和架构思想,可以通过特定的软件或服务来实现的,例如RabbitMQ、Apache Kafka、ActiveMQ、RocketMQ 等

--------------------------

工作原理:

1. 发送者发送消息:发送者将消息发送到消息Broker,发送者无需知道消息具体发送给哪个接收者,只需将消息发送到指定的队列或主题中。

2. 消息存储与路由:消息Broker接收到消息后,会将其存储在内部的消息队列中,消息队列可以根据预定义的规则进行消息路由,确保消息能够被正确地发送给相应的接收者。

3. 接收者获取消息:接收者可以从消息Broker中获取消息。它可以订阅特定的队列或主题,以接收感兴趣的消息。一旦有新消息到达,接收者就可以获取并进行处理。

4. 消息确认与持久化:一旦接收者成功处理了消息,它可以向消息Broker发送确认,表示消息已被处理。消息Broker会相应地更新消息的状态。此外,消息Broker通常还提供消息持久化的功能,确保即使在消息发送或接收过程中出现故障,消息也能被保存下来,以保证可靠性。

--------------------------

作用

1. 解耦性:通过使用消息Broker,发送者和接收者之间的直接依赖关系被解耦。发送者只需将消息发送到Broker,而无需关心具体的接收者。这种解耦性使得系统更加灵活、可扩展,并且能够更好地应对变化。

2. 异步通信:消息Broker使得应用程序能够以异步的方式进行通信。发送者可以继续执行其他任务,而无需等待接收者的响应。这种异步通信模式可以提高系统的性能和吞吐量。

3. 可靠性传递:消息Broker通常提供消息持久化的功能,确保消息在发送或接收过程中不会丢失。即使在发送者或接收者出现故障时,消息也能被安全地保存在Broker中,待系统恢复正常后再进行处理。

4. 削峰填谷:通过使用消息队列,可以平衡系统中的负载。当系统面临高峰时,消息队列可以暂时存储大量的消息,避免系统过载。而在低峰期,接收者可以按照自己的处理能力逐步消费消息,实现资源的有效利用。

你可能感兴趣的:(RabbitMQ,rabbitmq)