微服务通信与开发全解析
1. 异步消息系统
在集群的多个代理(brokers)中,有一个代理充当集群控制器,负责集群管理操作,如为代理分配分区、检测代理故障等。每个分区会分配给多个代理,且每个分区都有一个主代理。由于分区在多个代理间复制,并且在现有分区主代理不可用时能指定新的主代理,Kafka消息传递具有高可用性(Kafka大多使用Zookeeper进行协调任务)。
通过集群化,Kafka变得更强大,能大规模扩展异步消息传递能力。
除了Kafka,还有其他一些代理,如ActiveMQ和RabbitMQ,它们能为简单到中等规模的异步消息场景提供相同的发布 - 订阅消息功能。但如果需要一个完全分布式且可扩展的异步消息基础设施,Kafka是不错的选择。基于Kafka构建了各种异步消息和事件流处理解决方案,如Confluent开源平台,可为微服务实现提供额外功能。
| 消息代理 | 适用场景 |
|---|---|
| Kafka | 完全分布式且可扩展的异步消息基础设施 |
| ActiveMQ | 简单到中等规模的异步消息场景 |
| RabbitMQ | 简单到中等规模的异步消息场景 |
2. 其他异步通信协议
还有一些未详细讨论的异步消息协议,如MQTT、
超级会员免费看
订阅专栏 解锁全文
170万+

被折叠的 条评论
为什么被折叠?



