Microservices Gateway API

0

Cześć, ostatnio w wolnym czasie eksploruję sobie różne rzeczy i wpadłem na wzorzec gateway stosowany w usługach. Jednak ciężko znaleźć jakąś implementację. Dla przykładu np klient w js odwołuje się do usługi poprzez http://superservice/order/1 a usługa typu gateway wywołuje ten request już na konkretnym serwisie. Tylko zastanawia mnie implementacja tego typu rozwiązania. Bo chyba zbieranie każdego requesta typu http://superservice/whatever ,analizowanie go, a następnie wywołanie konkretnej usługi lub zwrócenie błędu to chyba nie jest najlepszy pomysł ?

title

0

Istnieje sobie cos takiego jak service discovery który ma adresy i porty wszystkich mikroserwisow. Gateway pobiera sobie ich namiary i potem działa już jak zwykłe proxy. Przykład implementacji patrz Zuul i Eureka (Java)

0

Wiem, że istnieje coś takiego jak service discovery. Patrzyłem ostatnio na consul.io. Bardziej chodzi mi o bindowanie requesta na daną usługę. Bo o coś muszę tego service discovery zapytać.

0

W zuulu jest tak że w konfiguracji bindujesz że na przykład requesty v1/user/** idą na service-users itd. jeżeli o to ci chodzi

1

Nie mogę edytować ale rozwijąc poprzednia wypowiedz to w podsumowując wygląda to tak że masz gateway na np porcie 8080 i wykonujesz request

gateway:8080/v1/user/1 gateway matchuje request to odpowiedniego serwisu odpytuje sie discovery o jego lokalizacje i wykonuje juz request adresserwisu/v1/user/1

0
xyzzz napisał(a):

Nie mogę edytować ale rozwijąc poprzednia wypowiedz to w podsumowując wygląda to tak że masz gateway na np porcie 8080 i wykonujesz request

gateway:8080/v1/user/1 gateway **matchuje **request to odpowiedniego serwisu odpytuje sie discovery o jego lokalizacje i wykonuje juz request adresserwisu/v1/user/1

Matchuje tzn. bierze Uri gateway:8080/v1/user/1 i wykrywa user więc to user service i odpytuje o adress service discovery. Brzmi sensownie, dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1