农村电子商务网站建设ftp上传文件到网站
农村电子商务网站建设,ftp上传文件到网站,网页设计模板html代码表格,宁乡网站建设点燃网络文章目录 1. Kafka 消费者是什么#xff1f;2. Kafka 消费者组的概念#xff1f;3. Kafka 消费者和消费者组有什么关系#xff1f;4. Kafka 多个消费者如何同时消费一个分区#xff1f; 1. Kafka 消费者是什么#xff1f;
消费者负责订阅Kafka中的主题#xff0c;并且从… 文章目录 1. Kafka 消费者是什么2. Kafka 消费者组的概念3. Kafka 消费者和消费者组有什么关系4. Kafka 多个消费者如何同时消费一个分区 1. Kafka 消费者是什么
消费者负责订阅Kafka中的主题并且从订阅的主题上拉取消息。与其他一些消息中间件不同的是在Kafka的消费理念中还有一层消费组的概念每个消费者都有一个对应的消费组。当消息发布到主题后只会被投递给订阅它的每个消费组中的一个消费者。
2. Kafka 消费者组的概念
假设我们有一个应用程序它从一个Kafka主题读取消息在对这些消息做一些验证后再把它们保存起来。应用程序需要创建一个消费者对象订阅主题并开始接收消息、验证消息和保存结果。但过了一阵子生产者向主题写入消息的速度超过了应用程序验证数据的速度这时候该怎么办呢如果只使用单个消费者来处理消息那么应用程序会远远跟不上消息生成的速度。显然此时很有必要对消费者进行横向伸缩。就像多个生产者可以向相同的主题写入消息一样也可以让多个消费者从同一个主题读取消息。
Kafka消费者从属于消费者群组。一个群组里的消费者订阅的是同一个主题每个消费者负责读取这个主题的部分消息。
① 假设主题T1有4个分区我们创建了消费者C1它是群组G1中唯一的消费者用于订阅主题T1。消费者C1将收到主题T1全部4个分区的消息。
② 如果在群组G1里新增一个消费者C2那么每个消费者将接收到两个分区的消息。假设消费者C1接收分区0和分区2的消息消费者C2接收分区1和分区3的消息。
③ 如果群组G1有4个消费者那么每个消费者将可以分配到一个分区。 ④ 如果向群组里添加更多的消费者以致超过了主题的分区数量那么就会有一部分消费者处于空闲状态不会接收到任何消息。
向群组里添加消费者是横向扩展数据处理能力的主要方式。Kafka消费者经常需要执行一些高延迟的操作比如把数据写到数据库或用数据做一些比较耗时的计算。在这些情况下单个消费者无法跟上数据生成的速度因此可以增加更多的消费者来分担负载让每个消费者只处理部分分区的消息这是横向扩展消费者的主要方式。于是我们可以为主题创建大量的分区当负载急剧增长时可以加入更多的消费者。不过需要注意的是不要让消费者的数量超过主题分区的数量因为多余的消费者只会被闲置。
⑤ 除了通过增加消费者数量来横向伸缩单个应用程序我们还经常遇到多个应用程序从同一个主题读取数据的情况。实际上Kafka的一个主要设计目标是让Kafka主题里的数据能够满足企业各种应用场景的需求。在这些应用场景中我们希望每一个应用程序都能获取到所有的消息而不只是其中的一部分。只要保证每个应用程序都有自己的消费者群组就可以让它们获取到所有的消息。不同于传统的消息系统横向伸缩消费者和消费者群组并不会导致Kafka性能下降。
在之前的例子中如果新增一个只包含一个消费者的群组G2那么这个消费者将接收到主题T1的所有消息与群组G1之间互不影响。群组G2可以增加更多的消费者每个消费者会读取若干个分区就像群组G1里的消费者那样。作为整体来说群组G2还是会收到所有消息不管有没有其他群组存在。 总的来说就是为每一个需要获取主题全部消息的应用程序创建一个消费者群组然后向群组里添加更多的消费者来扩展读取能力和处理能力让群组里的每个消费者只处理一部分消息。
3. Kafka 消费者和消费者组有什么关系
消费者组是一个逻辑上的概念它将旗下的消费者归为一类每一个消费者只属于一个消费者组。每一个消费组都会有一个固定的名称消费者在进行消费前需要指定其所属消费者组的名称这个可以通过消费者客户端参数group.id来配置默认值为空字符串。 消费者组内每个消费者负责消费不同分区的数据一个分区只能由同一个消费者组内的一个消费者来消费。
消费者组的作用是实现负载均衡和容错性因为每个消费者只能读取主题中的一部分消息而消费者组中的所有消费者共同读取整个主题中的所有消息。
4. Kafka 多个消费者如何同时消费一个分区
Kafka 中的每个分区只能被一个消费者消费如果多个Kafka消费者要同时消费相同主题下相同分区的数据需要将它们放到不同的消费者组中。在Kafka中一个消费者组中的每个消费者会消费主题下不同分区的消息而不同消费者组中的消费者则可以同时消费相同分区的数据。这样可以实现多个消费者同时消费相同分区的数据提高消费效率和可靠性。同时Kafka还提供了一些负载均衡策略可以根据消费者组中消费者的数量和消费能力来自动分配Partition以实现更好的负载均衡。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86189.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!