Tại sao 'tổng hợp' không được hỗ trợ trong hầu hết các giải pháp API Gateway?


15

Khi đọc về API Gateway, một trong những điều xuất hiện mỗi lần là API Gateway là nơi bạn nên tổng hợp kết quả từ nhiều điểm cuối. Nghe thật hay. Tuy nhiên, nhiều giải pháp API Gateway phổ biến như AWS API Gateway, Kongo và Netflix Zuul không hỗ trợ tính năng đó. Bạn cần phải hack nó hoặc tự thực hiện một bộ lọc tùy chỉnh.

Là tập hợp được coi là thực hành xấu? Làm thế nào để mọi người trả về kết quả từ nhiều điểm cuối?

Câu trả lời:


10

Có nhiều cách mà câu hỏi này có thể được trả lời:

Tổng hợp các điểm cuối

API Gateways chủ yếu tổng hợp các điểm cuối khác, không nhất thiết là kết quả của chúng. Đó là, nó là một máy chủ duy nhất có thể phản chiếu các điểm cuối khác với một số chức năng bổ sung, như xác thực hoặc định tuyến.

Vấn đề là tập trung một số dịch vụ, ẩn các máy chủ thực tế khỏi mạng bên ngoài, v.v.

Tổng hợp kết quả

Nếu bạn thực sự muốn có logic nghiệp vụ trên Cổng, kéo các tài liệu khác nhau sang tài liệu khác hoặc chỉ thay đổi yêu cầu hoặc phản hồi, bạn có thể đang xem Xe buýt Dịch vụ Doanh nghiệp .

Liệu tổng hợp có tốt không

Điều này là tất nhiên gây tranh cãi, và theo ý kiến ​​cá nhân. Người ta có thể lập luận rằng, có một lý do mà chúng tôi (hầu hết) tránh xa các giải pháp loại SOA / ESB. Lý do này có thể là do các trách nhiệm cá nhân không rõ ràng và sẽ có xu hướng thu thập về phía ESB, khiến các điểm cuối bị "câm". Cuối cùng dẫn đến ESB biết tất cả mọi thứ.

Cách tiếp cận "REST" là khác nhau. Nó xây dựng trên các điểm cuối "thông minh", biết phần của chúng và đảm bảo không có thành phần nào khác cần biết bất kỳ chi tiết nào. Bản thân ý tưởng này dường như mâu thuẫn với việc khiến Gateway biết nhiều hơn về các phản hồi .

Trên thực tế, có một số ý tưởng kiến trúc, giống như hệ thống tự Đựng , mà xây dựng trên ý tưởng, rằng bất kỳ chức năng khách hàng của bạn sẽ cần phải được bảo hiểm hoàn toàn bởi một thiết bị đầu cuối nhất định. Nó không cần giao tiếp đồng bộ với người khác để thực hiện một yêu cầu trong trách nhiệm riêng của mình. Điều này cũng cho thấy rằng kết quả tổng hợp có thể phản tác dụng.

Như mọi khi, tất cả phụ thuộc vào các yêu cầu chính xác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.