Читать книгу Mikroserwisy. Wzorce z przykładami w języku Java - Chris Richardson - Страница 29
1.4.2. Mikroserwisy jako forma modułowości
ОглавлениеModułowość jest niezbędna do tworzenia dużych, złożonych aplikacji. Nowoczesna aplikacja, taka jak FTGO, jest zbyt duża, aby mogła ją opracować jedna osoba. Jest też zbyt skomplikowana, aby mogła ją zrozumieć jedna osoba. Aplikacje należy rozłożyć na moduły, które mogą być rozwijane i które mogą być rozumiane przez różne osoby. W aplikacji monolitycznej moduły są definiowane z użyciem kombinacji konstrukcji języka programowania (takich jak pakiety Java) i artefaktów kompilacji (takich jak pliki Java JAR). Niemniej jednak takie podejście, jak odkryli programiści FTGO, zwykle nie działa dobrze w praktyce. Długowieczne, monolityczne aplikacje zwykle degenerują się w duże kule błota.
Architektura mikroserwisowa wykorzystuje usługi jako jednostki modułowości. Usługa posiada API, które stanowi nieprzepuszczalną, trudną do naruszenia granicę. Nie można ominąć API i uzyskać dostęp do wewnętrznej klasy, tak jak jest to możliwe w przypadku pakietów Javy. W rezultacie w trakcie upływu czasu o wiele łatwiej jest zachować modułowość aplikacji. Istnieją także inne zalety korzystania z usług jako elementów składowych, w tym możliwość ich niezależnego wdrażania i skalowania.