Một API gateway là điểm vào duy nhất đứng trước các microservice của bạn. Client gọi gateway, gateway định tuyến request đến đúng service và xử lý các mối quan tâm xuyên suốt (cross-cutting concerns).
Một API gateway là điểm vào duy nhất đứng trước các microservice của bạn. Client gọi gateway, gateway định tuyến request đến đúng service và xử lý các mối quan tâm xuyên suốt (cross-cutting concerns).
/orders/* đến orders service. ┌─────────────────────────────┐
Clients ─▶│ API Gateway │
│ auth · rate-limit · route │
└──┬──────────┬──────────┬────┘
▼ ▼ ▼
Orders Payments Users
# các route của gateway
routes:
- path: /orders/**
service: orders-service # chuyển tiếp lưu lượng order tới đây
rateLimit: 100/min # bóp các client lạm dụng
- path: /users/**
service: users-service
auth: required # gateway thực thi auth trước khi định tuyến
Gateway có thể trở thành điểm lỗi đơn (single point of failure) và là nút thắt cổ chai. Hãy chạy nó ở chế độ sẵn sàng cao và giữ business logic ra ngoài nó.
Một gateway giải phóng mỗi service khỏi việc cài lại auth, rate limiting, và TLS, và mang lại cho client một URL ổn định duy nhất thay vì hàng chục địa chỉ.
Không có nó, client phải biết địa chỉ của từng service và lặp lại logic xuyên suốt, điều này nhanh chóng trở nên khó quản lý.