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.
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.
curl -i -X POST \
--url http://localhost:8001/services/ \
--data 'name=user-service' \
--data 'url=http://user.internal'
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