开发手册 欢迎您!
软件开发者资料库

Apache Kafka - 集群架构

Apache Kafka集群架构 - 从简介,基础知识,集群架构,工作流程,安装步骤,基本操作,简单生产者示例,消费者组示例,与Storm集成,与Spark集成,实时应用程序(Twitter),工具开始学习Apache kafka ,应用程序。

请看下图.它显示了Kafka的集群图.

Cluster Architecture

以下表描述了上图中显示的每个组件.

S.No组件和描述
1

Broker

Kafka集群通常包括多个Broker以维持负载平衡. Kafka代理是无状态的,因此他们使用ZooKeeper来维护其集群状态.一个Kafka代理实例每秒可以处理数十万次读写操作,每个兄弟可以处理TB消息而不会影响性能.卡夫卡Broker领袖选举可以由ZooKeeper完成.

2

ZooKeeper

ZooKeeper用于管理和协调Kafka经纪人. ZooKeeper服务主要用于通知生产者和消费者Kafka系统中任何新代理的存在或Kafka系统中代理的故障.根据Zookeeper收到的关于经纪人存在或失败的通知,然后生产者和消费者做出决定并开始与其他经纪人协调他们的任务.

3

生产者

生产者将数据推送给经纪人.当新代理启动时,所有生产者都会搜索它并自动向该新代理发送消息. Kafka生产者不等待经纪人的确认,并且发送消息的速度与经纪人可以处理的速度一样快.

4

消费者

由于Kafka经纪人无国籍,这意味着消费者必须通过使用分区偏移来维护消耗了多少消息.如果消费者确认特定的消息偏移,则意味着消费者已经消耗了所有先前的消息.消费者向代理发出异步拉取请求,以准备好消耗的字节缓冲区.消费者可以通过提供偏移值来回退或跳转到分区中的任何点. ZooKeeper通知消费者抵消价值.