English English French French Spanish Spanish German German
Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

14 Open Source und Managed API Gateway für moderne Anwendungen

Bienen
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

API Gateway: Backend für Frontend

Lassen Sie uns besprechen, was API Gateway ist, warum es wichtig ist, eines zu haben, und wie es APIs besser verwalten kann. Wir werden auch einige der besten Open-Source- und verwalteten API-Gateways untersuchen und auflisten, die auf dem Markt erhältlich sind.

Was ist API Gateway?

Ein API-Gateway ist ein wichtiges Konzept in einer Microservices-Architektur. Es bildet einen Einstiegspunkt für externe Clients (alles, was nicht Teil des Microservice-Systems ist). Es ist eine Komponente, die als Einstiegspunkt für eine Anwendung dient.

Mit anderen Worten, ein API-Gateway ist ein API-Verwaltungsserver, der Informationen zu Endpunkten enthält. Es ist auch in der Lage, Authentifizierung, Ratenbegrenzung, Lastausgleich und mehr durchzuführen.

Um ein besseres Bild von einem API-Gateway zu erhalten, müssen wir wissen, warum ein API-Gateway unbedingt erforderlich ist.

Warum brauchen wir API Gateway?

Um die Notwendigkeit eines API-Gateways zu verstehen, diskutieren wir einen Anwendungsfall von a elektronische Kommunikationerce Anwendung.

Fallstudie

Stellen Sie sich eine Fallstudie einer komplexen Seite (z. B. Produktseite) einer E-Commerce-Anwendung vor. Wenn wir uns die folgende Seite der Amazon-Produktliste ansehen, sehen wir viele Informationen, die von dieser bestimmten Seite gerendert werden müssen.

Lassen Sie uns zur Veranschaulichung alle Microservices auflisten, die wir möglicherweise zum Rendern der obigen Seite benötigen.

Geht davon Suchen Sie nach Produkt, Inventar, Versand, Bewertung und Bewertungen, Empfehlungs-Engine, Händlern sowie Finanzen und Versicherungen sind die verschiedenen sieben (7) Mikrodienste, die zum Rendern der obigen Seite verwendet werden.

PS: Über sieben (7) Mikrodienste sind nur eine Annahme, um das API-Gateway-Konzept zu erklären. In Wirklichkeit könnte Amazon eine andere Anzahl von Microservices haben.

Das Problem

Da diese Mikrodienste separat auf einem anderen Server bereitgestellt wurden, wenn ein Client auf diese Dienste zugreifen möchte, müssen mindestens sieben (7) Aufrufe für eine einzelne Seite angefordert werden.

Aber ist es wirklich ein guter Ansatz?

Ich denke nicht, dass dies ein empfohlener Ansatz ist, da wir sieben verschiedene Anrufe tätigen müssen, was sich definitiv auf die Leistung, den Ressourcenverbrauch, die Ladezeit usw. auswirken würde. Der Client ist auch eng mit allen Diensten verbunden und nimmt an, wenn wir müssen trennen Sie die Bewertungen und Bewertung Microservices in zwei verschiedenen Diensten müssen wir den Client-Code aktualisieren. Der Kunde muss einen Anruf tätigen, um Bewertungen zu erhalten, und einen Anruf, um Bewertungen zu erhalten. Dies ist wirklich nicht der beste Weg, um damit umzugehen.

Die Lösung

Was ist der empfohlene Ansatz?

Es ist ein API-Gateway.

Bei diesem Ansatz haben wir eine Schicht zwischen dem Client und den Microservices, die als API-Gateway bezeichnet wird. Es ist ein nach vorne gerichteter Service für alle Microservices. Jetzt muss jeder Client, der auf die Microservices zugreifen möchte, das API-Gateway aufrufen. Jetzt ruft das API-Gateway wiederum alle Microservices auf und erhält die Antwort, die wir möglicherweise benötigen. Dieser Prozess wird als API-Komposition bezeichnet.

Kurz gesagt, ein API-Gateway befindet sich zwischen dem Client und den Microservices und fungiert als Gateway für alle Microservices.

Nicht nur das, sondern auch die Verwendung eines API-Gateways kommt uns in vielerlei Hinsicht zugute.

Vorteile eines API-Gateways

API-Gateways unterstützen uns bei der Implementierung von A / B-Tests, dem Caching, der Verwaltung von Zugriffskontingenten, der Überwachung des API-Zustands und der API-Versionierung. Chaos Affentest, Monetarisierung und vieles mehr. Lassen Sie uns einige der folgenden Vorteile ansprechen.

Sicherheit 🛡️

Jedes Mal, wenn ein API-Aufruf ausgeführt wird, muss er über öffentliche IP-Adressen auf die Dienste zugreifen. Dies birgt Risiken.

Durch das Einschalten auf API-Gateways kann auf diese Mikrodienste nur über private IP-Adressen zugegriffen werden. Dies führt zu einer sichereren Art der Datentransaktion. Darüber hinaus schützt die Verwendung von API Gateway die Daten vor böswilligen und DDoS-Angriffen.

Um die Sicherheit zu gewährleisten, a TLS-Zertifikat Wenn dies erforderlich ist, verarbeitet API Gateway alle diese APIs, indem alle unsere APIs hinter einer einzigen statischen IP-Adresse oder Domäne gespeichert werden, und hilft, sie mit Schlüsseln, Token und IP-Filterung zu schützen.

Authentifizierung, Autorisierung und Fehlertoleranz 🔐

Authentifizierung unterbrochen

Es ist wichtig, die Authentifizierung und Autorisierung des Benutzers sicherzustellen, der sich bei Anwendungen anmeldet. Das API Gateway macht es einfacher, indem es ein einziger Einstiegspunkt ist und alle Anforderungen problemlos erfüllt. Somit können sich nur autorisierte Benutzer anmelden und authentifizierte Benutzer Änderungen vornehmen, wodurch Fehlertoleranz erreicht wird.

Lastausgleich und Routing 🚏

Bei mehreren eingehenden Anfragen und steigendem Datenverkehr hilft API Gateway, sich darum zu kümmern. Dazu werden mehrere Dienste erstellt und auf ähnliche Weise aufgerufen Round-Robin. Es kann die Clientanforderungen basierend auf der Benutzersegmentierung verwalten und weiterleiten. Somit wird für verschiedene Benutzer eine unterschiedliche Qualität oder Geschwindigkeit des Inhalts bereitgestellt.

Lastverteilung

Stellen Sie sich einen Anwendungsfall vor, in dem zwei Microservices für die Rückgabe von Bildern/Videos mit niedriger Qualität und Bilder/Videos mit hoher Qualität für einen Desktop bzw. ein Mobilgerät definiert sind.

In diesem Fall können wir ein API-Gateway so konfigurieren, dass es als Router fungiert und, wenn die Anfrage von einem Mobiltelefon kommt, diese Anfrage an den Bild-/Videodienst mit geringer Qualität weiterleitet, und wenn die Anfrage kommt vom Desktop aus kann es zu einem hochwertigen Bild-/Videodienst geleitet werden. Dieses Routing kann basierend auf Headern, Pfaden und Parametern usw. erfolgen.

Isolierung

Wenn der Anwendung ein oder mehrere Microservices hinzugefügt oder entfernt wurden, wird der Clientcode nicht aktualisiert. In diesem Fall müssen wir einige Änderungen am API-Gateway selbst vornehmen, um einen Anruf gemäß den aktualisierten Microservices zu tätigen.

Reverse Proxy und Caching

Das Bereitstellen einer statischen Datei (HTML, JS, CSS, Schriftarten) durch einen Microservice ist nicht die beste Verwendung. In diesem Fall können wir diese Dateien auf das API-Gateway verschieben.

Ein API-Gateway kann alle statischen Inhalte halten und den Client direkt bedienen. Ziehen Sie in ähnlicher Weise einen Dienst in Betracht, der die Trendprodukte auswertet, und diese Trends werden stündlich oder täglich berechnet. Sobald der Trend also für den Rest der Zeit berechnet ist, gibt der Dienst wiederholt dieselbe Antwort zurück. In diesem Fall hat ein API-Gateway eine Funktion namens Antwort-Cache, Hier können wir eine URL und eine Schwellenzeit angeben, für die die Antworten zwischengespeichert werden müssen.

Protokolladapter

Wenn wir ein Protokoll wie einen Web-Socket oder eine neuere Version von HTTP nutzen möchten, z. HTTP / 2Selbst wenn unsere Backend-Dienste nicht bereit oder nicht mit HTTP / 2 oder Web-Socket kompatibel sind, kann ein API-Gateway die Verantwortung für die Konvertierung eines neueren in ein älteres Protokoll übernehmen. Es kann als Protokolladapter fungieren.

Lassen Sie uns das API-Gateway untersuchen.

Vorname, Open-Source- und selbst gehostete Lösungen.

Kong Gateway

Kong-Gateway ist das beliebteste Open-Source-Cloud-native API-Gateway, das auf einem kompakten Proxy basiert. Es ist geschrieben in Lua Laufen mit Hilfe von Nginx. Es ist eine Vorlagen-Engine, die hilft, die Ereigniszeit zu beschleunigen. Es garantiert eine beispiellose Latenzleistung und Skalierbarkeit für alle unsere Microservice-Anwendungen, unabhängig davon, wo sie ausgeführt werden.

Unternehmen mögen Nasdaq, Honeywell, Cisco, FAB, Expedia, Samsung, Siemens, und Yahoo Japan Verwenden Sie das Kong API-Gateway ausgiebig.

Einige der von Kong angebotenen Funktionen sind:

  • Beglaubigung
  • Verkehrskontrolle
  • Analyse
  • Transformationen
  • Protokollierung
  • Serverlos
  • Erweiterbar mit Plugin-Architektur

Kong wurde sehr gut Dokumentation und Integration.

Sie können Kong nach Ihren Wünschen ausführen Cloud-Plattform.

Apache APISIX

Apachee APISIX wurde ursprünglich in Chinas ZhiLiu-Technologie geboren und trat später in den Apache-Inkubator ein und wurde Open Source. Der Vizepräsident des Projekts, Ming Wengibt an, dass dieses API-Gateway verschiedene Herausforderungen löst, die durch Cloud-native und Microservices entstehen.

Apache ApiSix wird von Unternehmen wie verwendet 360, HelloTalk, NetEase, TravelSkyund viele mehr.

Apache APISIX basiert auf Nginx und usw., und es verfügt über dynamisches Routing und Plug-in-Hot-Loading, was besonders für die API-Verwaltung unter dem Microservice-System geeignet ist.

Tyk

Dick ist ein unternehmensfähiges Open-Source-API-Gateway. Sie haben die Möglichkeit, sich entweder selbst zu hosten oder zu verwalten.

Im Folgenden finden Sie einige der sofort einsatzbereiten Funktionen von TYK.

  • Beglaubigung
  • Quoten & Ratenbegrenzung
  • Versionskontrolle
  • Benachrichtigungen und Ereignisse
  • APIs verspotten
  • Detaillierte Überwachung und Analyse
  • Der Abwärtskompatibilität verpflichtet
  • GraphQL sofort einsatzbereit

TYK ist auch auf der erhältlich AWS-Marktplatz. Eine gute Wahl, wenn sich Ihr Anwendungsstapel in AWS befindet.

Ocelot

Ozelot ist ein .NET API-Gateway.

Dieses Projekt zielt darauf ab, .NET zu verwenden, Microservices oder eine serviceorientierte Architektur auszuführen, die einen einheitlichen Einstiegspunkt in ihr System benötigt. Es funktioniert jedoch mit allem, was HTTP spricht, und kann auf jeder Plattform ausgeführt werden, die von ASP.NET Core unterstützt wird.

Ocelot fungiert in einer bestimmten Reihenfolge als Middleware. Es manipuliert das HttpRequest-Objekt in einen durch seine Konfiguration angegebenen Zustand, bis es eine Middleware für den Request Builder erreicht. Es wird ein HttpRequestMessage-Objekt erstellt, mit dem ein Downstream-Service angefordert wird. Die Middleware, die die Anforderung stellt, ist das Letzte in der Ocelot-Pipeline. Die nächste Middleware wird nicht aufgerufen. Ein Middleware-Teil ordnet die HttpResponseMessage dem HttpResponse-Objekt zu und wird an den Client zurückgegeben.

Ocelot bietet Standardfunktionen wie Routing, Authentifizierung, Ratenbegrenzung, Caching, Lastausgleich und mehr. Chunked Encoding, Weiterleiten eines Host-Headers und Swagger werden nicht unterstützt.

Goku

Goku API-Gateway ist ein Dachprojekt von EOLINK Inc. Es handelt sich um ein Golang-basiertes Microservice-Gateway, das dynamisches Routing mit hoher Leistung, Service-Orchestrierung, Mandantenfähigkeitsverwaltung, API-Zugriffskontrolle usw. ermöglicht.

Goku bietet eine grafische Oberfläche und ein Plug-In-System, um die Konfiguration zu vereinfachen und bequemer zu erweitern. Neben den Standardfunktionen bietet Goku Clustering, Hot Updates, Alarmierung, Protokollierung usw.

Express Gateway

Express-Gateway ist aufgebaut auf Express.js. Express Gateway ist eine Reihe von Komponenten, die deklarativ auf Express aufbauen, um den Anwendungsfall des API-Gateways zu erfüllen. Die Leistung von Express Gateway wird durch das reichhaltige Ökosystem rund um die Express-Middleware genutzt.

express

Unternehmen mögen Joyent, Linux Foundation, VIRICITI, Switch Media, Coozy, und musement nutzen das Express-Gateway ausgiebig.

Es ist einfach, schnell und bietet alle grundlegenden Funktionen.

Gloo

Glo ist ein voll funktionsfähiges API-Gateway und Ingress Controller der nächsten Generation für Cloud-native Umgebungen. Es basiert auf Envoy Proxy, um Datenverkehr über Ihre Anwendungsdienste zu verbinden, zu sichern und zu steuern.

Gloo unterstützt die Verbindung zu einer Vielzahl von Workloads, um dies zu sichern und zu verwalten, und ist in Bezug auf das Routing auf Funktionsebene außergewöhnlich. Es ist sowohl als Open Source als auch als Enterprise verfügbar. Die Enterprise-Version bietet Folgendes.

  • Entwicklerportal
  • WAF
  • Verhinderung von Datenverlust
  • Mehr Möglichkeiten zur Authentifizierung
  • Erweiterte Ratenbegrenzung und Multi-Cluster-Verwaltung

KrakenD

KrakenD ist ein Open-Source-API-Gateway mit ultrahoher Leistung. Die Kernfunktionalität besteht darin, eine API zu erstellen, die als Aggregator für viele Mikrodienste in einzelnen Endpunkten fungiert und das Schwergewicht automatisch für Sie erledigt: Aggregieren, Transformieren, Filtern, Dekodieren, Drosseln, Authentifizieren und mehr.

Es bietet eine deklarative Möglichkeit, die Endpunkte zu erstellen. Es ist gut strukturiert und vielschichtig und offen für die Erweiterung seiner Funktionalität mithilfe von Plug-and-Play-Middleware, die von der Community oder intern entwickelt wurde.

KrakenD behauptet, schneller zu sein als Kong und Tyk. Probier das aus Benchmarking-Ergebnisse.

Fusio

Verschmelzung ist ein API-Verwaltungssystem, da es hilft, tatsächliche API-Endpunkte zu entwickeln (dh Daten aus einer Datenbank anzufordern und umzuwandeln). Es ist nicht auf Proxy-Anfragen an eine andere API beschränkt. Es bietet ein einfaches und intuitives Backend zur Steuerung und Verwaltung Ihrer API.

YouTube-Video

Einige der von Fusio angebotenen Funktionen sind:

  • Monetisierung
  • Abonnementunterstützung
  • Generieren Sie eine OAI- und RAML-Schemaspezifikation
  • Dokumentation

und andere Standard-API-Gateway-Funktionen.

WSO2

WSO2 ist eine API-Verwaltungslösung für den gesamten Lebenszyklus, die überall ausgeführt werden kann. Es kann vor Ort, in der Cloud oder auf hybride Weise bereitgestellt werden, wobei seine Komponenten auf mehrere Cloud- und On-Prem-Infrastrukturen verteilt und bereitgestellt werden können.

YouTube-Video

Es umfasst ein Cloud-natives API-Gateway und bietet einem Kubernetes-Operator die Möglichkeit, rohe Microservices einfach in verwaltete APIs umzuwandeln. API Manager integriert sich mit Service-Meshes und bietet eine vollwertige Verwaltungsebene und Kontrollebene für die Verwaltung, Überwachung und Monetarisierung von APIs und API-Produkten.

Es unterstützt API-Publishing, Lifecycle-Management, Anwendungsentwicklung, Zugriffskontrolle, Ratenbegrenzung und Analyse in einem sauber integrierten System.

WeiterLassen Sie uns die kommerziellen Plattformen erkunden.

Apigee

Apigee ist eine Cloud-übergreifende API-Verwaltungsplattform von Google Cloud.

Apigee

Es kommt in den folgenden Geschmacksrichtungen:

  • Apigee: Eine gehostete SaaS-Lösung, bei der Sie für das bezahlen, was Sie verwenden. Sie konzentrieren sich auf den Aufbau des Geschäfts und die Auslagerung der Verwaltung der Apigee-Umgebung an GCP.
  • Apigee Hybrid: Sie können APIs lokal, auf der Google Cloud Platform (GCP) oder in einer Mischung aus beiden verwalten.

Apigee bietet ein End-to-End-API-Management mit Monetarisierung und integrierter Überwachung.

Cloud Endpoints

Ein weiterer von Google Cloud.

YouTube-Video

Endpunkte ist eine leichtere Version von Apigee von Google Cloud. Entwickler können APIs in jedem Google Cloud-Backend am besten entwickeln, bereitstellen und verwalten. Es bietet seinen Clients Tools und Bibliotheken aus der App Engine-Anwendung. Es hilft beim Erstellen und Konfigurieren mit Google Codelab. Codelab hilft beim Ausführen der Beispiel-API mit App Engine in Java 8 und Maven 3.6.0.

Google Cloud Endpoints lassen sich eng in andere Produkte wie Trace und Protokollierung für die Überwachung, Auth0 und Firebase für die Authentifizierung, GKE und App Engine für die automatisierte Bereitstellung usw. integrieren.

Amazon API Gateway

AWS bietet möglicherweise alles, was Sie zum Ausführen Ihrer Anwendungen benötigen.

API auch.

Amazon API-Gateway ist ein vollständig verwalteter Dienst, der für Entwickler entwickelt wurde, um APIs in jeder Größenordnung einfach zu erstellen – > veröffentlichen – > zu warten und zu sichern. Es unterstützt sowohl RESTful- als auch WebSocket-APIs und ermöglicht es uns, eine 2-Wege-Kommunikation in Echtzeit zu ermöglichen.

Nachfolgend die bildliche Darstellung von Amazon, die verdeutlicht, wie das Amazon-API-Gateway funktioniert.

Wenn Ihre Microservices oder API bereits auf AWS gehostet sind, ist eine Integration in Amazon API Gateway sinnvoll. Sie bieten 1 Million API-Aufrufe unter der KOSTENLOSEN Stufe an, was gut für Sie ist, um zu sehen, wie es funktioniert.

Azure

Warum Azure zurücklassen?

Microsoft Azure Bietet End-to-End-API-Verwaltung in der Cloud, lokal oder hybride. Sie können die API-Verwaltung programmgesteuert über die REST-API und das SDK verwalten.

Gute Nachrichten, wenn Sie SOAP verwenden. Sie können die Webdienstbeschreibungssprache (WSDL) ihres SOAP-Diensts importieren, und Azure erstellt ein SOAP-Front-End. Sie bieten alle Standardfunktionen, einschließlich Monetarisierung. Probieren Sie es aus, um die Plattform zu erleben.

Fazit

Vergessen Sie nicht, sobald Ihre API fertig ist Monitor und Verbindung Sie. Wenn Sie sich noch in der Entwicklung befinden, sehen Sie sich diese an Werkzeuge um das Testen und Entwickeln der API zu beschleunigen.

Das Obige sollte Ihnen eine Vorstellung von verfügbaren API-Gateway- und Verwaltungslösungen geben. Wenn Sie ein knappes Budget haben, können Sie Open Source ausprobieren. Es ist am besten, einige davon auf Ihrem zu installieren Cloud-VM um zu sehen, was für Sie funktioniert.

Viel Glück!

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Macht Ihr Geschäft
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder