Читать книгу Mikroserwisy. Wzorce z przykładami w języku Java - Chris Richardson - Страница 31

1.4.4. Architektura mikroserwisowa FTGO

Оглавление

Pozostała część tej książki szczegółowo omawia architekturę mikroserwisową aplikacji FTGO. Ale najpierw przyjrzyjmy się, co to znaczy zastosować skalowanie w osi Y dla tej aplikacji. Jeśli do aplikacji FTGO zastosujemy dekompozycję w osi Y, otrzymamy architekturę taką, jaka została pokazana na rysunku 1.7. Zdekomponowana aplikacja składa się z wielu usług frontendowych i backendowych. Moglibyśmy również zastosować skalowanie w osi X i ewentualnie skalowanie w osi Z, aby w czasie jego wykonywania istniało wiele instancji każdej usługi.

Usługi frontendowe obejmują bramę API i webowy interfejs użytkownika Restauracje. Brama API, pełniąca rolę fasady i szczegółowo opisana w rozdziale 8, oferuje REST API, z których korzystają aplikacje mobilne konsumentów i kurierów. Webowy interfejs Restauracje zawiera interfejs używany przez restauracje do zarządzania menu i przetwarzania zamówień.

Logika biznesowa aplikacji FTGO obejmuje wiele usług backendowych. Każda usługa backendowa ma REST API i własny prywatny magazyn danych. Usługami backendowymi są m.in.:

 ■ Order Service – zarządza zamówieniami;

 ■ Delivery Service – zarządza dostawą zamówień z restauracji do konsumentów;

 ■ Restaurant Service – przechowuje informacje o restauracjach;

 ■ Kitchen Service – zarządza przygotowywaniem zamówień;

 ■ Accounting Service – obsługuje fakturowanie i płatności.


Rysunek 1.7. Niektóre usługi aplikacji FTGO opartej na architekturze mikroserwisowej. Brama API kieruje żądania z aplikacji mobilnych do usług. Usługi współpracują za pośrednictwem API

Wiele usług odpowiada modułom opisanym wcześniej w tym rozdziale. Różnica polega na tym, że każda usługa i jej API są bardzo jasno zdefiniowane. Każdą z nich można niezależnie rozwijać, testować, wdrażać i skalować. Ponadto ta architektura dobrze wspiera modułowość. Programista nie może ominąć API usługi i uzyskać dostęp do jej wewnętrznych komponentów. Rozdział 13 opisuje, jak przekształcić istniejącą aplikację monolityczną w mikroserwisy.

Mikroserwisy. Wzorce z przykładami w języku Java

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