The Apache Kafka Project has released Apache Kafka 2.8.0, which includes a slew of new features and enhancements. Most notable of which is utilizing Kafka without the need of Apache Zookeeper. More partitions per cluster, easier management, and better security are some of the things that can be made possible through this much-awaited innovation. In addition, there are several other bug fixes and features that provide performance benefits such as limiting the connection rate to avoid problems with misconfigured clients (KIP-612), topic identifiers (KIP-516), and much more in the line. Take a look!
Notable Features In Apache Kafka 2.8.0
Kafka Broker, Producer, And Consumer
No Longer Require ZooKeeper
Leveraging an internal implementation of the Raft consensus mechanism, the Apache Kafka team of developers is testing a technique to run Kafka brokers without using ZooKeeper. Because the implementation isn’t finished yet, the Kafka developers/experts team advises against using it in production. New clusters, on the other hand, can be created without Zookeeper and tracked back to basic production and consumption scenarios.
The team of Apache Kafka experts has released a new version of KIP-700, which will allow producers and customers to introduce additional administrative functions in the future without causing any disruption to their production systems. KIP-700 provides a new API for querying brokers directly for cluster information and separates the Kafka Admin client from the metadata API.
Emit JSONs With New Auto-Generated Schema
Debug-level request/response logs are provided by Kafka brokers. Earlier, these were semi-structured logs generated by the request/response classes’ toString override. KIP-673 converts these logs to JSON format, making them easier to interpret and utilize by the logging toolchains.
Limit Broker Connection Creation Rate
KIP-612 provides the option to establish a restriction on the pace at which the broker takes new connections, both overall and per IP address, to make it easier for you/Kafka developers to maintain broker stability.
In the past, topics in Kafka were identified purely by their names. But this time, KIP-516 features unique topic IDs for easy identification of topics. These topic IDs will remain unique for life even if the relevant topic is deleted.
Expose Task Configurations In Connect REST API
KIP-661 Connect extends the REST API with a new API endpoint and method that allows callers to get the real runtime configuration of the connector’s actions. This can be useful for troubleshooting as well as comprehending the consequences of errors.
Update Streams FSM To Clarify ERROR State Meaning
KIP-696 updates the state machine to give ERROR a more precise meaning, namely, that it is a terminal state signifying that the application has met a fatal ERROR. Kafka Streams offers a state machine to assist you in reasoning about the state of your applications via logs and metrics, as well as triggering user-defined behavior on state transitions. This state machine has an “ERROR” state, which in the past indicates that all threads have died.
Extend StreamJoined To Allow More Store Configs
The StreamJoined config object in Kafka Streams allows you to define different configuration settings for join operations. The capability to alter the parameters of the changelog topics that make the join state persistent is something that KIP-689 added. Although the default setup can still be used for most applications, experienced operators need the flexibility to fine-tune the internal topic settings that allow stream processing.
Introduce Kafka Streams Specific Uncaught Exception Handler
Previously, there was no native method for StreamThread to shut down a whole KStreams program. However, by adding a handler, we can now enhance how we handle failures in the stream and avoid corruption. This feature would be beneficial for instantly stopping the operation in order to avoid data corruption. As this is the best attempt, it will shut down every thread in the client, but some network partition scenarios might result in errors.
API To Start And Shut Down StreamThreads
In Kafka Streams, KIP-663 adds new methods to the KafkaStreams class without changing the existing methods. The sole suggested modification that modifies current behavior is to not return metadata for stream threads in state DEAD in the result of KafkaStreams#localThreadsMetadata().
Bring The Benefits Of Apache Kafka 2.8.0 To Your Company Through Ksolves!
As previously indicated, Apache Kafka 2.8.0 includes a slew of bug fixes and enhancements. Without a doubt, this new version of Apache Kafka will be a huge assist in brightening your company’s future. However, because every company’s expectations are different, switching your current system to Apache Kafka 2.8.0 completely at once would not be advantageous to you. Instead, we advise that you begin with a pilot program. It’s also a good idea to start with Apache Kafka managed services or engage a consultant from India or any other location for setup since it helps you simplify and streamline your Apache Kafka 2.8.0 integration so that it fits nicely with your company’s existing processes or environment. Ksolves company is recognized for offering excellent Apache Kafka consulting and development services and can offer an absolutely free trial for you. Being the leading Apache Kafka development company, our Apache Kafka managed services in India provide guaranteed outcomes and long-term deployment with the capacity to deliver solutions within the defined timeframe.