Event-driven microservices with Apache Kafka

Event-driven microservices with Apache Kafka

Some of the main challenges that monolith applications face are having low availability and handling service disruptions. This is where…

Some of the main challenges that monolith applications face are having low availability and handling service disruptions. This is where the use of Apache Kafka for asynchronous communication between microservices can help you avoid bottlenecks that monolithic architectures with relational databases would likely run into.

With Kafka, not only do you get high availability, but outages are less of a concern and failures are handled gracefully with minimal service interruption. The key here is Kafka’s ability to retain data for a configured amount of time. This gives you the option to rewind and replay events as needed.

So what is an event?

Let’s take a page out of the English dictionary. By definition, an event is a thing that happens at a given time especially if it’s of some importance. If we bring it to the software side of things we can say that events are things that happen, within a software system or, more broadly, during the operation of a business or other human process that interacts with a system. An event-driven application is one that is organized around reacting to these events. Examples of events might include:

  • A new user requesting login credentials.
  • A shopping customer arriving at check out.
  • Your pizza delivery getting to your front door.
  • An email reaching the recipient.
  • Video playback on request.

When such an event takes place, there will be a corresponding action or process that is initiated in response. The corresponding response doesn’t have to be an action but can be as simple as just logging the event alone.

It should come as no surprise that the way we see events in software systems is no different from how we perceive events in our daily lives.

This means that while events can take any shape or form, there is no fixed guide on how they should be built. What matters is how events are handled is based on the specific type of architecture used.

There are a lot of advantages to designing applications in this way. From a business perspective, it makes the development of systems fall more in line with real-world processes. There is also the added advantage of being able to insert new events into the system as needed. A quick example of this would be if a user is required to agree to a certain term before a purchase can go through instead of just completing the checkout in one go due to updated regulations.

kafka microservices apache-kafka cloud software-engineering

What is Geek Coin

What is GeekCash, Geek Token

Best Visual Studio Code Themes of 2021

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Multi-cloud Spending: 8 Tips To Lower Cost

Mismanagement of multi-cloud expense costs an arm and leg to business and its management has become a major pain point. Here we break down some crucial tips to take some of the management challenges off your plate and help you optimize your cloud spend.

Software Developer vs Software Engineer — Differences: Bogus or Real?

In this article, see if there are any differences between software developers and software engineers. What you’re about to read mostly revolves around my personal thoughts, deductions, and offbeat imagination. If you have different sentiments, add them in the comment section, and let’s dispute! So, today’s topic…

What are the benefits of cloud migration? Reasons you should migrate

To move or not to move? Benefits are multifold when you are migrating to the cloud. Get the correct information to make your decision, with our cloud engineering expertise.

Microservice communication with Apache Kafka

One of the must challenging aspects of micro-services is the communication. But there is an easy way to communicate with greatest benefits…

App Modernization + Hybrid Cloud Architectures With Apache Kafka [Video]

App Modernization + Hybrid Cloud Architectures With Apache Kafka [Video] Apache Kafka is a battle-tested technology for hybrid cloud architectures to integrate legacy infrastructure and cloud-native microservices. Video and Live Demo of Hybrid Replication With Kafka.