Sự khác biệt giữa API Gateways và ESB? [đóng cửa]


20

Công ty tôi làm việc đang đánh giá một số giải pháp phần mềm trung gian để quản trị, đo lường và bảo mật các dịch vụ web. Hiện tại, chúng tôi đang sử dụng Bus dịch vụ doanh nghiệp (ESB) cho mục đích này, nhưng một số người tuyệt vời trong quản lý đã quyết định họ sẽ triển khai một số Middleware quản lý API.

Tôi đã nghiên cứu một chút về các Giải pháp quản lý API (còn gọi là API Gateway) nhưng không thể tìm thấy sự khác biệt giữa chúng và ESB thực tế. Tôi đã đánh giá một số trang trắng từ Mule, WSO2, Oracle, v.v., nhưng các tính năng được cung cấp bởi cả hai sản phẩm dường như gần giống nhau. Câu hỏi là, Quản lý API có thể làm gì mà ESB không thể làm và ngược lại? Giá trị nào có thể được thêm vào Cơ sở hạ tầng CNTT bằng cách thay thế ESB cho Cổng API?


4
Làm thế nào là câu hỏi "Sự khác biệt giữa Cổng API và ESB" ngoài chủ đề cho một cuộc thảo luận về Kỹ thuật phần mềm là gì?
Francisco hènconia

Câu trả lời:


21

Lý do bạn nhận được các khái niệm lộn xộn là các nhà cung cấp đang bán chúng trong một gói. Nhưng chúng chắc chắn là những khái niệm riêng biệt.

API Gateway cung cấp một điểm truy cập trung tâm để quản lý, giám sát và đảm bảo quyền truy cập vào các dịch vụ web được hiển thị công khai của bạn. Nó cũng sẽ cho phép bạn hợp nhất các dịch vụ trên các điểm cuối khác nhau như thể tất cả chúng đều đến từ một máy chủ duy nhất. Ví dụ: giả sử bạn có mười điểm cuối dịch vụ khác nhau, tất cả đều là một phần của một "bộ" dịch vụ. Thay vì thông báo cho người tiêu dùng về dịch vụ của bạn để sử dụng dịch vụ1.yourcompany.com cho một dịch vụ và dịch vụ2.yourcompany.com cho một dịch vụ khác, v.v., thay vào đó, bạn có thể yêu cầu họ truy cập api.yourcompany.com/service1 hoặc api.yourcompany.com / service2 và gateway sẽ chịu trách nhiệm chuyển hướng các yêu cầu đến các điểm cuối thích hợp.

ESB là một "Xe buýt" nội bộ cho phép các ứng dụng và dịch vụ giao tiếp với nhau theo kiểu không tách rời. Tất cả các ứng dụng có thể kết nối với xe buýt và chúng có thể nhận được bất kỳ tin nhắn nào mà chúng quan tâm khi được xuất bản bởi một ứng dụng khác. Họ cũng có thể xuất bản tin nhắn của riêng mình mà một ứng dụng khác có thể lắng nghe và phản hồi. Các ứng dụng không chịu trách nhiệm kết nối trực tiếp với nhau, họ xuất bản tin nhắn của mình lên xe buýt và tất cả các bên quan tâm lắng nghe và phản ứng.

Về mặt logic, API Gateway không phải là sự thay thế cho ESB mà là sự cải tiến cho kiến ​​trúc hướng dịch vụ.


1
Tôi tin rằng đối số cho việc sử dụng ESB là như nhau. ESB là các điểm truy cập trung tâm và có thể thực hiện cân bằng tải, giám sát, đo sáng và bảo mật các dịch vụ từ các điểm cuối khác nhau. Bạn cũng có thể chuyển URL của ESB cho người tiêu dùng thay vì URL của các dịch vụ riêng lẻ. Cho đến nay, không có gì mới.
dliber

ESB là API API nội bộ dành cho tiêu dùng bên ngoài. Nếu bạn muốn sử dụng API Gateway bên trong thay vì ESB tôi đoán không có gì ngăn cản bạn.
Michael Brown

Đó chính xác là vấn đề. Có sự chồng chéo các tính năng của ESB và nền tảng API. Bạn có thể triển khai ESB để truy cập bên ngoài hoặc nền tảng API để truy cập nội bộ. Nếu các tính năng của chúng là như nhau, lợi ích của việc sử dụng cái này thay vì cái kia là gì? Điều gì làm cho chúng khác nhau để bạn có thể sử dụng cái này thay vì cái kia (hoặc cả hai cùng nhau) và mang lại giá trị thực sự cho doanh nghiệp của bạn?
dliber

Một điều ESB được thiết kế cho lưu lượng lớn. Nó thường có một giao thức độc quyền hoặc không thân thiện với internet. API Gateway được thiết kế để dịch giữa các giao thức Internet (SOAP, JSON, XML, HL7) và đặt các yêu cầu trên ESB. Về cơ bản, bạn CÓ THỂ sử dụng cổng để liên lạc giữa các dịch vụ nội bộ của mình, điều đó không nhất thiết làm cho nó phù hợp nhất.
Michael Brown
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.