Kafka学习记录

Apache Kafka 是一个分布式消息发布和订阅系统,具有以下特点: 被设计为生产者(发布)和消费者(订阅)模式,解耦组件之间的依赖,异步处理消息,增强业务扩展能力。 作为分布式系统,具备高伸缩能力,为发布和订阅提供高吞吐量。 持久化消息到磁盘,直到消息过期,兼备批处理和实时处理消息的能力。 冗余消息数据,具备高可用能力。 本质上是队列,为消息订阅提供顺序保证。 基本概念 Broker(中介) Kafka集群中的每一个server都是一个broker,具备唯一的id,消息的中转和暂存媒介,为消息提供持久化。消息被发布到这里时,首先滞留在内存中,等待异步线程刷入磁盘;订阅消息时首先会从内存取,如果没有则通过映射的index找到消息位置,发生磁盘IO。 Topic(话题) 每条发布到Kafka集群的消息都有一个类别,这个类