Ch12-Kafka 为什么这么快
May 11, 2019
Apache Kafka 以牺牲延迟和抖动为代价优化了吞吐量,但并没有牺牲,比如持久性、严格的记录有序性和至少一次的分发语义。当有人说“Kafka 速度很快”,并假设他们至少有一定的能力时,你可以认为他们指的是 Kafka 在短时间内分发大量记录的能力。
...Apache Kafka 以牺牲延迟和抖动为代价优化了吞吐量,但并没有牺牲,比如持久性、严格的记录有序性和至少一次的分发语义。当有人说“Kafka 速度很快”,并假设他们至少有一定的能力时,你可以认为他们指的是 Kafka 在短时间内分发大量记录的能力。
...kafka Quota
...kafka Transaction.
...kafka HA
...Kafka 选举主要体现在两个地方,一个是 Broker 的选举,另一个是 Partition 的选举。
...数据可靠性值指数据不会轻易丢失,数据一定会被可靠存储。
...数据一致性主要是说不论是老的 Leader 还是新选举的 Leader,Consumer 都能读到一样的数据。那么 Kafka 是如何实现的呢?
...Kafka Partition 相关的机制是比较复杂的,它自身保留了一个 leader 来对外提供消息操作的能力,若干 follower 通过 leader 同步消息保证数据可靠性。
...Kafka 中存在大量的网络数据持久化到磁盘(Producer 到 Broker)和磁盘文件通过网络发送(Broker 到 Consumer)的过程。这一过程的性能直接影响 Kafka 的整体吞吐量,于是 Kafka 便引入了 ZeroCopy 技术来提升性能。
...Kafka 生产者和消费者工作流程比较复杂,需要各个组件参与才能完成。
...