首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kafka系列-3-Kafka架构介绍

Kafka系列-3-Kafka架构介绍

Kafka系列文章地址

Kafka相关术语

Broker 实现数据存储的服务器,Kafka集群包含一个或多个服务器

Topic 用来对消息进行分类,每个进入到Kafka的信息都会被放到一个Topic下

Partition 每个Topic中的消息会被分为若干个Partition,以提高消息的处理效率

Producer 消息的生产者,负责发布消息到Kafka broker

Consumer 消息的消费者,向Kafka broker读取消息的客户端

Consumer Group 消息的消费群组

Topic 与 Partition,Consumer 与 Consumer Group

物理上不同Topic的消息分开存储

逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处

Parition是物理上的概念,每个Topic包含一个或多个Partition

每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)

Kafka拓扑结构

一个典型的Kafka集群中包含:若干Producer,若干broker,若干Consumer Group,以及一个Zookeeper集群。

从Kafka本身的角度看 Kafka 拓扑结构

从业务场景、业务系统的角度看 Kafka 拓扑结构

Kafka架构剖析

一个典型的Kafka集群中包含:若干Producer(可以是web前端产生的Page View,或者是服务器日志,系统CPU、Memory等),若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干Consumer Group,以及一个Zookeeper集群。

Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。

Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。

Kafka的核心API介绍

Kafka高效地处理实时流式数据,可以实现与Storm、HBase和Spark的集成。

作为群集部署到多台服务器上,Kafka处理它所有的发布和订阅消息系统使用了四个API,即生产者API、消费者API、Stream API和Connector API。

它能够传递大规模流式消息,自带容错功能。

Kafka有四个主要API:

生产者API:支持应用程序发布Record流。

消费者API:支持应用程序订阅Topic和处理Record流。

Stream API:将输入流转换为输出流,并产生结果。

Connector API:执行可重用的生产者和消费者API,可将Topic链接到现有应用程序。

Kafka为何选择Pull模式而不是push模式

push模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。

而pull模式则可以根据Consumer的消费能力以适当的速率消费消息。

对于Kafka而言,pull模式更合适。

pull模式可简化broker的设计,Consumer可自主控制消费消息的速率,同时Consumer可以自己控制消费方式——即可批量消费也可逐条消费,同时还能选择不同的提交方式从而实现不同的传输语义(三种传输语义:至少一次提交,至多一次提交,严格一次提交)。

参考材料

http://www.infoq.com/cn/articles/depth-interpretation-of-kafka-data-reliability?utm_source=articles_about_Kafka&utm_medium=link&utm_campaign=Kafka

http://www.infoq.com/cn/articles/kafka-analysis-part-1

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190203G098VG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券