Mashape Kong

Von: Thomas Bayer
Datum: 2018-05-09

Kong ist ein sogenannter API Layer. Die Entwickler von Kong, die frühere Firma Mashape, die sich jetzt Kong Inc. nennt, verwendet den Begriff API Layer als Synonym für API Gateway oder API Middleware. Ursprünglich wurde Kong als API Gateway für den API Marketplace von Mashape entwickelt und 2015 unter eine Open Source Lizenz gestellt. Kong setzt auf dem Open Source Web Server und reverse Proxy NGINX auf und erweitert dessen Funktionalität.

Kong benötigt für den Betrieb einen Cassandra Cluster oder eine Postgres Datenbank.

Kong gibt es in der Community Edition als Open Source Software und als Kong Enterprise. Die Enterprise Version enthält zusätzlich:

  • Ein graphisches Admin Interface
  • Erweiterte Security und Authentifikation
  • Ein Developer Portal
  • Analytics
  • Bessere Skalierbarkeit

Kong kann um API Analytics und ein Developer Portal mit kommerziellen Produkten ergänzt werden.

Da bei der Open Source Variante eine UI fehlt, müssen Services und Consumer über das Kong API angelegt werden. Das Listing unten zeigt zwei Calls, mit denen ein Service und eine zugehörige Route angelegt werden:

curl -X POST \ --url http://localhost:8001/services/ \ --data 'name=fruitshop' \ --data 'url=https://api.predic8.de/shop/'
curl -X POST \ --url http://localhost:8001/services/fruitshop/routes \ --data 'hosts[]=api.predic8.de:443'

Über zahlreiche Plugins kann Kong erweitert werden. Es gibt auch einen Developer Guide, der das Erstellen von eigenen Plugins beschreibt.

Für die Transformation von Nachrichten stehen Plugins für Regexp und eine eigene Konfigurationssprache zur Verfügung. Das Beispiel unten zeigt, wie die JSON Properties partner und mail umbenannt werden können:

config.rename.body=partner:kontakt, mail:email

Kong zählt zu den ausgereifteren Produkten am Markt und wird sicher für viele Installation verwendet werden. Die API Management Lösung Wicked vom Haufe Verlag in Freiburg setzt auf Kong auf und erweitert ihn um eine Web Console.

Vorteile

  • Reife

Nachteile

  • Die Web Konsole gibt es nur in der kommerziellen Version.
  • Zur Installation ist eine Apache Cassandra oder Postgres Datenbank notwendig.

Weitere Produkte

Dieser Artikel ist Teil einer Reihe über API Management in der Open Source und kommerzielle Lösungen vorgestellt werden.

Lese auch die API Management Einführung