Apache Kafka 架构和相关概念 Apache Kafka 是一款开源的 分布式 消息引擎系统 消息引擎的同类 ActiveMQ RabbitMQ WebSphere MQ Rocket MQ JMS仅仅是一组 API 协议 消息引擎的作用 削峰填谷 缓冲上下游瞬时突发流量,使其更平滑.特别是对于那种发送能力很强的上游系统,如果没有消息引擎的保护,“脆弱”的下游系统可能会直接被压垮导致全链路服务“雪崩”。 但是,一旦有了消息引擎,它能够有效地对抗上游的流量冲击,真正做到将上游的“峰”填满到“谷”中,避免了流量的震荡 解耦 使发送方与接收方松耦合,仅以协议的方式进行通讯,简化了开发. 消息引擎使用方式 点对点 也叫消息队列,每个消息只能被一个下游的消费者消费. 把消息发给多个处理者,方便扩展处理量,同时也意味着,当一个消费者消费了这条消息,这条消息就不存在了.别人无法消费 发布/订阅 把消息广播给每个处理者. 由于每条消息都会传递给每个订阅者,因此无法扩展处理。kafka的consumerGroup同时支持上述这两种方式. Kafka模型的优势在于,每个主题都具有这两个属性-可以扩展处理范围,并且是多用户的-无需选择其中一个。 KAFKA 拓扑结构图 KAFKA 结构图 KAFKA 概念 Broker Broker 负责接收和处理客户端发送过来的请求,以及对消息进行持久化,