kafka

Kafka学习之路
Kafka必知必会
kafka核心原理
go操作kafka
消息队列之-Kafka
Kafka 分区分配策略 或(https://blog.csdn.net/u013256816/article/details/81123625)
kafka怎么保证消息顺序?

StickyAssignor:0.11.x版本引入,消费者尽量不离开分区.即BalanceStrategySticky:重平衡策略,适用于同一个group下多个topic
RoundRobin面向消费者组.Range优先topic(订阅了的).
同一个消费者组中的消费者可以订阅不同的主题,只是轮询更适合主题相同的情况

java版序列化器必须,拦截器和分区器可选
选举:controller, leader

服务器scale,客户端java
kafka-eagle监控
perf性能测试
在这里插入图片描述

0. 基础

kafka机器数量:(峰值生产速度*副本数/100)*2+1
基于日志log的存储(.log文件即data)

Kafka topic 分区可以在线增加,不可以减少
Topic副本数不能超过Kafka Broker的节点数
分区数等于消费者数时,效率最高. 分区好处:方便在集群中扩展,可以提高并发(可以以分区为单位读写)
高效读写数据(为什么快):分区读写,顺序写,应用pagecache(0.11后,消费和生产速度相当时,会通过内存直接把消息读走),零复制

Kafka的topic逻辑上包含了若干个partition,每个partition对应磁盘上一个目录;写数据的时候就是以append-only的方式在partition目录写log文件。
为了防止文件过大不利于搜索和管理,又按照大小(默认1G)进行滚动,生成多个文件,每个文件称为一个segment。segment的文件名就是该文件里面第1个offset的值。
为了高效的根据offset进行消费,给每个segment文件生成了一个索引文件,索引里面记录了该segment里面每个offset对应的实际偏移量
消息在不同的 Partition 是不能保证有序的,只有一个 Partition 内的消息是有序的
consumer group, topic,分区 三元组确定offset

  1. Exactly Once
At Least Once(all) + 幂等性(0.11) = Exactly Once
要启用幂等性,只需要将 Producer 的参数中 enable.idompotence 设置为 true 即可。Kafka
的幂等性实现其实就是将原来下游需要做的去重放在了数据上游。开启幂等性的 Producer 在
初始化的时候会被分配一个 PID,发往同一 Partition 的消息会附带 Sequence Number。而
Broker 端会对
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值