2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Eine API ist eine Softwarelösung, die als Vermittler fungiert und es zwei Anwendungen ermöglicht, miteinander zu interagieren. Die folgenden Funktionen machen APIs nützlicher und wertvoller:
Heutzutage verwendet fast jedes Unternehmen viele API-Typen.Gesichtsvergleichs-API、API zur Authentifizierung mit echtem Videonamen、Face-Authentifizierungs-API mit echtem Namen、Lebendigkeitstest-API、Gesichtserkennungs-APIusw., um die Servicekapazitäten von Unternehmen zu bereichern.
Es gibt auch viele Unternehmen, die hauptsächlich API-Produkte verkaufen, wie Baidu Smart Cloud, Yibao Pay, Xiangyun Identification, Authing.cn usw., um Kunden bei der Lösung bestimmter Probleme zu unterstützen.
API-GatewayJaMikrodienste Ein wichtiges Konzept in der Architektur. Es bildet den Einstiegspunkt für externe Clients (alles, was nicht Teil des Microservices-Systems ist). Es handelt sich um die Komponente, die als Einstiegspunkt für die Anwendung fungiert.
Mit anderen Worten: Ein API-Gateway ist ein API-Verwaltungsserver, der Informationen über Endpunkte speichert. Es führt außerdem Authentifizierung, Ratenbegrenzung, Lastausgleich und mehr durch.
Um das API-Gateway besser zu verstehen, müssen wir wissen, warum ein API-Gateway erforderlich ist.
Um die Notwendigkeit eines API-Gateways zu verstehen, besprechen wir einen Anwendungsfall für eine elektronische Kommunikationsanwendung
Sehen Sie sich eine Fallstudie einer komplexen Seite (z. B. einer Produktseite) in einer E-Commerce-Anwendung an. Wenn wir uns die Amazon-Produktlistenseite unten ansehen, werden wir feststellen, dass diese spezielle Seite viele Informationen enthalten muss.
Zur Verdeutlichung listen wir alle Microservices auf, die möglicherweise zum Rendern der jeweiligen Seite oben erforderlich sind.
Bedenken Sie, dass es sich bei den sieben (7) verschiedenen Microservices, die zum Rendern der oben genannten Seite verwendet werden, um Produkte suchen, Inventar, Versand, Bewertungen und Rezensionen, Empfehlungsmaschine, Waren und Finanzen und Versicherungen handelt.
Hinweis: Die oben genannten sieben Microservices sind nur eine Hypothese zur Erläuterung des Konzepts des API-Gateways. In Wirklichkeit verfügt Amazon möglicherweise über eine unterschiedliche Anzahl von Microservices.
Das Problem: Da diese Microservices auf verschiedenen Servern bereitgestellt wurden, sind für eine Seite mindestens sieben Aufrufe erforderlich, wenn der Client auf diese Dienste zugreifen möchte
Aber ist dieser Ansatz wirklich gut? Ich glaube nicht, dass dies ein empfehlenswerter Ansatz ist, da wir sieben verschiedene Aufrufe durchführen müssen, was sich definitiv auf Leistung, Ressourcenverbrauch, Ladezeit usw. auswirkt. Der Client ist außerdem eng mit allen Diensten verbunden. Vorausgesetzt, wir müssen die Mikrodienste „Bewertungen“ und „Bewertungen“ in zwei verschiedene Dienste aufteilen, müssen wir den Client-Code aktualisieren. Der Kunde muss einmal anrufen, um die Rezension zu erhalten, und einmal, um die Bewertung zu erhalten, was wirklich nicht der beste Weg ist, damit umzugehen.
Lösung
Was ist also der empfohlene Ansatz? API Gateway: Wir haben eine Schicht namens API Gateway zwischen dem Client und den Microservices. Es ist der Front-End-Dienst für alle Microservices. Möchte nun ein Client auf den Microservice zugreifen, muss der Client das API-Gateway aufrufen. Nun ruft das API-Gateway wiederum alle Microservices auf und erhält alle Antworten, die wir möglicherweise benötigen. Dieser Vorgang wird als API-Komposition bezeichnet.
Kurz gesagt: Ein API-Gateway sitzt zwischen Clients und Microservices und fungiert als Gateway für alle Microservices.
Darüber hinaus kann uns die Verwendung des API-Gateways in vielerlei Hinsicht von Vorteil sein.
API Gateway hilft uns bei der Implementierung von A/B-Tests, Caching, der Verwaltung von Zugriffskontingenten, API-Zustandsüberwachung, API-Versionierung, Chaos-Monkey-Tests, Monetarisierung und mehr. Lassen Sie uns im Folgenden über einige der Vorteile sprechen.
Bei jedem API-Aufruf müssen Sie die öffentliche IP-Adresse verwenden, um auf den Dienst zuzugreifen. Dies legt das Risiko offen.
Durch die Umstellung auf API Gateway ist der Zugriff auf diese nur noch über private IP-Adressen möglichMikrodienste . Dies führt zu einer sichereren Art der Datentransaktionen. Auch,API-GatewayDer Einsatz von schützt Daten auch vor böswilligen Angriffen und DDoS-Angriffen.
Um die Sicherheit zu gewährleisten, sind TLS-Zertifikate erforderlich, und API Gateway übernimmt all dies, indem es alle unsere APIs hinter einer einzigen statischen IP oder Domäne hält und dabei hilft, sie mit Schlüsseln, Token und IP-Filterung zu schützen.
Es ist wichtig sicherzustellen, dass Benutzer, die sich bei Ihrer Anwendung anmelden, authentifiziert und autorisiert sind. API Gateway ist ein zentraler Einstiegspunkt, der alle Anforderungen problemlos erfüllt. Daher können sich nur autorisierte Benutzer anmelden und authentifizierte Benutzer können Änderungen vornehmen, wodurch Fehlertoleranz erreicht wird.
In Situationen, in denen es mehrere Anfragen gibt und der Datenverkehr zunimmt, kann API Gateway bei der Bewältigung helfen. Dies geschieht durch die Erstellung mehrerer Dienste und deren Aufruf im Round-Robin-Stil. Es verwaltet und leitet Clientanfragen basierend auf Benutzersegmenten weiter. Daher können Inhalte unterschiedlicher Qualität oder Geschwindigkeit unterschiedlichen Benutzern bereitgestellt werden.
Stellen Sie sich einen Anwendungsfall vor, bei dem zwei Microservices so definiert sind, dass sie Bilder/Videos in geringer Qualität bzw. Bilder/Videos in hoher Qualität für Desktop- und Mobilgeräte zurückgeben
In diesem Fall können wir ein API-Gateway so konfigurieren, dass es als Router fungiert. Wenn die Anfrage von einem mobilen Gerät kommt, leitet es die Anfrage an einen Bild-/Videodienst mit geringer Qualität weiter, wenn die Anfrage von einem Desktop kommt. Es kann die Anfrage an einen hochwertigen Bild-/Videodienst weiterleiten. Dieses Routing kann basierend auf Headern, Pfaden, Parametern usw. erfolgen.
Wenn ein oder mehrere Microservices zur Anwendung hinzugefügt oder daraus entfernt werden, aktualisieren wir den Clientcode nicht. In diesem Fall müssen wir einige Änderungen am API-Gateway selbst vornehmen, um Aufrufe basierend auf dem aktualisierten Microservice durchzuführen.
Die Bereitstellung statischer Dateien (HTML, JS, CSS, Schriftarten) über Microservices ist nicht die beste Verwendung. In diesem Fall können wir diese Dateien auf ein API-Gateway verschieben.
Das API-Gateway kann alle statischen Inhalte speichern und Kunden direkt bedienen. Ziehen Sie auch Dienste in Betracht, die Trendprodukte bewerten, bei denen Trends stündlich oder täglich berechnet werden. Sobald der Trend für den Rest der Zeit berechnet wurde, gibt der Dienst daher wiederholt dieselbe Antwort zurück.In diesem Fall verfügt das API-Gateway über eine Funktion namensAntwortcacheFunktion, in der wir die URL und die Schwellenwertzeit angeben können, für die die Antwort zwischengespeichert werden muss.
Wenn wir ein Protokoll wie Web Sockets oder eine neuere Version von HTTP (d. h. HTTP/2) nutzen möchten, auch wenn unser Backend-Dienst nicht bereit oder nicht mit HTTP/2 oder Web Sockets kompatibel ist, ist API Gateway für die Konvertierung der neuen Vereinbarung verantwortlich in das alte Abkommen übernommen werden. Es kann als Protokolladapter fungieren.
Kong Gateway ist die beliebteste Open-Source-Lösung, die auf einem leichtgewichtigen Proxy basiertCloud-nativ API-Gateway. Es ist in Lua mit Hilfe von Nginx geschrieben. Es handelt sich um eine Vorlagen-Engine, die dabei hilft, die Veranstaltungszeit zu verkürzen. Kong garantiert eine beispiellose Latenzleistung und Skalierbarkeit für alle unsere Microservices-Anwendungen, unabhängig davon, wo sie ausgeführt werden. Kong API Gateway wird häufig von Unternehmen wie Nasdaq, Honeywell, Cisco, FAB, Expedia, Samsung, Siemens und Yahoo Japan verwendet.
Zu den von Kong bereitgestellten Funktionen gehören:
Kong verfügt über hervorragende Dokumentation und Integrationen
Apache APISIX wurde ursprünglich in der chinesischen Zhiliu-Technologie geboren, trat später in den Apache-Inkubator ein und wurde Open Source. Ming Wen, Vizepräsident des Projekts, sagte, dass dieses API-Gateway verschiedene Herausforderungen löst, die Cloud-native und Microservices mit sich bringen. Apache ApiSix wird von 360, HelloTalk, NetEase, TravelSky und anderen Unternehmen verwendet.
Apache APISIX basiert auf Nginx und etcd. Es verfügt über dynamische Routing- und Plug-in-Hot-Loading-Funktionen und eignet sich besonders für die API-Verwaltung unter Microservice-Systemen.
Tyk ist ein Open-Source-API-Gateway der Enterprise-Klasse. Sie können wählen, ob Sie selbst gehostet oder gehostet verwenden möchten.
Hier sind einige der Funktionen, die TYK standardmäßig bietet:
TYK ist auch auf dem AWS Marketplace verfügbar. Dies ist eine gute Wahl, wenn Ihr Anwendungsstapel auf AWS läuft.
Ocelot ist ein .net-API-Gateway. Das Projekt ist darauf ausgelegt, .net zum Ausführen von Microservices oder serviceorientierten Architekturen zu verwenden, die einen einheitlichen Systemeintrittspunkt erfordern. Es funktioniert jedoch mit allem, was HTTP verwendet, und läuft auf jeder Plattform, die von ASP mit .NET Core-Unterstützung unterstützt wird.
Ocelot fungiert in einer bestimmten Reihenfolge als Middleware. Es manipuliert das HttpRequest-Objekt in den durch seine Konfiguration angegebenen Zustand, bis es die Request Builder-Middleware erreicht. Es erstellt ein HttpRequestMessage-Objekt zum Anfordern nachgelagerter Dienste. Die Middleware, die die Anfrage stellt, ist das Letzte in der Ocelot-Pipeline. Es ruft nicht die nächste Middleware auf. Der Middleware-Teil ist HttpResponseseMDie Nachricht wird dem HttpResponse-Objekt zugeordnet und an den Client zurückgegeben.
Ocelot bietet Standardfunktionen wie Routing, Authentifizierung, Ratenbegrenzung, Caching, Lastausgleich und mehr. Chunked-Codierung, Weiterleitung von Host-Headern und Swagger werden nicht unterstützt.
Wukong API Gateway ist ein Dachprojekt der EOLINK Company. Es handelt sich um ein Golang-basiertes Microservice-Gateway, das leistungsstarkes dynamisches Routing, Service-Orchestrierung, Mandantenverwaltung, API-Zugriffskontrolle und andere Funktionen unterstützt. Wukong bietet eine grafische Oberfläche und ein Plug-in-System, um die Konfiguration einfacher und die Erweiterung komfortabler zu gestalten. Zusätzlich zu den Standardfunktionen bietet Goku auch Clustering, Hot Updates, Warnungen, Protokollierung und andere Funktionen.
Express Gateway basiert auf Express.js. Express Gateway ist eine Reihe von Komponenten, die deklarativ um Express herum aufgebaut sind, um API-Gateway-Anwendungsfälle zu erfüllen. Die Leistungsfähigkeit von Express Gateway nutzt das reichhaltige Ökosystem rund um die Express-Middleware. Unternehmen wie Joyent, The Linux Foundation, VIRICITI, Switch Media, Coozy und Musement nutzen Express-Gateways in großem Umfang. Es ist einfach, schnell und bietet alle grundlegenden Funktionen.
Gloo ist das voll funktionsfähige API-Gateway und Ingress-Controller der nächsten Generation für Cloud-native Umgebungen. Es basiert auf Envoy Proxy und dient zur Verbindung, Sicherung und Steuerung des Datenverkehrs zwischen Anwendungsdiensten. Gloo unterstützt die Verbindung zu einer Vielzahl von Workloads, um diese zu schützen und zu verwalten, und zeichnet sich durch Routing auf Funktionsebene aus. Es ist als Open Source und Enterprise verfügbar. Die Enterprise Edition bietet die folgenden Funktionen:
KrakenD ist ein äußerst leistungsstarkes Open-Source-API-Gateway. Seine Kernfunktionalität besteht darin, eine API zu erstellen, die viele Microservices in einem einzigen Endpunkt zusammenfasst und so die schwere Arbeit für Sie automatisiert: Aggregation, Transformation, Filterung, Dekodierung, Drosselung, Validierung und mehr. Es bietet eine deklarative Möglichkeit, Endpunkte zu erstellen. Es ist gut strukturiert und geschichtet und seine Funktionalität kann mithilfe von Community- oder intern entwickelter Plug-and-Play-Middleware erweitert werden. KrakenD behauptet, schneller zu sein als Kong und Tyk.
Fusion ist ein API-Managementsystem, da es bei der Entwicklung der eigentlichen API-Endpunkte hilft (d. h. beim Anfordern und Transformieren von Daten aus der Datenbank). Es ist nicht auf die Weiterleitung von Anfragen an eine andere API beschränkt. Es bietet ein einfaches und intuitives Backend zur Steuerung und Verwaltung von APIs. Zu den von Fusion bereitgestellten Funktionen gehören:
WSO2 ist eine vollständige Lebenszyklus-API-Verwaltungslösung, die überall ausgeführt werden kann. Es kann vor Ort, in der Cloud oder hybrid bereitgestellt werden, wobei seine Komponenten über mehrere Cloud- und lokale Infrastrukturen verteilt und bereitgestellt werden können. Enthält ein Cloud-natives API-Gateway und bietet einen Kubernetes-Operator zur einfachen Konvertierung von Roh-Microservices in verwaltete APIs. API Manager lässt sich in das Service Mesh integrieren, um eine vollständige Management- und Kontrollebene für die Verwaltung, Überwachung und Monetarisierung von APIs und API-Produkten bereitzustellen. Es unterstützt API-Publishing, Lebenszyklusmanagement, Anwendungsentwicklung, Zugriffskontrolle, Ratenbegrenzung und Analyse in einem klar integrierten System.
Apigee ist eine cloudübergreifende API-Verwaltungsplattform von Google Cloud.
Es weist folgende Eigenschaften auf:
Endpoint ist eine schlanke Apigee-Version von Google Cloud. Es eignet sich am besten für Entwickler, um APIs auf jedem Google Cloud-Backend zu entwickeln, bereitzustellen und zu verwalten. Es stellt seinen Kunden Tools und Bibliotheken aus App Engine-Anwendungen bereit. Google Cloud Endpoints sind eng mit anderen Produkten wie Trace und Logging zur Überwachung, Auth0 und Firebase zur Authentifizierung, GKE und App Engine zur automatisierten Bereitstellung usw. integriert.
AWS kann alles bereitstellen, was Sie zum Ausführen Ihrer Anwendung benötigen. Das Gleiche gilt für APIs. Amazon API Gateway ist ein vollständig verwalteter Dienst, der es Entwicklern ermöglicht, APIs in jeder Größenordnung einfach zu erstellen -> zu veröffentlichen -> zu verwalten und zu sichern.Es unterstützt sowohl RESTful als auchWebSocket API und ermöglicht uns die bidirektionale Kommunikation in Echtzeit. Sie können mehr über das AWS Cloud Storage Gateway erfahren, um zu sehen, wie das Gateway funktioniert.
Wenn Ihre Microservices oder APIs bereits auf AWS gehostet werden, ist die Integration mit Amazon API Gateway sinnvoll. Sie bieten 1 Million API-Aufrufe im kostenlosen Kontingent an, sodass Sie besser verstehen, wie es funktioniert.
Microsoft Azure bietet eine End-to-End-API-Verwaltung in der Cloud, lokal oder hybrid. Sie können die API programmgesteuert über die REST-API und das SDK verwalten. Wenn Sie SOAP verwenden, können Sie die Webdienstbeschreibungssprache des SOAP-Dienstes importieren (WSDL ), erstellt Azure das SOAP-Frontend. Sie bieten alle Standardfunktionen, einschließlich Rentabilität.
Verwenden Sie MuleSoft, um APIs zu verwalten und die Geschäftseffizienz zu steigern. Damit können Sie überall gängige APIs erstellen, sichern, verwalten und steuern. Sie können CI/CD-Pipelines und die neue CLI verwenden, um APIs zu erkennen und so die Anwendungsbereitstellung zu beschleunigen. Mit MuleSoft können Sie APIs mit unterschiedlichen Protokollen entwerfen und dabei Governance-Standards einhalten und eine hohe Qualität beibehalten. Sammeln Sie Daten von APIs, um alle Daten zu erkunden, bereitzustellen und in GraphQL-Abfragen zu vereinheitlichen. Dies kann mit Hilfe von DataGraph erfolgen.
Mit dem flexiblen Gateway von MuleSoft können Sie Ihre Dienste verwalten, ohne sich Gedanken über Größe, Cloud oder Sprache machen zu müssen. MuleSoft bietet ein Control Panel, in dem Sie Ihre APIs, Microservices und Benutzer analysieren, verwalten und sichern können. Entwickeln Sie die neuesten Geschäftsmodelle und Einnahmequellen, um den Wert Ihrer API zu maximieren, indem Sie sich auf die Akzeptanz, die API-Community und den Nutzungsprozess konzentrieren.
Darüber hinaus bietet MuleSoft Anypoint Exchange an, um Ihre APIs mit einer einzigen Quelle der Wahrheit zu integrieren und so Ihr Unternehmen voranzutreiben. Sie können Anypoint verwendenAPI-GovernanceRichten Sie die API-Governance ohne Entwicklungsaufwand ein.
Denken Sie nicht an die Komplexität, wenn Sie über API-Verwaltungsdienste von Boomi verfügen, die Ihrem Unternehmen dabei helfen können, APIs effizient bereitzustellen, zu verwalten und zu sichern.
Boomi API Management kann den gesamten Lebenszyklus von APIs auf jeder Plattform abwickeln. Dadurch können Sie die API einfach konfigurieren und Integrationen implementieren. Es verfügt über eine intelligente und benutzerfreundliche Benutzeroberfläche und seine API-Proxys stellen bei jeder Nutzung Daten für Ihr Unternehmen bereit. Veröffentlichen, steuern und verwalten Sie APIs (ob in der Cloud, Edge oder vor Ort) und verwalten und steuern Sie den Datenzugriff effektiv. Mit Boomi können Sie Omnichannel-Erlebnisse im sozialen, IoT- und mobilen Web schaffen.
Über das API Developer Portal können Sie problemlos auf Daten bestehender Anwendungen zugreifen.
Boomi bietet unzählige Funktionen wie Mediation, Versionierung, Teilnahme, Authentifizierung, Richtlinienverwaltung, Überwachung und Anwendungsverwaltung. Sie können je nach Bedarf verschiedene Versionen der API verwalten und sicherstellen, dass die richtigen Aktionen dafür ausgeführt werden.
Außerdem können Sie APIs mit Authentifizierungssystemen von Drittanbietern bereitstellen.
Durch die Integration mit Boomi AtmoSphere, einem einfachen Assistenten, können Sie APIs einfach entwerfen und verwalten.
Sobald Ihre API bereit ist, vergessen Sie nicht, sie zu überwachen und zu sichern.
Mit der obigen Einführung sollten Sie sich einen Überblick über die verfügbaren API-Gateway- und Verwaltungslösungen verschaffen. Wenn Ihr Budget knapp ist, können Sie Open-Source-Lösungen ausprobieren. Am besten installieren Sie zunächst ein paar und schauen Sie, welches für Sie geeignet ist.