Validated Patterns

Retail

Validation status:
Tested Tested
CI status:
Links:

About the retail pattern

This pattern demonstrates a pattern that models the store side of a retail application.

It is derived from the Quarkus Coffeeshop Demo created by Red Hat Solution Architects. The demo showcases the use of multiple microservices that interact through Kafka messaging and persist data in a PostgreSQL database.

This demo pulls together several different strands of the demo and allows for multiple stores to be installed on remote clusters via ACM if the user desires.

The demo allows users to go to the store’s web page, order drinks and food items, and see those items made and served by the microservices in real time. The pattern includes build pipelines and a demo space, so that changes to the applications can be tested prior to production deployments.

Solution elements

  • How to use a GitOps approach to keep in control of configuration and operations

  • How to centrally manage multiple clusters, including workloads

  • How to build and deploy workloads across clusters using modern CI/CD

  • How to architect a modern application using microservices and Kafka in Java

Red Hat Technologies

  • Red Hat OpenShift Container Platform (Kubernetes)

  • Red Hat Advanced Cluster Management (Open Cluster Management)

  • Red Hat OpenShift GitOps (ArgoCD)

  • Red Hat OpenShift Pipelines (Tekton)

  • Red Hat AMQ Streams (Apache Kafka Event Broker)

Architecture

The following diagram shows the relationship between the microservices, messaging, and database components:

Retail Pattern Architecture

  • The hub. This cluster hosts the CI/CD pipelines, a test instance of the applications and messaging/database services for testing purposes, and a single functional store.

  • Optional remote clusters. Each remote site can support a complete store environment. The default one modelled is a “RALEIGH” store location.

Demo Scenario

The Retail Validated Pattern/Demo Scenario showcases the Quarkus Coffeeshop retail experience. Rather than modeling the complexities of a full retail environment—such as item files, tax tables, and inventory management—it focuses on a subset of services to illustrate data flow, microservice interaction through APIs, messaging, and data persistence.

  • Web Service - the point of sale within the store. Shows the menu, and allows the user to order food and drinks, and shows when orders are ready.

  • Counter service - the “heart” of the store operation - receives orders and dispatches them to the barista and kitchen services, as appropriate. Users may order as many food and drink items in one order as they wish.

  • Barista - the service responsible for providing items from the “drinks” side of the menu.

  • Kitchen - the service responsible for providing items from the “food” side of the menu.

Further documentation on the individual services is available at the upstream Quarkus Coffeeshop documentation site.

Demo Scenario