This image shows the data flow in a multi-tier topology consisting of a load balancer, a containerized application, and an autonomous database in an Oracle Cloud Infrastructure region.
Traffic from the public internet is routed by the DNS service through a web application firewall (WAF) to the load balancer.
The load balancer forwards incoming requests to an Ingress (Nginx) service in a Kubernetes cluster.
The Ingress service sends traffic to a Router (Traefik) microservice.
Depending on the type of the request, the Router service forwards the requests to one of the following services:
- Media (Node.js)
The Media service interacts with Oracle Cloud Infrastructure Object Storage.
- Storefront (HTML 5)
- REST API (Node.js)
The REST API service interacts with the following services:
- Oracle Cloud Infrastructure Functions and Email Delivery services, through the API Gateway service.
- Session DB (Redis)
- Oracle Cloud Infrastructure Streaming, through the Tracking (Go) service.
- Users (TypeScript)
- Orders (Java)
The Orders service interacts with the following services:
- Fulfillment (Micronaut), through Messaging (NATS)
- Payments (Go)
- Carts (Helidon)
- Catalog (Go)
The Orders, Users, Carts, and Catalog services interact with an autonomous database.