Kafka Broker HA机制
2016-08-25 07:03
423 查看
从图中我们可以看出HA的缓存分为生产缓存事件池和拉取缓存事件池两块结构相同的缓存区,分别缓存生产和拉取请求
2个缓存事件池的作用:
生产缓存事件池:当生产者设置了等待从partition的同步选项(requiredAcks为-1)时才会启动生产缓存。因为每一批生产的消息,需要等待所有的处于同步状态的从partition(in-sync)同步成功,在所有follow partition上报自己的水位线追上leader partition之前,生产请求会一直保留在生产缓存中,等待直到超时。
拉取缓存事件池:拉取请求为什么也需要缓存?因为kafka在消费消息时有一个默认选项,一次拉取最低消费1条消息。那么,如果消费者拉取的时候没有任何新消息生产,则拉取请求会保留到拉取缓存中,等待直到超时。这一定程度上避免了反复拉取一批空消息占用带宽资源的问题,不过也把Kafka的ha缓存架构的复杂度提升了一个等级。
相关文章推荐
- kafka备份机制——zk选举leader,leader在broker里负责备份
- 深入学习Kafka:集群中Controller和Broker之间通讯机制分析 - ControllerChannelManager
- Kafka监控——获取Partition的LogSize、Lag、BrokerId
- Kafka消息生成,消费,存储机制
- Kafka教程(三)---------------底层实现细节之broker
- Failing to produce to kafka brokers java.nio.BufferUnderflowException
- Hadoop HA机制
- Kafka的Leader的选举机制
- 分布式消息队列RocketMQ源码分析之2 -- Broker与NameServer心跳机制
- Kafka 0.8 副本同步机制理解
- HDFS之HA机制
- 记一例kafka broker的ERROR错误日志事件分析--kafka.common.NotAssignedReplicaException
- Kafka文件存储机制那些事
- kafka副本机制之数据可靠性
- hadoop HA机制分析
- kafka集群下线broker节点实践方法
- 一脸懵逼学习Hadoop-HA机制(以及HA机制的配置文件,测试)
- kafka的传递机制与语义保障
- Kafka副本同步机制理解
- kafka 集群--3个broker 3个zookeeper创建实战