In this 19th edition of the Kafka Monthly Digest, I will cover what happened in the Kafka Community in August.
For last month’s digest, see “Kafka Monthly Digest: July 2019.”
The release process for 2.4.0 started when Manikumar Reddy volunteered to be the Release Manager on August 12, 2019. The initial release target is October 30, 2019. As always, the release plan is available on the wiki.
Last month, the community submitted 16 KIPs (KIP-500 to KIP-515), and these are the ones that caught my eye:
KIP-500: Replace ZooKeeper with a Self-Managed Metadata Quorum: Currently, Kafka uses Apache Zookeeper to store topic and broker metadata as well as handle controller election. While this has worked well, over the years, a number of limitations and difficulties have arisen. This KIP proposes removing the dependencies to ZooKeeper and instead replacing it by a system based on Kafka brokers. This proposal is only covering the high-level design of such a solution; the implementation details will be covered by follow-up KIPs.
KIP-504 - Add new Java Authorizer Interface: Kafka has had support for pluggable authorization since 0.9 (KIP-11). However, since then, the community has identified a number of new requirements, such as batching of authorization requests, reconfiguration support, finer audit capabilities, and additional context for each request. This KIP’s goal is to provide a brand-new authorization interface that covers all these scenarios.
KIP-511: Collect and Expose Client's Name and Version in the Brokers: Kafka clients exist for most languages, and this very diverse ecosystem supports many different subsets of the Kafka protocol. Cluster administrators usually have very limited information of the clients used by their users. However, in a number of cases—such as message conversion support, broker upgrades, or client troubleshooting—it would be really helpful to have some of this data. This KIP proposes adding a mechanism so Kafka clients can advertise their name and version when connecting to a cluster.
KIP-515: Enable ZK client to use the new TLS supported authentication: The latest ZooKeeper release (3.5.5) added support for TLS. Even though ZooKeeper’s days with Kafka may be counted, this KIP proposes updating the ZooKeeper client to support secured connections so data transiting between Kafka and ZooKeeper is encrypted.
- How to use Kafka Streams to process events from one topic to another?
- Introduction to Topic Log Compaction in Apache Kafka
- Kafka Basics: Tables vs Streams
IBM Event Streams for Cloud is Apache Kafka-as-a-service for IBM Cloud.