API GatewayとESBの違いは?[閉まっている]


20

私が働いている会社は、Webサービスのガバナンス、計測、およびセキュリティのためのミドルウェアソリューションを評価しています。現在、この目的のためにEnterprise Service Bus(ESB)を使用していますが、経営陣の中には、API管理ミドルウェアをデプロイすることに決めた人もいます。

これらのAPI Management(別名API Gateway)ソリューションについて少し調査しましたが、それらと実際のESBの違いを見つけることができませんでした。Mule、WSO2、Oracleなどのホワイトペーパーを評価しましたが、両方の製品で提供される機能はほとんど同じようです。問題は、ESBができないAPI管理ができること、およびその逆です。API GatewayのESBを置き換えることにより、ITインフラストラクチャにどのような価値を追加できますか?


4
ソフトウェアエンジニアリングのディスカッションのトピック「API GatewayとESBの違いは何ですか」の質問はどうですか?
フランシスコダンコニア

回答:


21

コンセプトがごちゃごちゃになっているのは、ベンダーがパッケージでそれらを販売しているからです。しかし、それらは間違いなく別個の概念です。

API Gatewayは、公開されているWebサービスへのアクセスを管理、監視、および保護するための中央アクセスポイントを提供します。また、異なるエンドポイント全体のサービスを単一のホストから来ているかのように統合することもできます。たとえば、すべてが単一の「スイート」の一部である10個の異なるサービスエンドポイントがあるとします。あるサービスにはservice1.yourcompany.comを使用し、別のサービスにはservice2.yourcompany.comを使用するようにサービスの消費者に通知するのではなく、代わりにそれらすべてがapi.yourcompany.com/service1またはapi.yourcompany.comを指すようにすることができます。 / service2とゲートウェイは、要求を適切なエンドポイントにリダイレクトします。

ESBは内部の「バス」であり、アプリケーションとサービスが結合されていない方法で互いに通信できるようにします。すべてのアプリケーションはバスに接続でき、他のアプリケーションによって公開されたときに関心のあるメッセージを受信できます。また、別のアプリケーションがリッスンして応答する独自のメッセージを公開することもできます。アプリケーションは、相互に直接接続する責任を負わず、メッセージをバスに公開し、すべての関係者が聞いて反応します。

論理的には、API GatewayはESBの代わりではなく、サービス指向アーキテクチャの拡張機能です。


1
ESBを使用する理由は同じだと思います。ESBは中央のアクセスポイントであり、異なるエンドポイントからのサービスの負荷分散、監視、計測、およびセキュリティを実行できます。個々のサービスのURLの代わりに、ESBのURLをコンシューマに渡すこともできます。これまでのところ、新しいものはありません。
ドリバー14

ESBは内部APIゲートウェイであり、外部消費を目的としています。ESBの代わりにAPIゲートウェイを内部で使用する場合は、何も止められないと思います。
マイケルブラウン14

それがまさにポイントです。ESBとAPIプラットフォームの機能は重複しています。外部アクセス用のESBまたは内部アクセス用のAPIプラットフォームをデプロイできます。それらの機能が同じ場合、他の代わりに一方を使用する利点は何ですか?何が他とは違うのか(または両方を一緒に)使用してビジネスに真の価値を提供できるようにそれらを大きく変えるのですか?
ドリバー14

ESBは、大量のトラフィック用に設計されています。通常、独自のプロトコルまたはインターネットに対応していないプロトコルがあります。API Gatewayは、インターネットプロトコル(SOAP、JSON、XML、HL7)間で変換し、要求をESBに配置するように設計されています。基本的に、内部サービス間の通信にゲートウェイを使用できますが、必ずしも最適なゲートウェイとは限りません。
マイケルブラウン14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.