<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>3. Event driven architecture on Application Migration and Modernization Techlab</title><link>/docs/03.0/</link><description>Recent content in 3. Event driven architecture on Application Migration and Modernization Techlab</description><generator>Hugo</generator><language>en-us</language><atom:link href="/docs/03.0/index.xml" rel="self" type="application/rss+xml"/><item><title>3.1 Event driven architecture theory</title><link>/docs/03.0/theory/eventdrivenarchitecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/03.0/theory/eventdrivenarchitecture/</guid><description>&lt;h2 id="311-event-driven-architecture"&gt;3.1.1: Event driven architecture&lt;/h2&gt;
&lt;p&gt;When designing applications or software systems we usually tend to follow a very imperative way of building our components. Especially in monolithic applications, the communication between two components will often come from function or method calls from one component to another. Even when we follow a microservice architecture the most intuitive way for most people would be to simply replace these calls with REST calls. In theory, this is a valid approach and will often be the first step when migrating a monolith towards a microservice approach. The downside, however, will be the same. Whenever two components talk directly to each other they rely on an often synchronous direct communication channel. What happens if the other component is not available?&lt;/p&gt;</description></item><item><title>3.2 Event driven architecture with Apache Kafka</title><link>/docs/03.0/kafka/kafka/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/03.0/kafka/kafka/</guid><description>&lt;p&gt;This lab gives you an introduction to event-driven architecture with Apache Kafka. You will deploy an event-driven version of the producer-consumer application from &lt;a href="../../../02.0"&gt;lab 2&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="321-apache-kafka"&gt;3.2.1: Apache Kafka&lt;/h2&gt;
&lt;p&gt;In this section, we are going to deploy an &lt;a href="https://kafka.apache.org/" target="_blank" rel="noopener"&gt;Apache Kafka&lt;/a&gt;
 cluster with the &lt;a href="https://strimzi.io/" target="_blank" rel="noopener"&gt;Strimzi Operator&lt;/a&gt;
 and use it to distribute our events between the microservices. In modern large scale applications, messages must be processed, reprocessed, analyzed and handled - often in real-time. The key design principles of Kafka were formed based on the need for high-throughput architectures which are easily scalable and provide key features to store and process streamed data.&lt;/p&gt;</description></item></channel></rss>