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.