{"id":105431,"date":"2025-03-12T11:25:15","date_gmt":"2025-03-12T03:25:15","guid":{"rendered":"https:\/\/version-2.com\/?p=105431"},"modified":"2025-03-24T12:42:31","modified_gmt":"2025-03-24T04:42:31","slug":"get-ready-for-kafka-4-changes-and-upgrade-considerations","status":"publish","type":"post","link":"https:\/\/version-2.com\/zh\/2025\/03\/get-ready-for-kafka-4-changes-and-upgrade-considerations\/","title":{"rendered":"Get Ready for Kafka 4: Changes and Upgrade Considerations"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"105431\" class=\"elementor elementor-105431\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-71ae5294 post-content elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"71ae5294\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;_id&quot;:&quot;c4a899f&quot;,&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x&quot;:50,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y&quot;:50,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1e9119cd\" data-id=\"1e9119cd\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4f04f8cb elementor-widget elementor-widget-text-editor\" data-id=\"4f04f8cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/www.openlogic.com\/sites\/default\/files\/image\/2024-12\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg\" width=\"600\" height=\"400\" \/><\/p><div class=\"toc-filter\"><p>Apache Kafka 4, the much-anticipated next major release of the popular event streaming platform, is almost here. In this blog, find out what&#8217;s changing in 4.0 and how to plan your next Kafka upgrade.<!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-back-to-top.html.twig' --><!-- THEME DEBUG --><!-- THEME HOOK: 'toc_header' --><!-- BEGIN OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><p>\u00a0<\/p><h2 id=\"apache-kafka-project-update\">Apache Kafka Project Update<\/h2><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><p>With four minor releases (3.6 through 3.9), several patches, and a major release on the horizon, 2024 has arguably been the most eventful in the history of the <a href=\"https:\/\/kafka.apache.org\/\" target=\"_blank\" rel=\"noopener\">Apache Kafka project<\/a>. The biggest development, of course, is the upcoming release of Kafka 4, which we will discuss more in depth later in this blog. First, let&#8217;s review the 3.x releases from this year that contained significant updates related to some of the key changes coming in 4.0.<\/p><p>Most of the 3.x updates have been made with the upcoming 4.0 Zookeeper deprecation in mind. ZooKeeper has been replaced by <a href=\"https:\/\/www.openlogic.com\/blog\/kafka-raft-mode\">Kafka Raft (KRaft) mode<\/a> and an official Zookeeper to KRaft migration process was introduced in 3.6 and designated as production ready in 3.7.\u00a0Prior to 3.6, the only way to move to a KRaft-based Kafka cluster was a complete \u201clift and shift\u201d process, which entailed installing a new KRaft-based cluster and then manually moving topics, producers, and consumers.<\/p><p>JBOD (Just a Bunch of Disks) support for migrating KRaft clusters also was added in 3.7, and some existing features got enhancements as well, such as improved client metrics and observability as defined in <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-714%3A+Client+metrics+and+observability\">KIP-714<\/a> and early access to the next-gen consumer rebalancing protocol defined in <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol\" target=\"_blank\" rel=\"noopener\">KIP-848<\/a>.\u00a0Java 11 was also marked for deprecation in 3.7 and will be no longer be supported in 4.0.<\/p><p>With 3.8 and 3.9, Log4j appender was deprecated (and also targeted for removal in 4.0) and KIP-848 was promoted to preview status.\u00a0There were also several improvements made to KRaft migration, and the quorum protocol implemented in KRaft.\u00a0Support for dynamic KRaft quorums (as detailed in <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-853%3A+KRaft+Controller+Membership+Changes\" target=\"_blank\" rel=\"noopener\">KIP-853<\/a>) makes adding or removing controller nodes without downtime a much simpler process.\u00a0With these improvements, Kafka 3.9 has basically become the de facto \u201cbridge release\u201d to 4.0.<\/p><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-back-to-top.html.twig' --><!-- THEME DEBUG --><!-- THEME HOOK: 'toc_header' --><!-- BEGIN OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><h2>\u00a0<\/h2><h2 id=\"kafka-4-release-date\">Kafka 4 Release Date<\/h2><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><blockquote><p>According to the Kafka 4.0 <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/Release+Plan+4.0.0\" target=\"_blank\" rel=\"noopener\">release plan<\/a>, feature freeze concluded on December 11th, 2024 and there is a planned code freeze on January 15th, 2025. This means Kafka 4 will likely come out in the final days of January or early February, as the code freeze is typically followed by a stabilization period lasting at least two weeks.<\/p><\/blockquote><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-back-to-top.html.twig' --><!-- THEME DEBUG --><!-- THEME HOOK: 'toc_header' --><!-- BEGIN OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><h2>\u00a0<\/h2><h2 id=\"what-changing-in-kafka-4\">What&#8217;s Changing in Kafka 4<\/h2><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><p>Based on the latter 3.x releases described above, we know that the biggest changes in Kafka 4 are removals, all noteworthy, though some more monumental than others.<\/p><p>\u00a0<\/p><h3>Kafka Raft Mode (KRaft) Replaces ZooKeeper<\/h3><p>The most notable change in Kafka 4 is that you can no longer run <a href=\"https:\/\/www.openlogic.com\/blog\/using-kafka-zookeeper\">Kafka with ZooKeeper<\/a>, with KRaft becoming the sole implementation for cluster management.\u00a0While <a href=\"https:\/\/www.openlogic.com\/blog\/kafka-raft-mode\">KRaft mode<\/a> was marked as production ready for new clusters in 3.3, a few key pieces were needed before ZooKeeper deprecation and removal could be implemented.\u00a0With the introduction and refinement of the migration process and JBOD support, the Kafka development community feels that total removal of ZooKeeper is finally ready with 4.0.<\/p><p>\u00a0<\/p><h3>MirrorMaker 1 Removed<\/h3><p>While not as huge of an architectural shift as the ZooKeeper removal, MirrorMaker 1 support is also going away in 4.0.\u00a0Given that most organizations dropped\u00a0 MirrorMaker 1 for <a href=\"https:\/\/www.openlogic.com\/blog\/kafka-mirrormaker-overview\">MirrorMaker 2<\/a> quite some time ago, we expect this change to be less impactful to the Kafka ecosystem, but it is still notable nonetheless.<\/p><p>\u00a0<\/p><h3>Kafka Components Logging Moving to Log4j2<\/h3><p>With Log4j marked for deprecation in 3.8, 4.0 will also mark the complete transition from Log4j to Log4j2.\u00a0After the Log4Shell vulnerability was disclosed in late 2021, an industry-wide effort to move to Log4j2 was put into motion.\u00a0For this reason, most organizations already have moved off of Log4j, so while still a noteworthy change, it should not be all that impactful (and if you are still using Log4j, your systems are already most likely pwned at this point!).<\/p><p>\u00a0<\/p><blockquote><h3>Want More Kafka Insights?<\/h3><p><!-- THEME DEBUG --><!-- THEME HOOK: 'media' --><!-- FILE NAME SUGGESTIONS: \u25aa\ufe0f media--source-image.html.twig \u25aa\ufe0f media--image--embed.html.twig \u25aa\ufe0f media--image.html.twig \u25aa\ufe0f media--embed.html.twig \u2705 media.html.twig --><!-- BEGIN OUTPUT from 'themes\/contrib\/classy\/templates\/content\/media.html.twig' --><\/p><article class=\"media media--type-image media--view-mode-embed\"><!-- THEME DEBUG --><!-- THEME HOOK: 'field' --><!-- FILE NAME SUGGESTIONS: \u25aa\ufe0f field--media--thumbnail--image.html.twig \u25aa\ufe0f field--media--thumbnail.html.twig \u25aa\ufe0f field--media--image.html.twig \u25aa\ufe0f field--thumbnail.html.twig \u25aa\ufe0f field--image.html.twig \u2705 field.html.twig --><!-- BEGIN OUTPUT from 'themes\/custom\/themekit\/templates\/field\/field.html.twig' --><div class=\"field field--name-thumbnail field--type-image field--label-hidden field__item\"><img decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/www.openlogic.com\/sites\/default\/files\/image\/2023-06\/pdf-openlogic-kafka-images-2.jpg\" width=\"600\" height=\"400\" \/><br \/><!-- END OUTPUT from 'themes\/custom\/themekit\/templates\/field\/image.html.twig' --><!-- END OUTPUT from 'themes\/contrib\/classy\/templates\/field\/image-formatter.html.twig' --><\/div><p><!-- END OUTPUT from 'themes\/custom\/themekit\/templates\/field\/field.html.twig' --><\/p><\/article><p><!-- END OUTPUT from 'themes\/contrib\/classy\/templates\/content\/media.html.twig' --><\/p><p>Download the Decision Maker&#8217;s Guide to Apache Kafka for tips on partition strategy, using Kafka with Spark, security best practices, and more.<\/p><p><a href=\"https:\/\/www.openlogic.com\/resources\/decision-makers-guide-apache-kafka\"><span class=\"btn--blue-default\">Read Guide<\/span><\/a><\/p><p>\u00a0<\/p><\/blockquote><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-back-to-top.html.twig' --><!-- THEME DEBUG --><!-- THEME HOOK: 'toc_header' --><!-- BEGIN OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><h2 id=\"kafka-4-migration-and-upgrade-considerations\">Kafka 4 Migration and Upgrade Considerations<\/h2><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><p>There are definitely some considerations that should be taken into account when planning your <a href=\"https:\/\/www.openlogic.com\/blog\/kafka-raft-mode\">KRaft migration<\/a>.\u00a0First, if this is your first foray into KRaft, don\u2019t plan on retiring your entire ZooKeeper infrastructure anytime soon.\u00a0Best practices dictate that organizations should be running dedicated controller nodes for production clusters, so your production infrastructure will most likely not change.\u00a0For dev and integration\/testing environments, running in mix-mode is fine, so you might see some infrastructure reclamation occurring in those environments.<\/p><p>Another major consideration is the upgrade path you will need to take.\u00a0Since ZooKeeper is gone in 4.0, there will be no migration functionality associated with 4.0.\u00a0So, for organizations still running Zookeeper on a Kafka version prior to 3.7, an interim upgrade to 3.9 would be required.\u00a0Technically, with migration improvements introduced with 3.9, I\u2019d recommend doing this interim step even for installations later than 3.7.\u00a0The upgrade path would look something like:<\/p><p>3.x =&gt; 3.9 =&gt; ZK to KR migration =&gt; 4.0<\/p><p>Also of note is that Kafka 3.5 and later use a version of ZooKeeper that is not wire-compatible with version 2.4 and older. As such, for older Kafka clusters, a couple of additional interim steps will be required as well.\u00a0You would need to upgrade to Kafka 3.4, and then upgrade the version of ZooKeeper to 3.8. That migration path might look something like this:<\/p><p>2.3 =&gt; 3.4 =&gt; ZK 3.8 =&gt; 3.9 =&gt; ZK to KR migration =&gt; 4.0<\/p><p>This should be an edge case since older versions prior to 2.4 should mostly be retired at this point.<\/p><p>\u00a0<\/p><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-back-to-top.html.twig' --><!-- THEME DEBUG --><!-- THEME HOOK: 'toc_header' --><!-- BEGIN OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><h2 id=\"what-to-expect-in-future-kafka-4-x-releases\">What to Expect in Future Kafka 4.x Releases<\/h2><p><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-header.html.twig' --><\/p><p>If past precedence is any indication of future plans, I believe we will see continued improvements for containerization support and metrics collection, as well as refinements in the KRaft migration process.\u00a0In regards to consumer performance, the full release of KIP-848 will also bring significant changes.\u00a0Moving the complexity of the rebalancing protocol away from clients into the Group Coordinator, with a more modern event-loop process, creates a more incremental approach to rebalancing, where group-wide synchronization events will no longer be required for all coordination events.<\/p><p>Regardless, the future of Kafka looks pretty bright, with these enhancements likely to make the already popular event-streaming platform even better and more efficient.<\/p><p>\u00a0<\/p><blockquote><h3>SLA-Backed Technical Support for Kafka<\/h3><p>OpenLogic can optimize your Kafka deployments and make sure your implementation is upgrade-ready. Talk to an Enterprise Architect today to get started.<\/p><p><a href=\"https:\/\/www.openlogic.com\/solutions\/middleware\/apache-kafka\"><span class=\"btn--blue-ghost\">Kafka Support<\/span><\/a><!-- END OUTPUT from 'modules\/contrib\/toc_api\/templates\/toc-back-to-top.html.twig' --><\/p><p>\u00a0<\/p><\/blockquote><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a1b0f4 elementor-widget elementor-widget-shortcode\" data-id=\"1a1b0f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n\t\t<div data-elementor-type=\"page\" data-elementor-id=\"91828\" class=\"elementor elementor-91828\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6461a578 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"6461a578\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;_id&quot;:&quot;c4f773e&quot;,&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x&quot;:50,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y&quot;:50,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2f063c39\" data-id=\"2f063c39\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-14e1df2a elementor-widget elementor-widget-text-editor\" data-id=\"14e1df2a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>About Perforce <\/strong><br>The best run DevOps teams in the world choose Perforce. Perforce products are purpose-built to develop, build and maintain high-stakes applications. Companies can finally manage complexity, achieve speed without compromise, improve security and compliance, and run their DevOps toolchains with full integrity. With a global footprint spanning more than 80 countries and including over 75% of the Fortune 100, Perforce is trusted by the world\u2019s leading brands to deliver solutions to even the toughest challenges. Accelerate technology delivery, with no shortcuts.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\t\t<div data-elementor-type=\"page\" data-elementor-id=\"18103\" class=\"elementor elementor-18103\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-748947f elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"748947f\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;_id&quot;:&quot;c4f773e&quot;,&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x&quot;:50,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y&quot;:50,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7995c19\" data-id=\"7995c19\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a437045 elementor-widget elementor-widget-image-box\" data-id=\"a437045\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><div class=\"elementor-image-box-content\"><h3 class=\"elementor-image-box-title\">About Version 2 Digital<\/h3><p class=\"elementor-image-box-description\">Version 2 Digital is one of the most dynamic IT companies in Asia. The company distributes a wide range of IT products across various areas including cyber security, cloud, data protection, end points, infrastructures, system monitoring, storage, networking, business productivity and communication products.\n<br><br>\nThrough an extensive network of channels, point of sales, resellers, and partnership companies, Version 2 offers quality products and services which are highly acclaimed in the market. Its customers cover a wide spectrum which include Global 1000 enterprises, regional listed companies, different vertical industries, public utilities, Government, a vast number of successful SMEs, and consumers in various Asian cities.<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Apache Kafka 4, the much-anticipated next major release [&hellip;]<\/p>\n","protected":false},"author":149011790,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1298,1305,61],"tags":[1077,1302],"class_list":["post-105431","post","type-post","status-publish","format-standard","hentry","category-openlogic","category-1305","category-press-release","tag-1077","tag-openlogic"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Get Ready for Kafka 4: Changes and Upgrade Considerations - Version 2<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning\" \/>\n<meta property=\"og:locale\" content=\"zh_HK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get Ready for Kafka 4: Changes and Upgrade Considerations - Version 2\" \/>\n<meta property=\"og:description\" content=\"Apache Kafka 4, the much-anticipated next major release [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning\" \/>\n<meta property=\"og:site_name\" content=\"Version 2\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-12T03:25:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-24T04:42:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.openlogic.com\/sites\/default\/files\/image\/2024-12\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg\" \/>\n<meta name=\"author\" content=\"tracylamv2\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"tracylamv2\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9810\u8a08\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/2025\\\/03\\\/get-ready-for-kafka-4-changes-and-upgrade-considerations\\\/\"},\"author\":{\"name\":\"tracylamv2\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#\\\/schema\\\/person\\\/011bc7c3731c930bcfeecd52fefb6365\"},\"headline\":\"Get Ready for Kafka 4: Changes and Upgrade Considerations\",\"datePublished\":\"2025-03-12T03:25:15+00:00\",\"dateModified\":\"2025-03-24T04:42:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/2025\\\/03\\\/get-ready-for-kafka-4-changes-and-upgrade-considerations\\\/\"},\"wordCount\":1068,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.openlogic.com\\\/sites\\\/default\\\/files\\\/image\\\/2024-12\\\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg\",\"keywords\":[\"2025\",\"OpenLogic\"],\"articleSection\":[\"Openlogic\",\"2025\",\"Press Release\"],\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/version-2.com\\\/2025\\\/03\\\/get-ready-for-kafka-4-changes-and-upgrade-considerations\\\/\",\"url\":\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning\",\"name\":\"Get Ready for Kafka 4: Changes and Upgrade Considerations - Version 2\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.openlogic.com\\\/sites\\\/default\\\/files\\\/image\\\/2024-12\\\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg\",\"datePublished\":\"2025-03-12T03:25:15+00:00\",\"dateModified\":\"2025-03-24T04:42:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning#breadcrumb\"},\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning#primaryimage\",\"url\":\"https:\\\/\\\/www.openlogic.com\\\/sites\\\/default\\\/files\\\/image\\\/2024-12\\\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.openlogic.com\\\/sites\\\/default\\\/files\\\/image\\\/2024-12\\\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.openlogic.com\\\/blog\\\/upgrade-kafka-4-planning#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/version-2.com\\\/zh\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get Ready for Kafka 4: Changes and Upgrade Considerations\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#website\",\"url\":\"https:\\\/\\\/version-2.com\\\/zh\\\/\",\"name\":\"Version 2\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/version-2.com\\\/zh\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-HK\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#organization\",\"name\":\"Version 2\",\"url\":\"https:\\\/\\\/version-2.com\\\/zh\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/version-2.com\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/v2-hk-hor-4.png?fit=1795%2C335&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/version-2.com\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/v2-hk-hor-4.png?fit=1795%2C335&ssl=1\",\"width\":1795,\"height\":335,\"caption\":\"Version 2\"},\"image\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#\\\/schema\\\/person\\\/011bc7c3731c930bcfeecd52fefb6365\",\"name\":\"tracylamv2\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9d01d79cbfd8b2e878f5d701a362cc9fca466d33fec977b59706c23c1a2db15c?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9d01d79cbfd8b2e878f5d701a362cc9fca466d33fec977b59706c23c1a2db15c?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9d01d79cbfd8b2e878f5d701a362cc9fca466d33fec977b59706c23c1a2db15c?s=96&d=identicon&r=g\",\"caption\":\"tracylamv2\"},\"url\":\"https:\\\/\\\/version-2.com\\\/zh\\\/author\\\/tracylamv2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Get Ready for Kafka 4: Changes and Upgrade Considerations - Version 2","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning","og_locale":"zh_HK","og_type":"article","og_title":"Get Ready for Kafka 4: Changes and Upgrade Considerations - Version 2","og_description":"Apache Kafka 4, the much-anticipated next major release [&hellip;]","og_url":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning","og_site_name":"Version 2","article_published_time":"2025-03-12T03:25:15+00:00","article_modified_time":"2025-03-24T04:42:31+00:00","og_image":[{"url":"https:\/\/www.openlogic.com\/sites\/default\/files\/image\/2024-12\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg","type":"","width":"","height":""}],"author":"tracylamv2","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"tracylamv2","\u9810\u8a08\u95b1\u8b80\u6642\u9593":"5 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning#article","isPartOf":{"@id":"https:\/\/version-2.com\/2025\/03\/get-ready-for-kafka-4-changes-and-upgrade-considerations\/"},"author":{"name":"tracylamv2","@id":"https:\/\/version-2.com\/zh\/#\/schema\/person\/011bc7c3731c930bcfeecd52fefb6365"},"headline":"Get Ready for Kafka 4: Changes and Upgrade Considerations","datePublished":"2025-03-12T03:25:15+00:00","dateModified":"2025-03-24T04:42:31+00:00","mainEntityOfPage":{"@id":"https:\/\/version-2.com\/2025\/03\/get-ready-for-kafka-4-changes-and-upgrade-considerations\/"},"wordCount":1068,"commentCount":0,"publisher":{"@id":"https:\/\/version-2.com\/zh\/#organization"},"image":{"@id":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning#primaryimage"},"thumbnailUrl":"https:\/\/www.openlogic.com\/sites\/default\/files\/image\/2024-12\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg","keywords":["2025","OpenLogic"],"articleSection":["Openlogic","2025","Press Release"],"inLanguage":"zh-HK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning#respond"]}]},{"@type":"WebPage","@id":"https:\/\/version-2.com\/2025\/03\/get-ready-for-kafka-4-changes-and-upgrade-considerations\/","url":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning","name":"Get Ready for Kafka 4: Changes and Upgrade Considerations - Version 2","isPartOf":{"@id":"https:\/\/version-2.com\/zh\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning#primaryimage"},"image":{"@id":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning#primaryimage"},"thumbnailUrl":"https:\/\/www.openlogic.com\/sites\/default\/files\/image\/2024-12\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg","datePublished":"2025-03-12T03:25:15+00:00","dateModified":"2025-03-24T04:42:31+00:00","breadcrumb":{"@id":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning#breadcrumb"},"inLanguage":"zh-HK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning"]}]},{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning#primaryimage","url":"https:\/\/www.openlogic.com\/sites\/default\/files\/image\/2024-12\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg","contentUrl":"https:\/\/www.openlogic.com\/sites\/default\/files\/image\/2024-12\/opl-blog-what%27s-changing-in-kafka-4-600x400.jpg.jpeg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.openlogic.com\/blog\/upgrade-kafka-4-planning#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/version-2.com\/zh\/"},{"@type":"ListItem","position":2,"name":"Get Ready for Kafka 4: Changes and Upgrade Considerations"}]},{"@type":"WebSite","@id":"https:\/\/version-2.com\/zh\/#website","url":"https:\/\/version-2.com\/zh\/","name":"Version 2","description":"","publisher":{"@id":"https:\/\/version-2.com\/zh\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/version-2.com\/zh\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-HK"},{"@type":"Organization","@id":"https:\/\/version-2.com\/zh\/#organization","name":"Version 2","url":"https:\/\/version-2.com\/zh\/","logo":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/version-2.com\/zh\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/version-2.com\/wp-content\/uploads\/2020\/08\/v2-hk-hor-4.png?fit=1795%2C335&ssl=1","contentUrl":"https:\/\/i0.wp.com\/version-2.com\/wp-content\/uploads\/2020\/08\/v2-hk-hor-4.png?fit=1795%2C335&ssl=1","width":1795,"height":335,"caption":"Version 2"},"image":{"@id":"https:\/\/version-2.com\/zh\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/version-2.com\/zh\/#\/schema\/person\/011bc7c3731c930bcfeecd52fefb6365","name":"tracylamv2","image":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/secure.gravatar.com\/avatar\/9d01d79cbfd8b2e878f5d701a362cc9fca466d33fec977b59706c23c1a2db15c?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9d01d79cbfd8b2e878f5d701a362cc9fca466d33fec977b59706c23c1a2db15c?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9d01d79cbfd8b2e878f5d701a362cc9fca466d33fec977b59706c23c1a2db15c?s=96&d=identicon&r=g","caption":"tracylamv2"},"url":"https:\/\/version-2.com\/zh\/author\/tracylamv2\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pbQRKm-rqv","post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/posts\/105431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/users\/149011790"}],"replies":[{"embeddable":true,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/comments?post=105431"}],"version-history":[{"count":9,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/posts\/105431\/revisions"}],"predecessor-version":[{"id":108717,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/posts\/105431\/revisions\/108717"}],"wp:attachment":[{"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/media?parent=105431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/categories?post=105431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/tags?post=105431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}