<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kafka on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/kafka/</link><description>Recent content in Kafka on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 11 Jul 2026 00:34:05 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/kafka/index.xml" rel="self" type="application/rss+xml"/><item><title>🛑⚡ When NOT TO USE Event-Driven Architecture (EDA)</title><link>https://foojayio.github.io/website/today/when-not-to-use-event-driven-architecture-eda/</link><pubDate>Sat, 11 Jul 2026 00:34:03 +0000</pubDate><guid>https://foojayio.github.io/website/today/when-not-to-use-event-driven-architecture-eda/</guid><description>&lt;h2 id="h2-0-when-event-driven-architecture-is-not-the-right-choice"&gt;When Event-Driven Architecture Is Not the Right Choice&lt;/h2&gt;
&lt;p&gt;Event-Driven Architecture (EDA) can help teams build scalable, loosely coupled and highly responsive distributed systems. Technologies such as Apache Kafka, RabbitMQ, Pulsar and cloud messaging platforms have made this architectural style increasingly popular.&lt;/p&gt;
&lt;p&gt;However, EDA also introduces significant complexity. Asynchronous communication requires teams to manage retries, duplicate events, eventual consistency, schema evolution, observability and failure recovery. When these challenges are introduced without a clear business or technical need, an event-driven system can become harder to develop, operate and debug than a simpler synchronous architecture.&lt;/p&gt;</description></item><item><title>Event-Driven Architecture in Java and Kafka</title><link>https://foojayio.github.io/website/today/event-driven-architecture-in-java-and-kafka/</link><pubDate>Tue, 10 Mar 2026 18:35:42 +0000</pubDate><guid>https://foojayio.github.io/website/today/event-driven-architecture-in-java-and-kafka/</guid><description>&lt;p&gt;Reactive Java is well suited to modern streaming, event driven applications. In this article, we&amp;rsquo;ll walk through an example of such an application using Reactive Java with MongoDB. Specifically, we&amp;rsquo;re going to cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why Reactive Java was introduced and how it differs from more traditional Java programming.&lt;/li&gt;
&lt;li&gt;Details of some of the key elements of Reactive Java - &lt;strong&gt;Mono&lt;/strong&gt; , &lt;strong&gt;Flux&lt;/strong&gt; and &lt;strong&gt;flatMap&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;A walk through of a sample application, comparing a Reactive version of the code using the Reactive Streams MongoDB driver, with a more traditional version of the code using the synchronous MongoDB driver.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-0-streaming-data-the-air-traffic-control-example"&gt;Streaming Data - The Air Traffic Control Example.&lt;/h2&gt;
&lt;p&gt;As a key part of global initiatives to modernize national airspace systems, many national aviation authorities have introduced mandates requiring most non-military aircraft transmit GPS based location data using a system known as Automatic Dependent Surveillance Broadcast, or &amp;ldquo;ADS-B&amp;rdquo;.&lt;/p&gt;</description></item><item><title>The Art of Performance Tuning: Why Saving 30% in the Cloud Means Nothing if Your Code Wastes 1000× More</title><link>https://foojayio.github.io/website/today/the-art-of-performance-tuning-why-saving-30-in-the-cloud-means-nothing-if-your-code-wastes-1000x-more/</link><pubDate>Tue, 25 Nov 2025 06:46:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-art-of-performance-tuning-why-saving-30-in-the-cloud-means-nothing-if-your-code-wastes-1000x-more/</guid><description>&lt;h2 id="h2-0-the-hidden-cost-of-good-enough-code"&gt;The Hidden Cost of &amp;ldquo;Good Enough&amp;rdquo; Code&lt;/h2&gt;
&lt;p&gt;A few weeks ago, Kirk Pepperdine published a fascinating performance challenge &amp;mdash; a small Java code snippet that appeared trivial but produced puzzling runtime behavior.&lt;/p&gt;
&lt;p&gt;He invited readers to take a shot at solving it. If you haven&amp;rsquo;t seen it yet, stop here for a moment and try it yourself &amp;mdash; and when you&amp;rsquo;re done, check his Kirk&amp;rsquo;s official solution&lt;/p&gt;
&lt;p&gt;When I saw it, I thought it would be a fun exercise to revisit some fundamentals &amp;mdash; but the deeper I went, the more I realized it wasn&amp;rsquo;t just about performance. It was about how we think.&lt;/p&gt;</description></item><item><title>Micrometer &amp; Prometheus in Spring Boot: Kafka Burger Orders</title><link>https://foojayio.github.io/website/today/micrometer-prometheus-in-spring-boot-kafka-burger-orders/</link><pubDate>Fri, 14 Nov 2025 10:13:03 +0000</pubDate><guid>https://foojayio.github.io/website/today/micrometer-prometheus-in-spring-boot-kafka-burger-orders/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/eSreg0xPGqo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;br /&gt;
&lt;p&gt;👨‍💻 GitHub: &lt;a href="https://github.com/vinny59200/dukeburger" target="_blank" rel="noopener noreferrer"&gt;https://github.com/vinny59200/dukeburger&lt;/a&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;🔵⚪⚪⚪⚪⚪⚪⚪⚪⚪⚪⚪&lt;/p&gt;
&lt;p&gt;This guide shows how to use &lt;strong&gt;Micrometer and Prometheus in Spring Boot&lt;/strong&gt; to track a custom metric for a Kafka-driven Burger Orders app. You&amp;rsquo;ll post a burger order to a REST endpoint, publish it to Kafka, consume the topic, and increment a counter for all &amp;ldquo;DukeBurger&amp;rdquo; orders. Copy the snippets, run, and you&amp;rsquo;ll see your metric on &lt;code&gt;/actuator/prometheus&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Boosting Kafka Latency Performance by 3x with Zing JVM and AutoMQ</title><link>https://foojayio.github.io/website/today/boosting-kafka-latency-performance-by-3x-with-zing-jvm-and-automq/</link><pubDate>Fri, 29 Aug 2025 12:57:48 +0000</pubDate><guid>https://foojayio.github.io/website/today/boosting-kafka-latency-performance-by-3x-with-zing-jvm-and-automq/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/boosting-kafka-latency-performance-by-3x-with-zing-jvm-and-automq/kafka-with-zing-and-automq.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;h2 id="h2-0-why-is-latency-so-important-to-kafka"&gt;Why is Latency so Important to Kafka?&lt;/h2&gt;
&lt;p&gt;The importance of low latency in Kafka stems from the use cases it enables. Many applications that rely on Kafka are time-sensitive.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Real-time applications&lt;/strong&gt;, such as financial trading platforms, fraud detection systems, and real-time monitoring services, depend on obtaining the most current information available. A delay of even a few seconds could mean the difference between a successful trade and a missed opportunity, or a prevented fraudulent transaction and a financial loss.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;User experience&lt;/strong&gt; is another area where latency plays a significant role. Think about in-app notifications, live-updating dashboards, or multiplayer games. A snappy, responsive system feels good to use. Sluggishness, on the other hand, can be a significant turn-off for users.&lt;/li&gt;
&lt;li&gt;From an &lt;strong&gt;operational perspective&lt;/strong&gt;, latency is a key indicator of health for your Kafka cluster. A spike in latency can be an early warning sign of a problem, such as a network bottleneck or a slow consumer, which can lead to message backlogs and system instability if left unaddressed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Maintaining low latency in the cloud with traditional Kafka is challenging. Its architecture couples compute and storage, making scaling slow and expensive due to data rebalancing. This creates a complex trade-off between high costs from overprovisioning and poor performance during traffic spikes. To solve this, new cloud-native streaming systems have emerged with a different architectural approach.&lt;/p&gt;</description></item><item><title>SpringBoot and Kafka Streams – Event Routing &amp; Testing</title><link>https://foojayio.github.io/website/today/spring-boot-kafka-streams-event-routing-testing/</link><pubDate>Thu, 19 Jun 2025 08:37:11 +0000</pubDate><guid>https://foojayio.github.io/website/today/spring-boot-kafka-streams-event-routing-testing/</guid><description>&lt;p&gt;Welcome to this hands-on guide to building a Spring Boot Kafka Streams application! (SpringBoot and Kafka Streams).&lt;/p&gt;
&lt;p&gt;In this article, I&amp;rsquo;ll walk you through a project I built during the first day of a three-day Kafka Streams training. The goal? Validate sightseeing events in Lille based on predefined timetables and route the data accordingly.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s explore how Kafka Streams powers a real-time city tour experience! 🧭&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/s07d3SmoBMI?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;br /&gt;
&lt;hr&gt;
&lt;p&gt;🔵⚪⚪⚪⚪⚪⚪⚪⚪⚪&lt;/p&gt;</description></item><item><title>Spring Cloud Stream: Demystifying Event-Driven Architecture</title><link>https://foojayio.github.io/website/today/spring-cloud-stream-demystifying-event-driven-architecture/</link><pubDate>Fri, 28 Feb 2025 08:34:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/spring-cloud-stream-demystifying-event-driven-architecture/</guid><description>&lt;p&gt;&lt;em&gt;Consider a bustling restaurant environment. The kitchen receives a flood of orders, waitstaff dart between tables, and patrons anxiously glance at their watches. Each time a waiter takes an order, he or she must verify it with the kitchen and wait for the kitchen to prepare the meal before attending to another table. This cumbersome method hampers efficiency, leaving the restaurant unable to meet customer demand.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Now envision an alternative situation. Instead of enduring delays, waitstaff enter orders into a centralized system, prompting the kitchen to begin meal preparation immediately upon receipt. As soon as the kitchen prepares the food, waiters receive instant notifications, enabling them to serve customers promptly without any delays. This exemplifies event-driven architecture: a fluid, real-time system where they exchange information asynchronously, promoting scalability and quick responsiveness.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Event-Driven Architecture and Change Data Capture Made Easy</title><link>https://foojayio.github.io/website/today/event-driven-architecture-and-change-data-capture-made-easy/</link><pubDate>Tue, 18 Feb 2025 16:44:14 +0000</pubDate><guid>https://foojayio.github.io/website/today/event-driven-architecture-and-change-data-capture-made-easy/</guid><description>&lt;p&gt;Hello again! In this article (Part 1), we will discuss two common ways to build modern &lt;a href="https://mezocode.com/microservice-journey-part-2-design-principles-for-well-crafted-architecture/" target="_blank" rel="noopener noreferrer"&gt;software systems&lt;/a&gt;
: &lt;strong&gt;Event-Driven Architecture (EDA) and Change Data Capture (CDC)&lt;/strong&gt;. They serve different purposes but can work well together in some situations.&lt;/p&gt;
&lt;p&gt;we&amp;rsquo;ll explain &lt;strong&gt;EDA&lt;/strong&gt; and &lt;strong&gt;CDC&lt;/strong&gt;, discuss their use cases, and explain when to use them and when not to. Using plain language and relatable examples, we&amp;rsquo;ll also explore how they work together.&lt;/p&gt;</description></item><item><title>Writing a Data Orchestrator in Java</title><link>https://foojayio.github.io/website/today/writing-a-data-orchestrator-in-java/</link><pubDate>Thu, 02 May 2024 19:43:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/writing-a-data-orchestrator-in-java/</guid><description>&lt;p&gt;&lt;strong&gt;A data orchestrator is a platform to schedule, organize, and monitor data-oriented workflows. A workflow is a set of tasks, most data orchestrators come with built-in tasks for a wide range of technologies and provide support for custom processing via a scripting language. A data orchestrator can have multiple types of triggers to start a workflow.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Most Data orchestrators are written in Python.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Most Data orchestrators mandate that &lt;strong&gt;you&lt;/strong&gt; write Python code.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Building Real-Time Applications to Process Wikimedia Streams</title><link>https://foojayio.github.io/website/today/building-real-time-applications-to-process-wikimedia-streams-using-kafka-and-hazelcast/</link><pubDate>Fri, 15 Sep 2023 14:33:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/building-real-time-applications-to-process-wikimedia-streams-using-kafka-and-hazelcast/</guid><description>&lt;p&gt;&lt;strong&gt;In this tutorial, developers, solution architects, and data engineers can learn how to build high-performance, scalable, and fault-tolerant applications that react to real-time data using Kafka and Hazelcast.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We will be using Wikimedia as a real-time data source. Wikimedia provides various streams and APIs (Application Programming Interfaces) to access real-time data about edits and changes made to their projects.&lt;/p&gt;
&lt;p&gt;For example, this source provides a continuous stream of updates on recent changes, such as new edits or additions to Wikipedia articles. Developers and solution architects often use such streams to monitor and analyze the activity on Wikimedia projects in real-time or to build applications that rely on this data, like this tutorial.&lt;/p&gt;</description></item><item><title>Starting Apache Kafka on Java 8, Win 10</title><link>https://foojayio.github.io/website/today/starting-apache-kafka-java-producer-consumer-windows-10/</link><pubDate>Mon, 07 Aug 2023 09:39:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/starting-apache-kafka-java-producer-consumer-windows-10/</guid><description>&lt;p&gt;This is part 2 of a two part series on Starting Apache Kafka Server, Configuring Kafka Topic, and Creating a Core Java Based Kafka Consumer, as also a Core Java Based Kafka Producer.&lt;/p&gt;
&lt;p&gt;All this is demonstrated in step-by-step examples. All of this is for Java v8.0, Apache Kafka v3.4 on Windows 10. &lt;a href="https://foojayio.github.io/website/today/starting-apache-kafka-on-windows-10-kafka-v3-4/"&gt;Part 1&lt;/a&gt;
 focused on Kafka Consumer and Kafka Producer from the Command Line. This article focuses on the Core Java counterparts. It is important that the reader reads part 1 and completes the example so that the reader has a basic foundation in Kafka.&lt;/p&gt;</description></item><item><title>Starting Apache Kafka v3.4 on Win 10</title><link>https://foojayio.github.io/website/today/starting-apache-kafka-on-windows-10-kafka-v3-4/</link><pubDate>Sat, 29 Jul 2023 07:43:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/starting-apache-kafka-on-windows-10-kafka-v3-4/</guid><description>&lt;h3 id="h3-0-introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;This is part one of a two part articles series on Running Apache Kafka Server, Configuring Kafka Topics, and Creating a Kafka Consumer and Kafka Producer.&lt;/p&gt;
&lt;p&gt;All this is demonstrated step-by-step example that works from the Command Line.&lt;/p&gt;
&lt;p&gt;All of this is for Apache Kafka v3.4 on Windows 10.&lt;/p&gt;
&lt;h3 id="h3-1-pre-requisites"&gt;Pre-Requisites&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Install Java ( v8.0 is used in this Example )&lt;/li&gt;
&lt;li&gt;Install Apache Kafka v3.4.0 from the Given Link&lt;/li&gt;
&lt;li&gt;Set Java Classpath &amp;gt; Set JAVA_HOME Correctly&lt;/li&gt;
&lt;li&gt;UnZIP/UnTAR Apache Kafka Downloaded in (2)&lt;/li&gt;
&lt;li&gt;Use a Text Editor like [ Notepad++ ] for Editing&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://blogger.googleusercontent.com/img/a/AVvXsEhDK7xTGu-H4ZyFHWetkwEfKxIEjdMZuqYwimNrD-hIblKuBYqaW1Fttr8V_f19Q73z0MS09mNQYEhjuX8noY92cQ0dy4koVTnEmGSV76byHwHgM2uJ9ePcLSQYwFlcqBiWRI4QgXHE1nZYNsFPV3v0Nf2ozGkGc91DE3aKxOrDZV2IsPGlzFEKpNB8txrF" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Ingesting Data from Kafka into the QuestDB time-series database</title><link>https://foojayio.github.io/website/today/ingesting-time-series-events-from-kafka-into-questdb/</link><pubDate>Tue, 28 Mar 2023 09:38:35 +0000</pubDate><guid>https://foojayio.github.io/website/today/ingesting-time-series-events-from-kafka-into-questdb/</guid><description>&lt;p&gt;If you are working on a project with fast or streaming data, chances are Apache Kafka is already &lt;a href="https://kafka.apache.org/powered-by#:~:text=Today%2C%20Kafka%20is%20used%20by,80%25%20of%20the%20Fortune%20100." target="_blank" rel="noopener noreferrer"&gt;part of your pipeline&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;But if you want to analyse your data, you will need to ingest from Kafka into some destination.&lt;/p&gt;
&lt;p&gt;For time-series data, QuestDB can be an excellent choice.&lt;/p&gt;
&lt;p&gt;For those of you who are not yet familiar with &lt;a href="https://github.com/questdb/questdb" title="QuestDB" target="_blank" rel="noopener noreferrer"&gt;QuestDB&lt;/a&gt;
, it is an Apache 2.0 licensed database designed for high throughput ingestion and fast SQL queries.&lt;/p&gt;</description></item><item><title>How Does Kafka Perform When You Need Low Latency?</title><link>https://foojayio.github.io/website/today/how-does-kafka-perform-when-you-need-low-latency/</link><pubDate>Wed, 18 Jan 2023 10:12:24 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-does-kafka-perform-when-you-need-low-latency/</guid><description>&lt;p&gt;Most Apache Kafka benchmarks appear to test high throughput but not low latency.&lt;/p&gt;
&lt;p&gt;Kafka was traditionally used for high throughput rather than latency-sensitive messaging, but it does have a low-latency configuration. (Mostly setting linger.ms=0 and reducing buffer sizes).&lt;/p&gt;
&lt;p&gt;In this configuration, you can get below 1-millisecond latency a good percentage of the time for modest throughputs.&lt;/p&gt;
&lt;p&gt;Benchmarks tend to focus on clustering Kafka, in a high-throughput configuration.&lt;/p&gt;
&lt;p&gt;While this is perhaps the most common use case, how does it perform if you need lower latencies?&lt;/p&gt;</description></item><item><title>How to Reduce Cloud Cost by 99% for EDA Kafka Applications</title><link>https://foojayio.github.io/website/today/how-to-reduce-cloud-cost-by-99-for-eda-kafka-applications/</link><pubDate>Wed, 11 Jan 2023 13:35:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-reduce-cloud-cost-by-99-for-eda-kafka-applications/</guid><description>&lt;p&gt;While the Cloud offers great convenience and flexibility, the operational cost for applications deployed in it can sometimes be significant.&lt;/p&gt;
&lt;p&gt;In this article, we show a way to substantially reduce operating costs in latency-sensitive Event-Driven Architecture (EDA) Java applications by migrating from Kafka to Chronicle Queue open-source, which is a more resource-efficient and&lt;a href="https://dzone.com/articles/kafka-vs-chronicle-for-microservices" title=" lower-latency" target="_blank" rel="noopener noreferrer"&gt;lower-latency&lt;/a&gt;
 queue implementation.&lt;/p&gt;
&lt;h3 id="h3-0-what-is-eda"&gt;What is EDA?&lt;/h3&gt;
&lt;p&gt;An EDA (Event-Driven Architecture) application is a distributed application where events (in the form of messages or DTOs) are produced, detected, consumed, and reacted to.&lt;/p&gt;</description></item><item><title>Kafka vs. Chronicle for Microservices: Which is 750 Times Faster?</title><link>https://foojayio.github.io/website/today/kafka-vs-chronicle-for-microservices-which-is-750-times-faster/</link><pubDate>Wed, 30 Nov 2022 08:15:40 +0000</pubDate><guid>https://foojayio.github.io/website/today/kafka-vs-chronicle-for-microservices-which-is-750-times-faster/</guid><description>&lt;p&gt;Apache Kafka is a common choice for inter-service communication.&lt;/p&gt;
&lt;p&gt;Kafka facilitates the parallel processing of messages and is a good choice for log aggregation. Kafka &lt;a href="https://www.confluent.io/blog/kafka-fastest-messaging-system/" title="claims to be low latency, high throughput" target="_blank" rel="noopener noreferrer"&gt;claims to be low latency, high throughput&lt;/a&gt;
. However, is Kafka fast enough for many microservices applications in the cloud?&lt;/p&gt;
&lt;p&gt;When I wrote &lt;a href="https://chronicle.software/queue/" title="Open Source Chronicle Queue" target="_blank" rel="noopener noreferrer"&gt;Open Source Chronicle Queue&lt;/a&gt;
, my aim was to develop a messaging framework with microsecond latencies, and banks around the world have adopted it for use in their latency-sensitive trading systems and real-time streaming applications.&lt;/p&gt;</description></item><item><title>Getting More Mileage Out of Kafka: OpenJDK vs. Azul Prime</title><link>https://foojayio.github.io/website/today/getting-more-mileage-out-of-kafka-openjdk-vs-azul-prime/</link><pubDate>Wed, 11 May 2022 06:47:07 +0000</pubDate><guid>https://foojayio.github.io/website/today/getting-more-mileage-out-of-kafka-openjdk-vs-azul-prime/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/getting-more-mileage-out-of-kafka-openjdk-vs-azul-prime/image-1024x560.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Building real-time data pipelines and streaming applications just got more cost-effective.&lt;/p&gt;
&lt;p&gt;Kafka is great because it&amp;rsquo;s horizontally scalable, fault-tolerant, and runs in production for thousands of companies &amp;ndash; and we figured out how to help you get more mileage out of it.&lt;/p&gt;
&lt;h2 id="h-how-we-did-it"&gt;How We Did It&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://www.azul.com/blog/kafka-throughput-on-azul-platform-prime-vs-openjdk/" target="_blank" rel="noopener noreferrer"&gt;a recent post&lt;/a&gt;
 we compared Kafka throughput on Azul Platform Prime versus OpenJDK, noting that on our config Azul Platform Prime reaches 45% higher max throughput than OpenJDK.&lt;/p&gt;</description></item><item><title>Bring Streaming to Apache Cassandra with Apache Pulsar</title><link>https://foojayio.github.io/website/today/bring-streaming-to-apache-cassandra-with-apache-pulsar/</link><pubDate>Thu, 05 May 2022 18:10:42 +0000</pubDate><guid>https://foojayio.github.io/website/today/bring-streaming-to-apache-cassandra-with-apache-pulsar/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/bring-streaming-to-apache-cassandra-with-apache-pulsar/1_4VRCkVXi6RRfK4pwrJkPjw-1024x506.jpeg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Twitch, YouTube, Instagram, Facebook &amp;mdash; virtually every major brand nowadays uses live streaming to connect and engage their audience.{#2544}&lt;/p&gt;
&lt;p&gt;For enterprises and developers &lt;a href="https://datastax.medium.com/build-your-first-app-with-javascript-node-js-and-datastax-astra-db-573abc238583" target="_blank" rel="noopener noreferrer"&gt;building cloud-native applications&lt;/a&gt;
, this growing trend creates a need for streaming technologies that can reliably handle the rush of massive amounts of data, while also being flexible and easy to manage for developers.{#2544}&lt;/p&gt;
&lt;p&gt;One such technology is &lt;a href="https://pulsar.apache.org/" target="_blank" rel="noopener noreferrer"&gt;Apache Pulsar&lt;/a&gt;
&lt;a href="https://cassandra.apache.org/_/index.html" target="_blank" rel="noopener noreferrer"&gt;®&lt;/a&gt;
 &amp;mdash; an open-source, distributed messaging and streaming platform that&amp;rsquo;s easy to deploy, simple to scale, and packed with developer-friendly APIs.{#8b5a}&lt;/p&gt;</description></item><item><title>Increasing Event Streaming with Kafka and Azul</title><link>https://foojayio.github.io/website/today/increasing-event-streaming-with-kafka-and-azul/</link><pubDate>Tue, 29 Mar 2022 13:41:48 +0000</pubDate><guid>https://foojayio.github.io/website/today/increasing-event-streaming-with-kafka-and-azul/</guid><description>&lt;p&gt;Welcome to getting started with &lt;a href="https://www.azul.com/products/prime/" target="_blank" rel="noopener noreferrer"&gt;Azul Platform Prime&lt;/a&gt;
 and &lt;a href="https://www.azul.com/technologies/kafka/" target="_blank" rel="noopener noreferrer"&gt;Apache Kafka&lt;/a&gt;
!&lt;/p&gt;
&lt;p&gt;In this article you will learn how to switch between two different Java runtime environments to run an Apache Kafka instance.&lt;/p&gt;
&lt;p&gt;In later articles, this will allow you to compare runtime performance benchmarks.&lt;/p&gt;
&lt;p&gt;Before we begin, let&amp;rsquo;s supply some context on Azul&amp;rsquo;s Platform offerings and Apache Kafka.&lt;/p&gt;
&lt;h2 id="h-what-is-azul-platform-prime-and-platform-core"&gt;What is Azul Platform Prime and Platform Core?&lt;/h2&gt;
&lt;p&gt;Azul offers two Java runtime environments &lt;a href="https://www.azul.com/products/prime/" target="_blank" rel="noopener noreferrer"&gt;Platform Prime&lt;/a&gt;
 and &lt;a href="https://www.azul.com/products/core/" target="_blank" rel="noopener noreferrer"&gt;Platform Core&lt;/a&gt;
. Platform Prime (formerly known as Zing) is a high-performance implementation of the JVM (Java Virtual Machine) while Platform Core refers to Azul&amp;rsquo;s solution that includes the Zulu build of OpenJDK with dedicated support.&lt;/p&gt;</description></item><item><title>Why Pulsar Beats Kafka for a Scalable, Distributed Data Architecture</title><link>https://foojayio.github.io/website/today/why-pulsar-beats-kafka-for-a-scalable-distributed-data-architecture/</link><pubDate>Thu, 03 Mar 2022 14:10:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/why-pulsar-beats-kafka-for-a-scalable-distributed-data-architecture/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/why-pulsar-beats-kafka-for-a-scalable-distributed-data-architecture/shutterstock_1009002379-350x233-1.jpg" alt="" loading="lazy"&gt;
 © Shutterstock / Jurik Peter&lt;/p&gt;
&lt;p&gt;The leading open source event streaming platforms are Apache Kafka and Apache Pulsar. For enterprise architects and application developers, choosing the right event streaming approach is critical, as these technologies will help their apps scale up around data to support operations in production.&lt;/p&gt;
&lt;p&gt;Everyone wants results faster. We want applications that know what we want, even before we know ourselves. We want systems that constantly check for fraud or security issues to protect our data. We want applications that are smart enough to react and change plans when faced with the unexpected. And we want those services to be continuously available.&lt;/p&gt;</description></item><item><title>Simplify Migrating from Kafka to Pulsar with Kafka Connect Support</title><link>https://foojayio.github.io/website/today/simplify-migrating-from-kafka-to-pulsar-with-kafka-connect-support/</link><pubDate>Wed, 05 Jan 2022 11:30:09 +0000</pubDate><guid>https://foojayio.github.io/website/today/simplify-migrating-from-kafka-to-pulsar-with-kafka-connect-support/</guid><description>&lt;p&gt;Large-scale implementations of any system, such as the event-streaming platform Apache Kafka, often involve customizations and tools and plugins developed in-house. When it&amp;rsquo;s time to transition from one system to another, the task can become complicated, drawn-out, and error-prone. Often the benefits of an alternative system (which can include &lt;a href="https://gigaom.com/report/the-cost-savings-of-replacing-kafka-with-pulsar/" target="_blank" rel="noopener noreferrer"&gt;significant cost savings&lt;/a&gt;
 and other efficiencies) are outweighed by the risks and costs of migration. As a result, an organization can end up locked into a suboptimal situation, footing a bigger bill than necessary and missing out on modern features that help move the business forward faster.&lt;/p&gt;</description></item></channel></rss>