Kafka会将partition以消息日志的方式(落磁盘)存储起来,通过 顺序访问IO和缓存(等到一定的量或时间)才真正把数据写到磁盘上,来提高速度 。
想要保证消息(数据)是有序的,怎么做?Kafka会将数据写到partition,单个partition的写入是有顺序的 。如果要保证全局有序,那只能写入一个partition中 。如果要消费也有序,消费者也只能有一个 。
为什么在消息队列中重复消费了数据凡是分布式就无法避免网络抖动/机器宕机等问题的发生,很有可能消费者A读取了数据,还没来得及消费,就挂掉了 。Zookeeper发现消费者A挂了,让消费者B去消费原本消费者A的分区,等消费者A重连的时候,发现已经重复消费同一条数据了 。(各种各样的情况,消费者超时等等都有可能…)
【全网最通俗易懂的Kafka入门】如果业务上不允许重复消费的问题,最好消费者那端做业务上的校验(如果已经消费过了,就不消费了)
推荐阅读
- 最小的猪有多少斤 中国体型最小的猪
- 理想茶叶,专业成就理想大业
- 冠和品质,铁观音茶人的最爱
- 嫪毐的转轮之术描写 嫪毐的转轮之术是啥意思
- 2020最新灯具十大品牌排名
- 最近很火的抠图壁纸怎么做 满屏女朋友照片壁纸怎么制作
- 浙江新昌,新年茶业发展正当时
- 金瓜贡茶,西双版纳最佳女儿茶
- 世界十大有毒蚂蚁 世界上最毒的蚂蚁是什么蚂蚁
- 在世最长寿老人 健在的120岁高僧
