kafka学习笔记-kafka基础

参考:极客时间-Kafka核心技术与实战

kafka术语

img

消息(Record):kafka要处理的主要对象。

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

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

消息位移(Offset):分区中每条消息的位置信息,是一个单调递增且不变的值。

副本(Replica):分为领导者副本和追随者副本,每个分区可配置多个副本实现高可用。

生产者(Producer):向主题发布新消息的应用系统。

消费者(Consumer):从主题订阅新消息的应用系统。

消费者位移(Consumer Offset):消费者消费进度。

消费者组(Consumer Group):多个消费者实例共同组成的一个组,同时消费多个分区以提高吞吐量。

重平衡(Rebalance):消费者组某个消费者实例挂掉后,其他消费者实例自动重新分配订阅主题分区的过程。

kafka线上集群方案

操作系统:

  1. I/O模型的使用
  2. 数据网络传输的效率
  3. 社区支持度

磁盘:

多使用顺序读写,在软件层面实现了高可用和负载均衡,所以用普通磁盘即可。

磁盘容量:

使用率控制在70%。

新增消息数、平均消息大小、消息留存时间、备份数、是否开启消息压缩。

**带宽:****

使用率控制在70%。

每分钟消息数、平均消息大小。

生产者消息分区机制

作用:

提供负载均衡的能力。

策略:

轮询策略、随机策略、按消息键保序策略、其他策略。

生产者压缩算法

生产者压缩,Broker保持,消费者解压。

何时压缩:

生产者端和Broker端。

何时解压:

消费者端和Broker端。

Broker端压缩:

  1. Broker端指定了和Producer端不同的压缩算法。
  2. Broker端发生了消息格式转换

如何保证消息不丢失

kafka只对“已提交”的消息做有限度的持久化保证。

已提交:若干个Broker接收并写入了这条消息。

  1. 使用producer.send(msg, callback)
  2. 设置acks=all
  3. 设置retries>0
  4. 设置unclean.leader.election.enable=false
  5. replication.factor>=3
  6. min.insync.replicas>1

消息交付可靠性保证

三种承诺方式:最多一次、至少一次、精确一次。

幂等生产者:保证单分区单会话的精确一次交付。

事务生产者:保证所有分区所有会话的精确一次交付。

消费者组

kafka提供的可扩展且具有容错性的消费者机制。

特性:

  1. Consumer Group下可以有一个或多个Consumer实例
  2. Group ID标识唯一个Consumer Group
  3. Consumer Group订阅主题的分区和Consumer是多对一的关系

消费者位移

位移管理机制:

将消费者位移作为一条条普通的kafka消息,提交到__consumer_offsets中。

创建位移主题:

启动第一个Consumer时。

删除过期信息:

使用Compact策略删除位移主题中的过期消息。

消费者组重平衡

重平衡时机:

  1. 组成员数量发生变化
  2. 订阅主题数发生变化
  3. 订阅主题的分区数发生变化

重平衡的弊端:

  1. Consumer停止消费
  2. 重平衡过程慢
  3. 重平衡效率低

避免不必要的重平衡:

  1. Consumer心跳超时
  2. Consumer消费时间过长

CommitFailedException异常处理

出现原因:

消费者组重平衡期间,要提交位移的分区已经分配给了另一个消费者实例。

预防方法:

  1. 减少单条消息的处理时间
  2. 增加单位时间处理的消息数
  3. 减少一次性消费的消息数
  4. 增加消费一批消息的最大时长
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342