![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
Gloria!
一条鱼^_^
展开
-
kafka 运维篇 -- 基础
一. 为啥用kafka解耦缓冲和削峰减冗余(1个生产多个消费)异步通信(先放数据/消息,需要时处理)二. 高可用性zk保存kafka元数据(broker ID,topic,consumer信息)注意:zk在kafka中,选举controller和检测broker存活多副本增大系统容错性三. 一致性从consumer端利用HW四. 快的原因顺序写(磁盘随机写入时,需要进行寻址,移动磁头,耗时,顺序写不涉及)0拷贝压缩协议(gzip、snappy、Lz4)批量处理(合原创 2022-04-23 23:10:08 · 2469 阅读 · 0 评论 -
kafka 运维篇 -- 顺序消费
摘自:https://www.modb.pro/db/71947针对消息有序的业务需求,还分为全局有序和局部有序。全局有序:一个Topic下的所有消息都需要按照生产顺序消费。局部有序:一个Topic下的消息,只需要满足同一业务字段的要按照生产顺序消费。例如:Topic消息是订单的流水表,包含订单orderId,业务要求同一个orderId的消息需要按照生产顺序进行消费。全局有序由于Kafka的一个Topic可以分为了多个Partition,Producer发送消息的时候,是分散在不同 Partit原创 2022-04-23 20:34:26 · 1719 阅读 · 0 评论 -
kafka 运维篇 -- 重复消费
真正生产没有涉及过,所以如下是大家的办法,仅用来记录(其实这个问题也可以通过幂等性的原理避免)原创 2022-04-23 20:28:05 · 1087 阅读 · 0 评论 -
kafka 运维篇 -- 防止消息丢失
个人学习总结:比较正式的描述:producer端使用producer.send(msg, callback)带有回调的send方法。设置acks = -1。acks是Producer的一个参数,代表“已提交”消息的定义。如果设置成all,则表明所有Broker都要接收到消息,该消息才算是“已提交”。设置retries为一个较大的值。同样是Producer的参数。当出现网络抖动时,消息发送可能会失败,此时配置了retries的Producer能够自动重试发送消息,尽量避免消息丢失。设置uncle原创 2022-04-23 20:11:58 · 1788 阅读 · 0 评论 -
kafka 运维篇 -- Partition 列表
AR( Assigned-Replicas)一个 Partition 对应的主从所有的 Partition 列表,AR = ISR + OSRISR(In-Sync-Replicas)表示当前正在同步的从 Partition该列表是由主 Partition 进行维护的在该列表中的 Partition 定期从主 Partition 上拉取数据进行同步,若在指定周期内没同步数据,则认为该从 Partition 失效,从 ISR 列表中剔除,并将其移入到 OSR 列表中OSR( Out-Sync-Re原创 2022-04-23 19:30:50 · 1707 阅读 · 0 评论