Kafka 保证分区有序

Kafka能做到全局有序吗?

Kafka只能保证分区有序,
如果只有一个分区,
那也是变向的全局有序

Kafka如何保证分区有序

  • 通过配置 max.in.flight.requests.per.connection = 1
    这个配置是 生产者 往 服务度 发送数据的请求数,
    配置为1,则一次只能发送1个请求,
    如果失败继续重试,知道成功,
    才会进行下一个请求的发送,
    这样就保证了消息的有序性,
    但是相对性能就大大降低了。

  • 通过生产者幂等特性
    幂等的保证是需要给每条消息加一个 Seqnum的,
    也就是每个消息都有自己的序号,
    服务端对于比当前最新的Seqnum大于1的消息,
    是会拒绝的,
    所以也可以保证消息的顺序性

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容