Dennis Fricke

Kong - Das Api-Gateway

Development | Architecture

Kong ist ein auf Nginx basierendes Api Gateway. Das besondere an Kong ist, neben der sehr schnellen Verarbeitungszeiten, dass man über Plugins problemlos und sehr einfach weitere Funktionalität hinzufügen kann. Zum Beispiel Open ID Connect oder Rate Limits per Request.

Kong startet auf zwei unterschiedlichen Ports. Port 8001 ist für die Admin API reserviert und Port 8000 ist der Endpunkt für konsumierende Dienste und Clients.

Service und Routen einrichten

Nachdem wir Kong installiert und gestartet haben wollen wir eine einfache Route zu unserem User Microservice über die Admin API erstellen. Kong lässt sich problemlos ohne UI nur über die bereitgestellte REST API konfigurieren.

Service anlegen

curl -i -X POST \
  --url http://localhost:8001/services/ \
  --data 'name=user-service' \
  --data 'url=http://user.internal'

Eine Route basierend auf dem Path oder dem Host Header anlegen

curl -i -X POST \
  --url http://localhost:8001/services/user-service/routes \
  --data 'paths[]=/users,hosts[]=user.internal'

Gehen wir nun auf localhost:8000/users sollte der Request über das API Gateway an den User Service, den wir im vorherigen Schritt definiert haben weitergeleitet werden. Das gleiche Verhalten erwarten wir, wenn wir den Host Header auf user.internal setzen.

4 Dec 2018 #Api-Gateway #Kong #Routing #Reverse Proxy #Proxy