Das Unternehmen, für das ich arbeite, evaluiert einige Middleware-Lösungen für Governance, Metering und Sicherheit von Webdiensten. Derzeit verwenden wir einen Enterprise Service Bus (ESB) für diesen Zweck, aber einige coole Manager haben beschlossen, eine API Management Middleware bereitzustellen.
Ich habe ein wenig über diese API-Management-Lösungen (auch API-Gateway-Lösungen genannt) recherchiert, konnte aber keinen Unterschied zwischen ihnen und den tatsächlichen ESBs feststellen. Ich habe einige Whitepapers von Mule, WSO2, Oracle usw. bewertet, aber die Funktionen beider Produkte scheinen fast gleich zu sein. Die Frage ist, was ein API-Management kann, was ein ESB nicht kann und umgekehrt. Welchen Mehrwert kann eine IT-Infrastruktur erzielen, indem ein ESB für ein API-Gateway ersetzt wird?
quelle
Antworten:
Der Grund, warum Sie die Konzepte durcheinander bringen, ist, dass die Anbieter sie in einem Paket verkaufen. Aber es handelt sich definitiv um getrennte Konzepte.
Ein API-Gateway bietet einen zentralen Zugriffspunkt für die Verwaltung, Überwachung und Sicherung des Zugriffs auf Ihre öffentlich zugänglichen Webdienste. Sie können damit auch Dienste auf unterschiedlichen Endpunkten konsolidieren, als stammten sie alle von einem einzigen Host. Angenommen, Sie hatten zehn verschiedene Service-Endpunkte, die alle Teil einer einzigen "Suite" von Services waren. Anstatt die Verbraucher über Ihren Dienst zu informieren, service1.yourcompany.com für einen Dienst und service2.yourcompany.com für einen anderen usw. zu verwenden, können Sie sie alle auf api.yourcompany.com/service1 oder api.yourcompany.com verweisen lassen / service2 und das Gateway sind dafür verantwortlich, die Anforderungen an die entsprechenden Endpunkte umzuleiten.
Ein ESB ist ein interner "Bus", über den Anwendungen und Dienste ungekoppelt miteinander kommunizieren können. Alle Anwendungen können sich in den Bus einhängen und jede Nachricht empfangen, die sie interessiert, wenn sie von einer anderen Anwendung veröffentlicht werden. Sie können auch ihre eigenen Nachrichten veröffentlichen, die eine andere Anwendung abhören und beantworten kann. Die Anwendungen sind nicht für die direkte Verbindung untereinander verantwortlich, sie veröffentlichen ihre Nachrichten im Bus und alle Interessenten hören zu und reagieren.
Logischerweise ist das API-Gateway kein Ersatz für einen ESB, sondern eine Erweiterung für eine serviceorientierte Architektur.
quelle