Last week, we discussed the core concepts of event-driven architecture (EDA). Today, I will present a concrete way to help you understand those concepts. As programmers or architects, usually the best way to learn is to code. So let's get started!
Have you ever developed an event-driven application or heard about this architectural approach? You might be surprised to learn that you may be using it even if you've never heard of it! This post series will explain what EDA architecture is, why it was created, what its components are, and how it is used in the Java ecosystem. In part one, you'll learn the core concepts of EDA. In part two, you'll walk through the implementation of a simple EDA project in Java.
Nowadays, building systems using microservices is almost a must, but applying and keeping microservices concepts is quite challenging. We want service providers to process all requests, even in cases of high demand, but how can we guarantee this, and how can we improve performance? The answer is message queues. So what's a message queue, and how does it work?
A common problem with the traditional blocking API style is what we call backpressure. Simply put, backpressure is when clients or consumers overwhelm the server's capacity to process requests. This creates the need for efficient hardware and software scaling. Fortunately, Spring WebFlux offers a solution.