Reactive Messaging with Quarkus on OpenShift
  • Introduction
  • Setup the IBM Cloud Environment
    • Introduction
    • Access the Cluster
    • Access IBM Cloud Shell
  • Setup the sample application
    • Exercise 1 - Setup via Script
    • YouTube - How to setup the sample application (optional)
  • Build new version of the Microservice
    • Exercise 2 - Reactive Messaging with MicroProfile
    • Exercise 3 - Server Sent Events
    • Exercise 4 - Vert.x Event Bus
    • Exercise 5 (optional) - Use distributed Logging
  • Resources
    • How to setup the reactive sample application on OpenShift
    • Blog posts related to reactive
    • Workshop: Reactive Endpoint with Quarkus on OpenShift
    • Cloud-Native-Starter project
    • Cloud-Native-Starter project reactive
Powered by GitBook
On this page
  • Architecture
  • Estimated time and level
  • Objectives
  • About this workshop
  • Agenda
  • Compatibility
  • Technology Used
  • Credits
  • What`s next?

Was this helpful?

Introduction

NextIntroduction

Last updated 4 years ago

Was this helpful?

In this workshop you'll learn how to implement reactive messaging functionality with Java, , , and . An end-to-end sample application will be deployed to .

The code is available as open source as part of the 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.

Architecture

The next diagram explains the flow between the different components and microservices.

  1. API client 'Submissions' triggers the REST API of the 'Articles' service to create new articles.

  2. The 'Articles' service sends a message to the 'Web-API' service via 'Kafka'.

  3. The 'Web-API' provides a streaming endpoint

  4. 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.

Estimated time and level

Time

Level

one hour

beginners

Objectives

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.

About this workshop

The introductory page of the workshop is broken down into the following sections:

Agenda

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

Compatibility

This workshop has been tested on the following platforms:

  • IBM Open Shift: version 4.3

  • IBM Cloud Shell: beta

Technology Used

Credits

What`s next?

The as well as the describe the functionality in more detail.

Jakarta EE
MicroProfile
Quarkus
Apache Kafka
PostgresSQL
RedHat OpenShift
Microservices architecture
Vue.js
Niklas Heidloff
Harald Uebele
Thomas Südbröcker
blogs
presentation
Agenda
Compatibility
Technology Used
Credits
What`s next?
Pre work
Exercise 1
Exercise 2
Exercise 3
Exercise 4
Exercise 5 (optional)
Quarkus
Kafka
Vert.x
MicroProfile
Red Hat OpenShift
Cloud Native Starter
video
demo