Kafka 0.10 新特性介绍

来源:互联网 发布:Linux sl rl 休眠 编辑:程序博客网 时间:2024/06/01 13:43

Kafka Streams

  Kafka Streams在几个月前由Confluent Platform首先在其平台的技术预览中行提出,目前已经在Apache Kafka 0.10.0.0上可用了。Kafka Streams其实是一套类库,它使得Apache Kafka可以拥有流处理的能力。Kafka Streams包含了一整套描述常见流操作的高级语言API(比如 joining, filtering以及aggregating records),这使得开发者可以快速开发强大的流处理应用程序。Kafka Streams提供了状态和无状态的处理能力,并且可以部署在很多系统之上: Kafka Streams应用程序可以运行在YARN、Mesos、Docker containers上,甚至直接嵌入到现有的Java应用程序中。

机架感知(Rack Awareness)

  现在Kafka已经内置了机架感知以便隔离副本,这使得Kafka保证副本可以跨越到多个机架或者是可用区域,显著提高了Kafka的弹性和可用性。这个功能是由Netflix提供的

消息的时间戳

  现在所有Kafka中的消息都包含了时间戳字段,这个时间就是这条消息产生的时间。这使得Kafka Streams能够处理基于事件时间的流处理;而且那些通过时间寻找消息以及那些基于事件时间戳的垃圾回收特性能为可能。

SASL改进

  Apache Kafka 0.9.0.0版本引入了新的安全特性,包括通过SASL支持Kerberos。Apache Kafka 0.10.0.0现在支持更多的SASL特性,包括外部授权服务器,在一台服务器上支持多种类型的SASL认证以及其他的改进。

显示所有支持的Connectors和连接状态/控制的REST API

  在Kafka 0.10.0.0中,Kafka Connect得到了持续提升。在此之前,用户需要监控日志以便看到各个connectors以及他们task的状态,现在Kafka已经支持了获取的状态API这样使得监控变得更简单。同时也添加了控制相关的API,这使得用户可以在进行维护的时候停止一个connector;或者手动地重启那些失败的task。这些能够直观的在用户界面展示和管理connector目前可以在控制中心(Control Center)看到。

Kafka Consumer Max Records

  在Kafka 0.9.0.0,开发者们在新consumer上使用poll()函数的时候是几乎无法控制返回消息的条数。不过值得高兴的是,此版本的Kafka引入了max.poll.records参数,允许开发者控制返回消息的条数。

协议版本改进(Protocol Version Improvements)

  Kafka brokers现在支持返回所有支持的协议版本的请求API,这个特点的好处就是以后将允许一个客户端支持多个broker版本。

原创粉丝点击