This reference architecture continues to build on previous work designing, developing and deploying microservices hosted by JBoss EAP 7 to OpenShift Container Platform. The architecture further extends the functionality of the previous project by utilizing the Red Hat JBoss Fuse Integration Services 2.0 xPaaS image to incorporate an API Gateway, thereby presenting a single API to upstream clients while proxying and routing requests to and from a mixture of event-based and API-based downstream microservices. The API Gateway service and event-based portion of microservices utilize the Spring Boot and Camel archetypes available via Fuse Integration Services 2.0, alongside the OpenShift Container Platform Messaging service backed by Red Hat JBoss A-MQ, to showcase orchestration of message-oriented middleware components via a variety of Enterprise Integration Patterns. Lastly, monitoring of the various microservices and event-based coordination is demonstrated on a per-service level, via FIS 2.0's built-in HawtIO integration, and on an all-encompassing aggregrated-container basis, via the EFK (Elasticsearch, Fluentd, and Kibana) Logging Stack.
The primary OpenShift project, fis2-msa, includes nine services, collectively representing an eCommerce service scenario:
This reference architecture takes advantage of the following provided middleware xPaaS container images and templates:
- Red Hat JBoss Fuse Integration Services 2.0 for OpenShift Container Platform
- Red Hat JBoss Enterprise Application Platform 7 for OpenShift
- Red Hat JBoss A-MQ for OpenShift
- EFK Stack Template for Aggregated Container Logs
- MySQL Container Image for OpenShift
[A-MQ deployment] Elastic messaging broker for gateway and event-driven modules
[FIS 2.0 deployment] Event-driven module simulating payment processing and validation
[FIS 2.0 deployment] Microservices gateway API module serving to route and proxy API requests from upstream consumers to downstream services
[EAP 7 deployment] Representation of a possible upstream consumer; simple eCommerce website
[MySQL deployment] Product information database
[EAP 7 deployment] RESTful service providing logic regarding product information
[MySQL deployment] Transaction and customer information database
[EAP 7 deployment] RESTful service providing logic regarding customer and order information
[FIS 2.0 deployment] Event-driven module simulating warehouse shipping fulfillment of successful transactions
For more information on design, deployment, utilization, please see the accompanying Building Microservices on OpenShift Container Platform with Fuse Integration Services Reference Architecture.