Kafka系列2:深入理解Kafka生产者(13)
要注意的是 , 只有在不改变分区主题分区数量的情况下 , 键与分区之间的映射才能保持不变 。
顺序保证
Kafka可以保证同一个分区里的消息是有序的 。 考虑一种情况 , 如果retries为非零整数 , 同时max.in.flight.requests.per.connection为比1大的数如果某些场景要求消息是有序的 , 也即生产者在收到服务器响应之前可以发送多个消息 , 且失败会重试 。 那么如果第一个批次消息写入失败 , 而第二个成功 , Broker会重试写入第一个批次 , 如果此时第一个批次写入成功 , 那么两个批次的顺序就反过来了 。 也即 , 要保证消息是有序的 , 消息是否写入成功也是很关键的 。 那么如何做呢?在对消息的顺序要严格要求的情况下 , 可以将retries设置为大于0 , max.in.flight.requests.per.connection设为1 , 这样在生产者尝试发送第一批消息时 , 就不会有其他的消息发送给Broker 。 当然这回严重影响生产者的吞吐量 。
推荐阅读
- |阴阳哲学探索系列之一百零八十四(以组织层级为例)
- 使命召唤手游|整个仙剑系列,修仙的角色一抓一大把,但真正成仙的又有哪些呢?
- 世界观|《真.女神转生V》系列回顾与测评:奇幻世界,现代视角,与魔为伴
- 皮卡丘|庆祝《宝可梦》系列25周年,官方推限量25尊「水晶皮卡丘」
- 大话西游2|大话西游2:这么全面的万金油神兽从鎏金宝鉴系列里可以说是”大哥“的存在了!
- |LOLM神龙和光明哨兵,哪个系列皮肤更受欢迎?玩家:主要看价格
- 开罗|《Let's Build a Zoo》No More Robots 系列新作,开罗向游戏上架steam
- |新作只排第四! 《银河战士》系列排名TOP10
- 炉石传说|炉石传说:迷你系列,1费新卡快攻德质变,胜率最高直逼最强卡组
- iqoo8|游戏表现“天花板”非它莫属!KPL选手同款的iQOO 8系列