消息中间件-kafka学习笔记一

本文详细介绍了Kafka,一个分布式、基于Zookeeper协调的分布式消息系统。内容涵盖Kafka的功能、生产者与消费者模型、分区与副本策略、消费者组的工作原理、重复消息支持以及ACK机制,旨在帮助读者深入理解Kafka的核心概念和技术细节。
摘要由CSDN通过智能技术生成

一、功能介绍:

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:

  • hadoop的批处理系统;
  • 低延迟的实时系统、
  • storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等

kafka采用scala语言编写,于2010年贡献给了Apache基金会并成为顶级开源 项目http://kafka.apache.org/25/javadoc/index.html

二、生产者+broker+消费者:

     1、生产者发送消息,支持批量发送;

     2、生产者发送消息,支持定时批量发送;

     3、生产者发送消息,支持事务批量提交;

kafka消费topic是以group为单位来的,一个group消费一个topic。一个group能容纳多个consumer。consumer消费是以分区(partition)来的,一个consumer可以消费一个或多个partition,一个partition只能被一个consumer消费。

规则

1、如果一个consumer group中的consumer个数多于topic中的partition的个数,多出来的consumer会闲置(idle),所以如果为了增加消费者能力,只简单增加消费者数量不一定会有用). 

2、如果一个consumer group中的consumer个数小于topic中的partition的个数,会存在一个消费者,消费多个partition的情况,最优的情况消费者与分区数量相同。

三、生产者+broker(多个分区)+消费者:

 

 

四、生产者+broker(多个分区+多个副本)+消费者:

     参考五,单个消费者,消费三个分区数据

 

五、生产者+broker(多个分区+多个副本)+消费者组(多个):

 

消费者组中各个消费者的消费的偏移量信息:

__consumer_offsets这个topic是由kafka自动创建的,默认50个

[root@hadoop03 kafka-logs]# ll
total 224
-rw-r--r--. 1 root root    0 Mar 24 13:19 cleaner-offset-checkpoint
drwxr-xr-x. 2 root root 4096 Mar 24 13:46 __consumer_offsets-0
drwxr-xr-x. 2 root root 4096 Mar 24 13:46 __consumer_offsets-1
drwxr-xr-x. 2 root root 4096 Mar 24 13:46 __consumer_offsets-10
drwxr-xr-x. 2 root root 4096 Mar 24 13:46 __consumer_offsets-11
drwxr-xr-x. 2 root root 4096 Mar 24 13:46 __consumer_offsets-12
drwxr-xr-x. 2 root root 4096 Mar 24 13:46 __consume
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石头城程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值