Membangun microservices dengan baik memerlukan mengatasi tantangan sistem terdistribusi melalui pola yang sudah terbukti — untuk komunikasi layanan, manajemen data, ketahanan, dan observabilitas. Pola-pola ini membantu mengelola kompleksitas inheren dari microservices.
Pola komunikasi dan API
✓ API GATEWAY → single entry point; centralizes cross-cutting concerns (routing, auth, etc.)
✓ SERVICE DISCOVERY → services find each other dynamically (registry) as instances change
✓ Sync (REST/gRPC) for request/response; ASYNC (events/queues) for decoupling → prefer
async/events to reduce coupling where possible
✓ BFF (Backend for Frontend) → tailored gateways per client type
