Kafka群集体系结构
作者:--
发布时间:2019-11-20
评论:0
阅读:0
有关kafka群集体系结构,请看下面的结构图。 它显示了kafka的集群图。
![]()
下表描述了上图中显示的每个组件。
broker - kafka集群通常由多个代理组成,以保持负载平衡。 kafka经纪人是无状态的,所以他们使用zookeeper维护他们的集群状态。 一个kafka代理实例可以处理每秒数十万次的读写操作,每个broker都可以处理tb消息,而不会影响性能。 kafka经纪人的领导人选举可以由zookeeper完成。
zookeeper - zookeeper用于管理和协调kafka经纪人。 zookeeper服务主要用于通知生产者和消费者关于kafka系统中任何新经纪人的存在或kafka系统中经纪人的失败。 根据zookeeper收到的有关经纪人存在或失败的通知,生产者和消费者就会做出决定,并开始与其他经纪人协调他们的任务。
producers - 生产者将数据推送给经纪人。 新代理启动后,所有生产者都会搜索它并自动向该新代理发送消息。 kafka生产者不会等待经纪人的确认,并且可以像经纪人能够处理的那样快地发送消息。
consumers - 由于kafka代理是无状态的,这意味着消费者必须通过使用分区偏移量来维护消耗了多少消息。 如果消费者确认特定的消息偏移量,则意味着消费者已经消费了所有先前的消息。 消费者向代理发出一个异步拉取请求,以准备消耗字节缓冲区。 消费者可以简单地通过提供偏移值来倒回或跳到分区中的任何点。 消费者补偿值由zookeeper通知。