Layer 1: External Access
Client → API Gateway
HTTP/REST with JWT Authentication. Only the API Gateway is exposed to the public internet.
Zero-Trust, Event-Driven, Polyglot Microservices.
Client → API Gateway
HTTP/REST with JWT Authentication. Only the API Gateway is exposed to the public internet.
Payment ↔ Account
gRPC with mTLS via SPIFFE/SPIRE. No static credentials (passwords/API keys) used for service-to-service auth.
Payment → Kafka → Account/Notify
Asynchronous decoupling using Kafka topics. Ensures resilience and scalability.
POST /payments to API Gateway (JWT required).PENDING in DB.payment.initiated event to Kafka.payments.transactions
accounts.balances