当前位置:   article > 正文

kafka各个版本的特性

kafka各个版本的特性

1. kafka-0.8.2 新特性

1.1 异步发送

producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率。producer请求会返回一个应答对象,包括偏移量或者错误信。

这种异步方地批量的发送消息到kafka broker节点,因而可以减少server端资源的开销。新的producer和所有的服务器网络通信都是异步地,在ack=-1模式下需要等待所有的replica副本完成复制时,可以大幅减少等待时间

1.2 偏移量保存方式

在0.8.2之前,comsumer定期提交已经消费的kafka消息的offset位置到zookeeper中保存。
对zookeeper而言,每次写操作代价是很昂贵的,而且zookeeper集群是不能扩展写能力的。在0.8.2开始,可以把comsumer提交的offset记录在compacted topic(__comsumer_offsets)中,该topic设置最高级别的持久化保证,即ack=-1__consumer_offsets由一个三元组< comsumer group, topic, partiotion> 组成的key和offset值组成,在内存也维持一个最新的视图view,所以读取很快。

1.3 CheckPoint

kafka可以频繁的对offset做检查点checkpoint,即使每消费一条消息提交一次offset。

在0.8.1中,已经实验性的加入这个功能,0.8.2中可以广泛使用。

1.4 auto rebalancing

auto rebalancing的功能主要解决broker节点重启后,leader partition在broker节点上分布不均匀,比如会导致部分节点网卡流量过高,负载比其他节点高出很多。

auto rebalancing主要配置如下:

controlled.shutdown.enable ,是否在在关闭broker时主动迁移leader partition。
  • 1

基本思想是每次kafka接收到关闭broker进程请求时,主动把leader partition迁移到其存活节点上,即follow replica提升为新的leader partition。如果没有开启这个参数,集群等到replica会话超时,controller节点才会重现选择新的leader partition,这些le

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/942601
推荐阅读
相关标签
  

闽ICP备14008679号