Awaited began to come out, after 7 years of development and improvement, Apache Kafka 1.0.0 officially released! In my opinion, the greatest significance of this version is to identify the stability of the various components of Kafka, compared to the new features introduced by 1.0.0. But let's take a look at some of the new features introduced by 1.0.0:
- Kafka Streams API Optimization: Added some new operators (operator), such as Cogroup. Further improvements to the print and Writeastext methods make it easier to debug the streams program
- JMX Monitoring metrics: Many cluster health check indicators are introduced, and the Kafka Connect monitoring system is made to a large extent
The
- formally supports Java 9:java 9 to optimize the performance of TLS and CRC32 (JEP 249 and the introduction of Java.util.zip.CRC32C), so the Java 9 Enable Kafka security for faster data encryption and checksum calculation and validation of
- optimized SASL authentication error handling: Some SASL authentication exceptions were not explicitly distinguished from other exceptions. The 1.0.0 version handles these exceptions more gracefully, see KAFKA-4764
- Hardening the handling of JBOD disk crashes: Previous JBOD Kafka could not tolerate a disk crash, which would directly lead to broker downtime. This new feature officially supports JBOD error handling--The author thinks this is one of the two most anticipated 1.0 new features of the normal Kafka user (without using Kafka Streams): The optimization of the
- idempotent producer, in order to guarantee the order of the messages, Forces the max.in.flight.requests.per.connection=1 to be set after enabling idempotent producer, thus affecting the producer TPs. KAFKA-5949 introduces a new algorithm that increases the upper limit of the parameter to 5 while maintaining idempotent and Eos, to some extent mitigating the damage to TPS
- replace zkclient: This feature is not written in the official release notes, But it's actually integrated into the 1.0. Previous versions of Zookeeper's access all depended on zkclient and zookeeper's synchronization APIs, which tended to be a bottleneck when the number of partitions was large or the number of requests was large. Version 1.0 uses the native Zookeeper asynchronous API + callback method to anticipate the interaction between the controller and the zookeeper. --I think this is the second most anticipated 1.0 new feature
Kafka 1.0 is a bit slower than the version of Apache Flink rocket speed, but we've finally waited until this official version. The next question is, will confluent donate ksql to the Apache community:-)
Apache Kafka 1.0.0 officially released!