Introduction
Last updated
Last updated
In this workshop you'll learn how to implement reactive messaging functionality with Java, Quarkus, Kafka, Vert.x and MicroProfile. An end-to-end sample application will be deployed to Red Hat OpenShift.
The code is available as open source as part of the Cloud Native Starter project.
One benefit of reactive models is the ability to update web applications by sending messages, rather than pulling for updates. This is more efficient and improves the user experience.
The workshop uses a sample application to demonstrate reactive functionality. The simple application displays links to articles and author information.
Articles can be created via REST API. The web application receives a notification and adds the new article to the page. The animation shows how curl requests are executed at the bottom which trigger updates to the web application at the top.
The next diagram explains the flow between the different components and microservices.
API client 'Submissions' triggers the REST API of the 'Articles' service to create new articles.
The 'Articles' service sends a message to the 'Web-API' service via 'Kafka'.
The 'Web-API' provides a streaming endpoint
The web application 'Web-App' consumes the streaming endpoint
Note that in this workshop you will deploy the full application as described in the previous diagram. But to simplify the workshop you'll re-implement a simpler version of the 'Web-API' service which only invokes the 'Articles' service.
Time
Level
one hour
beginners
After you complete this workshop, you'll understand the following reactive functionality:
Sending and receiving Kafka messages via MicroProfile
Sending events from microservices to web applications via Server Sent Events
Sending in-memory messages via MicroProfile and Vert.x Event Bus
The intention of this workshop is not to explain every aspect of reactive programming, but to explain core reactive principles and to deploy a complete reactive application which you can inspect after the workshop in more detail.
The introductory page of the workshop is broken down into the following sections:
These are the labs of this workshop, go through all of them in sequence, start with pre work:
Create your Cloud Environment
Deploy example application via Script
Reactive Messaging with MicroProfile
Server Sent Events
Vert.x Event Bus
Use distributed Logging
This workshop has been tested on the following platforms:
IBM Open Shift: version 4.3
IBM Cloud Shell: beta
The blogs as well as the presentation describe the functionality in more detail.