Kafka是怎么保证分区有序的

本文主要介绍"Kafka是如何保证分区有序的",希望能够解决您遇到有关问题,下面我们一起来看这篇 "Kafka是如何保证分区有序的" 文章。

Kafka能做到全局有序吗?

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

Kafka如何保证分区有序

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

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

关于 "Kafka是如何保证分区有序的" 就介绍到这。希望大家多多支持编程宝库

本文主要介绍"Kafka水位是什么",希望能够解决您遇到有关问题,下面我们一起来看这篇 "Kafka水位是什么" 文章。什么是水位kafka中用水位来描述, 一个分区中的可见数据的offset。 大概你需要知道这几点: ...