logo
Architecture Patterns

Message Brokers

消息代理的作用

Message broker 是一种软件,用于让应用、系统、服务之间通信并交换信息。它通过在不同消息协议之间进行转换,让不同语言或平台的服务也能直接“对话”。

message-broker

Message brokers 可以 validate、store、route、deliver 消息到正确目的地。它们作为中间人,让 sender 不必知道 receiver 在哪、是否在线、或者有多少个 receiver,从而实现服务解耦。

Models

Message brokers 常见两种分发模式:

后面会详细讨论这些模式。

Message brokers vs Event streaming

Message brokers 可以支持多种模式(queue + pub/sub),而 event streaming 平台通常只提供 pub/sub。Event streaming 适合高吞吐,支持把 records 按 topics 分类并保存一段时间。

但与 message broker 不同,event streaming 平台通常无法保证消息投递或追踪哪个 consumer 已消费,容错机制也更少。

Event streaming 更易扩展,但在 message retry、routing、queue 能力上弱于 message brokers。

Message brokers vs ESB

Enterprise Service Bus (ESB) 基础设施复杂、难集成、维护昂贵。生产环境出问题时难排查,不易 scale,更新也麻烦。

Message brokers 则是 ESB 的轻量替代,提供类似的 inter-service 通信能力但成本更低,也更适合现代 microservices architectures

Examples

常见 message brokers:

相关练习题

Message Brokers

暂无相关练习题