脚本宝典收集整理的这篇文章主要介绍了Kafka基础入门,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Kafka由生产者(PRoducer)、消费者(Consumer)、broker以及ZookeePEr集群组成,Zookeeper负责集群元数据的管理以及控制的选举等操作,Producer将消息发送到Broker, Broker负责将受到的消息存储到磁盘中,而Consumer负责从Broker订阅消息,如下图所示。
负责创建消息,然后将消息投递到Broker中,生产者程序通常持续不断地向一个或多个主题发送消息。
订阅主题消息的客户端称为消费者,消费者也能够同时订阅多个主题的消息。
主题是承载消息的逻辑容器,在实际使用中多用来区分具体的业务
Kafka 的服务器端由被称为 Broker 的服务进程构成,即一个 Kafka 集群由多个 Broker 组成,Broker 负责接收和处理客户端发送过来的请求,以及对消息进行持久化。虽然多个 Broker 进程能够运行在同一台机器上,但更常见的做法是将不同的 Broker 分散运行在不同的机器上,这样如果集群中某一台机器宕机,即使在它上面运行的所有 Broker 进程都挂掉了,其他机器上的 Broker 也依然能够对外提供服务。这其实就是 Kafka 提供高可用的手段之一
Kafka实现高可用的另一个机制是备份机制,把相同的数据拷贝到多台机器上存储,这些相同的数据拷贝在 Kafka 中被称为副本(Replica)。Kafka 定义了两类副本:领导者副本(Leader Replica)和追随者副本(Follower Replica)。前者对外提供服务,这里的对外指的是与客户端程序进行交互;而后者只是被动地追随领导者副本而已,不能与外界进行交互。副本的工作机制也很简单:生产者总是向领导者副本写消息;而消费者总是从领导者副本读消息。至于追随者副本,它只做一件事:向领导者副本发送请求,请求领导者把最新生产的消息发给它,这样它能保持与领导者的同步。
Kafka 中的分区机制指的是将每个主题划分成多个分区(PartITion),每个分区是一组有序的消息日志。生产者生产的每条消息只会被发送到一个分区中,也就是说如果向一个双分区的主题发送一条消息,这条消息要么在分区 0 中,要么在分区 1 中。
Consumer Group。多个消费者实例共同组成的一个组,同时消费多个分区以实现高吞吐。
Consumer Offset。表征消费者消费进度,每个消费者都有自己的消费者位移。
以上是脚本宝典为你收集整理的Kafka基础入门全部内容,希望文章能够帮你解决Kafka基础入门所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。