Most of the new cloud-native applications and microservices designs are based on event-driven architecture (EDA), responding to real-time information by sending and receiving information about individual events. This kind of architecture relies on asynchronous, non-blocking communication between event producers and consumers through an event streaming backbone such as Red Hat AMQ Streams running on top of Red Hat OpenShift. In scenarios where many different events are being managed, defining a governance model where each event is defined as an API is critical. That way, producers and consumers can produce and consume checked and validated events. We can use a service registry as a datastore for events defined as APIs.
From my field experience working with many clients, I’ve found the most typical architecture consists of the following components:
- AMQ Streams to deploy Apache Kafka clusters as the streaming backbone.
- Apicurio Registry for storing events as APIs.
- Red Hat OpenShift Container Platform to deploy and run the different components.
- Spring Boot as the framework for developing Java client applications.
- Avro as the data serialization system to declare schemas as event APIs.
Continue reading “Integrating Spring Boot with Red Hat Integration Service Registry”