
kafka
super_man_0820
无无
展开
-
kafka consumer 分区 reblance 算法
Rebalance 本质上是一种协议,规定了一个 Consumer Group 下的所有 consumer 如何达成一致,来分配订阅 Topic 的每个分区。例如:某 Group 下有 20 个 consumer 实例,它订阅了一个具有 100 个 partition 的 Topic 。正常情况下,kafka 会为每个 Consumer 平均的分配 5 个分区。这个分配的过程就是 Rebalan...原创 2019-10-25 11:06:53 · 459 阅读 · 0 评论 -
分布式事务(一):基础理论及解决方案
在单体架构中,我们的事务可以通过数据库的ACID来操作,不会出现什么问题但随着规模扩大,我们的逻辑服务进行拆分A,B,C…模块,部署在多台服务器,数据库一般也是多台,进行了分库分表等操作,这些A,B,C…模块间通过网络通信完成协作,此刻就产生了单体应用触发不了的问题:一致性问题: 既然是多个数据库,那么通过网络操作,客观上就会存在延时(短距离很小,当跨国时就很慢了)甚至不可达,可用性问题:...原创 2019-09-17 20:20:26 · 193 阅读 · 0 评论 -
分布式事务(二):Kafka 0.11后幂等性和事务的基本原理和流程
消息事务是指一系列的生产、消费操作可以要么都完成,要么都失败,类似数据库的事务。这个特性在0.10.2的版本是不支持的,从0.11版本开始才支持消息事务是实现分布式事务的一种方案,可以确保分布式场景下的数据最终一致性,还实现了消息 Exactly once 语义1. 幂等性设计1.1 引入目的生产者进行retry会产生重试时,会重复产生消息。有了幂等性之后,在进行retry重试时,只会生成...原创 2019-09-18 09:46:10 · 935 阅读 · 0 评论 -
KafkaConsumer高阶Api消费Util
使用Kafka高阶Api,基于通用业务场景封装基于Kafka0.8版本的消费工具类。项目背景:运行任务的监控数据通过kafka上报,应用中需要消费Topic中的数据。功能介绍:工具类有如下特性ConsumerGroup提供通用的Topic消费服务以Builder模式配置ZK、Topic、GroupId、消费线程数、线程池大小支持复用现有线程池,将消费任务(业务逻辑)放入现有线程池...原创 2019-06-16 15:03:26 · 1138 阅读 · 0 评论 -
kafka学习笔记:知识点整理
参考:https://www.cnblogs.com/cyfonly/p/5954614.html原创 2019-07-09 16:56:54 · 163 阅读 · 0 评论 -
KafkaConsumer低阶Api实现数据抽样
Kafka Demo Version : 0.8.2.2Kafka消费工具类(低阶API)项目背景:数据质量平台需对Topic中的数据进行抽样,为避免申请GroupId流程,同时减轻Zk压力,使用Low-Level Kafka Client进行消费功能介绍:* 本例作为项目预研demo* 指定Topic和Partition(partition=0),查询此分区的最小/最大...原创 2019-07-12 15:18:34 · 1044 阅读 · 1 评论 -
Kafka消息语义使用说明
消息系统系统一般有以下的语义:At most once:消息可能丢失,但不会重复投递At least once:消息不会丢失,但可能会重复投递Exactly once:消息不丢失、不重复,会且只会被分发一次(真正想要的)主要以 0.11 版本作为区分:0.11 版本之前保证的语义是:至少一次 (At least once)0.11 之后版本保证的语义是:恰好一次 (Exactly...原创 2019-08-08 22:16:24 · 682 阅读 · 0 评论 -
笔记速览:消息队列的问题
总结自:中华石衫如何保证消息队列的高可用啊?缺点: * 导致系统可用性降低 就Kafka来说: * HA机制,就是replica副本机制 * isr * leader 挂了咋办? broker挂了咋办? controller挂了咋办?消息队列重复消费?如何保证消息不被重复消费啊(如何保证消息消费时的幂等性)* 原因 :任务重启,offset提交有间隔,导致部分数据被重复消...原创 2019-08-08 10:44:11 · 200 阅读 · 0 评论