2015-07-21 8 views
8

Stworzyłem kilka RESTful microservices i dokował je. Teraz chcę mieć dla nich interfejs internetowy i możliwość tworzenia użytkowników oraz przyznawania im uprawnień do korzystania z niektórych interfejsów API.Jaka jest opcja bramy API z dokowaniem?

Wiem, że potrzebuję jakiejś bramki API. Najpierw pomyślałem, że zawsze potrafię zrobić to w sposób brutalny: stwórz aplikację django, która będzie obsługiwała UI i proxy wszystkie żądania do API ręcznie, ale wydaje się to bardzo nudne. Może są jakieś alternatywy? Przygotowałem się już na temat Tyka, ale nie mogę znaleźć żadnych informacji na temat możliwości dodawania użytkowników i udzielania im uprawnień.

Prawdopodobnie mógłbym stworzyć aplikację, która mogłaby służyć jako bramka API i automatyzować proxy żądań poprzez napisanie kodu, który by to zrobił. Na przykład potrzebuję mapowania między zewnętrznymi adresami URL a rzeczywistymi adresami URL api i pewną logiką autoryzacji. Może jest już coś takiego?

Odpowiedz

10

szukałem czegoś podobnego, w tym wsparcie dla stopy ograniczający, konsoli UI itp Sprowadza się do kilku Freemium narzędzi, takich jak:

i kilka otwartych źródeł te:

Zdecydowałem się na tyk, ponieważ ma ładny konsolę UI i solidne docs. Wszystkie zostały wymienione na Quora, co jest miłe, gdy chcesz iść na zakupy :)

+0

Co na temat tworzenia użytkowników i nadać im uprawnienia do API? – user1685095

2

Jeśli lubisz zabrudzić sobie ręce, możesz całkiem łatwo zaimplementować własną uproszczoną bramkę API. Uważam, że to podejście doskonale wpisuje się w paradygmat mikroservice - wdrażaj prostą usługę o ograniczonej funkcjonalności, która robi tylko jedno, ale robi to dobrze.

Napisałem samouczek na ten temat (wdrażanie prostej bramy API dla mikroserwisów podłączonych do sieci z Node.js). Mój przykład to około 100 linii kodu JavaScript, używa node-docker-monitor do słuchania zdarzeń Docker i http-proxy do obsługi żądań HTTP od klientów.

https://memz.co/api-gateway-microservices-docker-node-js/

lub alternatywne rozwiązanie z SkyDNS i Nginx

https://memz.co/reverse-proxy-nginx-docker-microservices/

Powiązane problemy