od monolitu do mikrousług. ewolucyjne wzorce przekształcania systemów monolitycznych scan.pdf

(9467 KB) Pobierz
Tytuł oryginału: Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith
Tłumaczenie: Tomasz Walczak
ISBN: 978-83-283-6723-4
© 2020 Helion SA
Authorized Polish translation of the English edition of Monolith to Microservices
ISBN 9781492047841 © 2020 Sam Newman
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all
rights to publish and sell the same.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/odmdom
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa ................................................................................................................ 9
1. Tylko tyle mikrousług, ile potrzeba ............................................................................ 13
Czym są mikrousługi?
Możliwość niezależnego instalowania
Modelowane na podstawie dziedziny biznesowej
Mikrousługi są właścicielem swoich danych
Jakie korzyści mogą dawać mikrousługi?
Jakie problemy są powodowane przez mikrousługi?
Interfejsy użytkownika
Technologie
Wielkość
Właściciele
System monolityczny
Jednoprocesowe systemy monolityczne
Rozproszony system monolityczny
Systemy typu czarna skrzynka od niezależnych dostawców
Problemy związane z systemami monolitycznymi
Zalety systemów monolitycznych
O powiązaniu i spójności
Spójność
Powiązanie
Tylko tyle DDD, ile potrzeba
Agregat
Ograniczony kontekst
Odwzorowywanie agregatów i ograniczonych kontekstów na mikrousługi
Dalsza lektura
Podsumowanie
13
14
14
17
18
18
19
19
20
21
23
23
25
25
25
26
26
28
28
37
37
38
39
39
40
3
Kup książkę
Poleć książkę
2. Planowanie migracji ................................................................................................. 41
Zrozumieć cel
Trzy kluczowe pytania
Dlaczego możesz zdecydować się na mikrousługi?
Zwiększenie autonomii zespołu
Skrócenie czasu wprowadzania funkcji na rynek
Ekonomiczne skalowanie systemu pod kątem obciążenia
Zwiększanie stabilności
Skalowanie liczby programistów
Wprowadzanie nowej technologii
Kiedy wprowadzanie mikrousług może być złym pomysłem?
Niesprecyzowana dziedzina
Startupy
Oprogramowanie instalowane przez klienta a oprogramowanie zarządzane
Brak dobrego powodu!
Wady i zalety
Zachęcanie innych do wspólnej podróży
Zmienianie organizacji
Uświadamianie pilności wprowadzenia zmian
Budowanie koalicji kierującej wprowadzaniem zmian
Opracowywanie wizji i strategii
Komunikowanie wizji zmian
Dawanie pracownikom uprawnień do szeroko zakrojonych działań
Uzyskiwanie krótkoterminowych sukcesów
Konsolidowanie korzyści i wprowadzanie nowych zmian
Utrwalanie nowego podejścia w kulturze firmy
Znaczenie stopniowej migracji
Ważne jest to, co w środowisku produkcyjnym
Koszt wprowadzania zmian
Odwracalne i nieodwracalne decyzje
Lepsze miejsca do eksperymentów
Od czego więc zacząć?
Podejście DDD
Jak szczegółowy powinien być model?
Event storming
Korzystanie z modelu dziedziny do określania priorytetów
Model mieszany
Reorganizacja zespołów
Zmiany w strukturach
Nie istnieją uniwersalne rozwiązania
41
42
43
43
44
45
46
47
48
49
50
50
51
52
52
53
54
54
55
56
56
57
58
58
58
59
60
60
60
61
62
62
63
63
64
65
67
67
68
4
Spis treści
Poleć książkę
Kup książkę
Wprowadzanie zmian
Nowe umiejętności
Skąd wiadomo, czy zmiany przynoszą dobre efekty?
Regularne punkty kontrolne
Wskaźniki ilościowe
Wskaźniki jakościowe
Unikanie efektu utopionych kosztów
Otwartość na nowe podejścia
Podsumowanie
70
71
74
75
75
76
76
77
77
3. Podział systemu monolitycznego ............................................................................... 79
Modyfikować system monolityczny czy nie?
Wycinać i wklejać czy pisać od nowa?
Refaktoryzacja systemu monolitycznego
Wzorce migracji
Wzorzec „figowiec dusiciel”
Jak działa ten wzorzec?
Gdzie stosować ten wzorzec?
Przykład: odwrotny pośrednik HTTP
Dane?
Możliwości związane z pośrednikiem
Zmiana protokołów
Przykład: FTP
Przykład: przechwytywanie komunikatów
Inne protokoły
Inne przykłady stosowania wzorca „figowiec dusiciel”
Zmienianie działania kodu przy przenoszeniu funkcji
Wzorzec: składanie interfejsu użytkownika
Przykład: składanie strony
Przykład: składanie widżetów
Przykład: mikrofrontendy
Gdzie stosować ten wzorzec?
Wzorzec: rozgałęzianie z użyciem abstrakcji
Jak działa ten wzorzec?
Zapewnianie rezerwowego mechanizmu
Gdzie używać tego wzorca?
Wzorzec: równoległe uruchamianie
Przykład: porównywanie cen kredytowych instrumentów pochodnych
Przykład: oferty w agencji Homegate
Techniki sprawdzania poprawności
Używanie szpiegów
Spis treści
Kup książkę
79
80
80
82
82
83
84
86
89
89
92
95
96
99
99
99
100
100
101
104
105
105
106
112
113
113
114
115
116
116
5
Poleć książkę
Zgłoś jeśli naruszono regulamin