Читать книгу Mikroserwisy w akcji - Группа авторов - Страница 27

Część 1
Stan rzeczy
2. Mikroserwisy w SimpleBanku
2.4. Udostępnianie usług na zewnątrz

Оглавление

Do tej pory zbadaliśmy, w jaki sposób usługi współpracują ze sobą, aby osiągnąć cel biznesowy. W jaki sposób udostępnimy tę funkcjonalność prawdziwej aplikacji użytkownika?

SimpleBank chce budować zarówno produkty webowe, jak i mobilne. Aby to zrobić, zespół inżynierów zdecydował się zbudować bramę API jako fasadę tych usług. To ukrywa działanie backendu przed aplikacją z niego korzystającą, zapewniając, że nie musi ona wiedzieć o istnieniu mikroserwisów oraz o tym, jak te usługi współdziałają ze sobą, aby zapewnić funkcjonalność. Brama API deleguje żądania do właściwych usług oraz przekształca lub łączy ich odpowiedzi w zależności od potrzeb publicznego API.

Wyobraźmy sobie ekran interfejsu użytkownika do składania zlecenia. Ma on cztery kluczowe elementy:

■ wyświetlanie informacji o bieżących aktywach na rachunku klienta, w tym zarówno ilości, jak i wartości;

■ wyświetlanie danych rynkowych pokazujących ceny i transakcje dotyczące aktywów;

■ wprowadzanie zleceń, w tym kalkulacji kosztów;

■ żądanie wykonania tych zleceń w odniesieniu do określonych aktywów.

Na rysunku 2.8 pokazano, w jaki sposób brama API obsługuje te funkcjonalności i jak współpracuje z podstawowymi usługami.


Rysunek 2.8. Interfejs użytkownika, taki jak strona internetowa lub aplikacja mobilna, współdziała z interfejsem API REST udostępnianym przez bramę API. Brama zapewnia fasadę dla mikroserwisów na zapleczu i przekierowuje żądania do odpowiednich z nich


Wzorzec wykorzystujący bramę API jest elegancki, ale ma kilka wad. Ponieważ działa jako pojedynczy punkt dla wielu usług, stanie się duży i prawdopodobnie nieporęczny. Może też istnieć pokusa dodania logiki biznesowej do bramy zamiast traktowania go tylko jako pośrednika. Może też starać się być wszystkim dla wszystkich aplikacji – gdy aplikacja klienta mobilnego będzie mogła wymagać mniejszych zasobów, to wewnętrzna aplikacja administracyjna będzie potrzebowała znacznie więcej danych. Może być trudno wyważyć te przeciwstawne dążenia podczas budowania spójnego interfejsu API.

UWAGA  W rozdziale 3 ponownie wrócimy do wzorca bramy API i omówimy alternatywne podejścia.

Mikroserwisy w akcji

Подняться наверх