Xây dựng microservices tốt đòi hỏi giải quyết các thách thức của distributed system thông qua các pattern đã được thiết lập — cho giao tiếp service, quản lý dữ liệu, resilience, và observability. Những pattern này giúp quản lý độ phức tạp vốn có của microservices.
Các pattern giao tiếp và API
✓ API GATEWAY → điểm vào duy nhất; tập trung hóa các mối quan tâm xuyên suốt (routing, auth, v.v.)
✓ SERVICE DISCOVERY → các service tìm thấy nhau động (registry) khi instance thay đổi
✓ Sync (REST/gRPC) cho request/response; ASYNC (event/queue) cho decoupling → ưu tiên
async/event để giảm coupling nơi có thể
✓ BFF (Backend for Frontend) → gateway tùy biến cho từng loại client
