Để đối phó với kiến trúc microservice, nó thường được sử dụng cùng với Reverse Proxy (chẳng hạn như nginx hoặc apache httpd) và đối với các mối quan tâm cắt ngang, mẫu cổng API triển khai được sử dụng . Đôi khi Reverse proxy thực hiện công việc của cổng API.
Sẽ rất tốt nếu thấy sự khác biệt rõ ràng giữa hai cách tiếp cận này. Có vẻ như lợi ích tiềm năng của việc sử dụng cổng API là gọi nhiều dịch vụ nhỏ và tổng hợp kết quả. Tất cả các trách nhiệm khác của cổng API có thể được thực hiện bằng cách sử dụng Reverse Proxy, chẳng hạn như:
- Xác thực (Nó có thể được thực hiện bằng cách sử dụng các tập lệnh nginx LUA);
- An ninh vận tải. Chính nó là nhiệm vụ Reverse Proxy;
- Cân bằng tải
- ....
Vì vậy, dựa trên điều này, có một số câu hỏi:
- Có hợp lý không khi sử dụng cổng API và proxy ngược một cách đồng thời (ví dụ: request-> Api gateway-> reverse proxy (nginx) -> cụ thể mictoservice)? Trong những trường hợp nào?
- Sự khác biệt nào khác có thể được triển khai bằng cách sử dụng cổng API và không thể được triển khai bằng Reverse proxy và ngược lại?