kafka 的有序与无序

简介: 同时创建kafka生产者produce,kafka消费者consumer,其中我们的topic创建了3个分区, 生产者发送几条数据,使用命令查看消费。可以看到刚刚生产的这几条数据,当我退出消费命令,重新使用消费者命令来消费数据时,看一下数据这时候看到的数据时无序的,总结一点单个分区:有序全局分区:无序1 4肯定是同一个分区的数据,如何保证生产环境下,全局有序呢,先说下必须要保持有序的需求情况,有一张students表,对表操作的消息发送到kafka中,但是操控表有增加有删除的时候,必须增加先执行完,才去删除,如果先执行删除了,在insert增加就是错误的了。


同时创建kafka生产者produce,kafka消费者consumer,其中我们的topic创建了3个分区,

 生产者发送几条数据,使用命令查看消费。


b66e7b694eb0eb2b5183031478ec519b7f12a527

可以看到刚刚生产的这几条数据,当我退出消费命令,重新使用消费者命令来消费数据时,看一下数据


22ab45332f9fddcc73ed622c4d24ce82040cd432

这时候看到的数据时无序的,总结一点

单个分区:有序

全局分区:无序

1 4肯定是同一个分区的数据,如何保证生产环境下,全局有序呢,先说下必须要保持有序的需求情况,

有一张students表,对表操作的消息发送到kafka中,但是操控表有增加有删除的时候,必须增加先执行

完,才去删除,如果先执行删除了,在insert增加就是错误的了。如下,发送几条执行sql的命令到kafak,


insert  into student value(1,'json',18);

insert  into student value (2,'jinfei',20) ;

update student set name='JF' where id=2 ;

delete from student where id=2 ;


照上面所说,kafka消费有可能顺序如下


分区1:

insert  into student value(1,'json',18);

delete from student where id=2 ;

分区2:

insert  into student value (2,'jinfei',20) ;

分区3:

update student set name='JF' where id=2 ;

这样的话就会造成错误,解决问题核心点:特征数据发送到同一个topic的一个分区,

针对id=2的拼装特征数据key :  student_id=2             kafka默认会Hash(student_id=2) 取模

                                     value:   sql语句






相关文章
|
2月前
|
消息中间件 Kafka 流计算
Flink发kafka怎么保证有序?
Flink发kafka怎么保证有序?
73 0
|
2月前
|
消息中间件 安全 Kafka
2024年了,如何更好的搭建Kafka集群?
我们基于Kraft模式和Docker Compose同时采用最新版Kafka v3.6.1来搭建集群。
390 2
2024年了,如何更好的搭建Kafka集群?
|
3月前
|
消息中间件 存储 数据可视化
kafka高可用集群搭建
kafka高可用集群搭建
41 0
|
6月前
|
消息中间件 存储 Kubernetes
Helm方式部署 zookeeper+kafka 集群 ——2023.05
Helm方式部署 zookeeper+kafka 集群 ——2023.05
228 0
|
3月前
|
消息中间件 Kafka Linux
Apache Kafka-初体验Kafka(03)-Centos7下搭建kafka集群
Apache Kafka-初体验Kafka(03)-Centos7下搭建kafka集群
64 0
|
3月前
|
消息中间件 数据可视化 关系型数据库
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
146 0
|
4月前
|
消息中间件 存储 算法
Kafka Raft集群搭建
Kafka Raft集群搭建
70 0
|
1月前
|
消息中间件 存储 缓存
Kafka【基础知识 02】集群+副本机制+数据请求+物理存储+数据存储设计(图片来源于网络)
【2月更文挑战第20天】Kafka【基础知识 02】集群+副本机制+数据请求+物理存储+数据存储设计(图片来源于网络)
25 1
|
1月前
|
消息中间件 存储 Kafka
Kafka【环境搭建 02】kafka_2.11-2.4.1 基于 zookeeper 搭建高可用伪集群(一台服务器实现三个节点的 Kafka 集群)
【2月更文挑战第19天】Kafka【环境搭建 02】kafka_2.11-2.4.1 基于 zookeeper 搭建高可用伪集群(一台服务器实现三个节点的 Kafka 集群)
140 1
|
5月前
|
消息中间件 数据可视化 Kafka
消息中间件系列教程(21) -Kafka- 集群搭建(自带Zookeeper)
消息中间件系列教程(21) -Kafka- 集群搭建(自带Zookeeper)
67 0

热门文章

最新文章