Java程序员面试必备——kafka的专业术语

发布时间:2020-07-28 19:24:54 作者:爱码仕i
来源:网络 阅读:279

Java程序员面试必备——kafka的专业术语

主题 + 客户端

  1. 发布订阅的对象是主题(Topic)

  2. 向主题发布消息的客户端应用程序称为生产者(Producer),生产者可以持续不断地向多个主题发送消息

  3. 订阅这些主题消息的客户端应用程序称为消费者(Consumer),消费者能够同时订阅多个主题的消息

  4. 生产者和消费者统称为客户端

服务端

  1. Kafka的服务端由被称为Broker的服务进程构成,一个Kafka集群由多个Broker组成

  2. Broker负责接收和处理客户端发送过来的请求,以及对消息进行持久化

  3. 多个Broker进程能够运行在同一台机器上,但更常见的做法是将不同的Broker分散运行在不同的机器上

备份

  1. 实现高可用的另一个手段是备份机制(Replication)

  2. 备份:把相同的数据拷贝到多台机器上,这些相同的数据拷贝在Kafka中被称为副本(Replica)

  3. 副本的数量是可以配置的,Kafka定义了两类副本:领导者副本(Leader Replica)和追随者副本(Follower Replica)
  1. 副本机制可以保证数据的持久化或者消息不丢失,但没有解决伸缩性(Scalability)的问题

分区

  1. Kafka中的分区机制是将每个主题划分成多个分区(Partition),每个分区是一组有序的消息日志

  2. 生产者生产的每条消息只会被发送到一个分区中,Kafka的分区编号是从0开始的

  3. 副本是在分区这个层级定义的,每个分区下可以配置N个副本,只能有1个领导者副本和N-1个追随者副本

  4. 生产者向分区(分区的领导者副本)写入消息,每条消息在分区中的位置由位移(Offset)来表征,而分区位移总是从0开始

  5. 三层消息架构

持久化

  1. Kafka使用消息日志(Log)来保存数据,一个日志是磁盘上一个只能追加写(Append-Only)消息的物理文件
  1. Kafka需要定期删除消息以回收磁盘空间,可以通过日志片段(Log Segment)机制来实现

消费者

  1. 点对点模型(Peer to Peer,P2P):同一条消息只能被下游的一个消费者消费,其他消费者不能染指

  2. Kafka通过消费者组(Consumer Group)来实现P2P模型
  1. 引入消费者组的目的:提高消费者端的吞吐量(TPS)

  2. 消费者实例(Consumer Instance):即可以是运行消费者应用的进,也可以是一个线程

  3. 重平衡(Rebalance)
  1. 消费者位移(Consumer Offset):记录消费者当前消费到了分区的哪个位置,随时变化

小结

Java程序员面试必备——kafka的专业术语

  1. 消息(Record):消息是Kafka处理的主要对象

  2. 主题(Topic):主题是承载消息的逻辑容器,实际使用中多用来区分具体的业务

  3. 分区(Partition):一个有序不变的消息序列,每个主题下有多个分区

  4. 消息位移(Offset):也叫分区位移,表示一条消息在分区中的位置,是一个单调递增且不变的值

  5. 副本(Replica)
  1. 生产者(Producer):向主题发布消息的应用程序

  2. 消费者(Consumer):从主题订阅消息的应用程序

  3. 消费者位移(Consumer Offset):表征消费者的消费进度,每个消费者都有自己的消费者位移

  4. 消费者组(Consumer Group):多个消费者实例共同组成一个组,同时消费多个分区以实现高吞吐

  5. 重平衡(Rebalance)

写在最后

Java程序员面试必备——kafka的专业术语

推荐阅读:
  1. 面试必备的10道MySQL题
  2. kafka深入研究之路(2) kafka简介与专业术语解释说明

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java kafka 面试

上一篇:DOM操作表格

下一篇:基于JavaServer为后端的WebSocket双向通信工程

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》