Tao_mikrouslug_Projektowanie_i_wdrazanie_taomik.pdf

(1030 KB) Pobierz
Tytuł oryginału: The Tao of Microservices
Tłumaczenie: Marcin Dzieszko
ISBN: 978-83-283-4807-3
Original edition copyright © 2018 by Manning Publications
All rights reserved.
Polish edition copyright © 2019 by Helion SA
All rights reserved.
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/taomik
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
Podziękowania
O książce
O autorze
O ilustracji na okładce
11
13
15
19
21
C
ZĘŚĆ
I. B
UDOWANIE MIKROUSŁUG
Rozdział 1. Odważny nowy
świat
1.1. Kryzys długu technicznego
1.2. Studium przypadku: start-up mikroblogu
1.2.1. Iteracja 0.: publikowanie wpisów
1.2.2. Iteracja 1.: indeks wyszukiwania
1.2.3. Iteracja 2.: prosta kompozycja
1.2.4. Iteracja 3.: oś czasu
1.2.5. Iteracja 4.: skalowanie
1.3. Jak monolit sprzeniewierza się obietnicy komponentów
1.4. Idea mikrousługi
1.4.1. Podstawowe zasady techniczne
1.5. Praktyczne implikacje
1.5.1. Specyfikacja
1.5.2. Wdrożenie
1.5.3. Bezpieczeństwo
1.5.4. Ludzie
1.6. Co dostajesz za swoje pieniądze
1.7. Podsumowanie
23
25
25
28
28
32
35
37
40
43
45
47
51
51
52
54
55
56
57
Rozdział 2. Usługi
2.1. Definicje mikrousług
2.2. Studium przypadku: wydanie cyfrowe gazety
2.2.1. Cele biznesowe
2.2.2. Wymagania nieformalne
2.2.3. Podział funkcjonalny
2.3. Architektury mikrousług
2.3.1. Architektura miniserwerów webowych
2.4. Diagramy mikrousług
2.5. Drzewo zależności mikrousług
2.5.1. Architektura komunikatów asynchronicznych
59
60
62
62
62
63
64
65
66
67
71
Kup książkę
Poleć książkę
6
Spis treści
2.6. Projekty monolityczne a projekty mikrousługowe
2.6.1. Jak mikrousługi zmieniają zarządzanie projektem
2.6.2. Jednolitość ułatwia estymację
2.6.3. Jednorazowy kod tworzy bardziej przyjazne zespoły
2.6.4. Homogeniczne komponenty pozwalają na heterogeniczną konfigurację
2.6.5. Istnieją różne rodzaje kodów
2.7. Jednostka oprogramowania
2.8. Wymagania dotyczące komunikatów do usług
2.9. Diagramy architektury mikrousług
2.9.1. Diagramy przepływów komunikatów
2.10. Mikrousługi to komponenty oprogramowania
2.10.1. Enkapsulacja
2.10.2. Wielokrotne użycie
2.10.3. Dobrze zdefiniowane interfejsy
2.10.4. Kompozycyjność
2.10.5. Mikrousługi jako komponenty w praktyce
2.11. Wewnętrzna struktura mikrousługi
2.12. Podsumowanie
73
75
75
76
77
78
79
80
83
85
87
87
87
88
88
89
91
92
Rozdział 3. Komunikaty
3.1. Komunikaty są obywatelami pierwszej klasy
3.1.1. Synchroniczne i asynchroniczne
3.1.2. Kiedy używać komunikacji synchronicznej
3.1.3. Kiedy używać komunikacji asynchronicznej
3.1.4. Rozproszone myślenie od pierwszego dnia
3.1.5. Taktyki ograniczające awarie
3.2. Analiza przypadku: obliczanie podatku od sprzedaży
3.2.1. Szerszy kontekst
3.3. Dopasowanie do wzorca
3.3.1. Podatek od sprzedaży: prosty początek
3.3.2. Podatek od sprzedaży: obsługa kategorii
3.3.3. Podatek od sprzedaży: obsługa przypadków globalnych
3.3.4. Wymagania biznesowe zmieniają się z definicji
3.3.5. Dopasowanie do wzorca obniża koszt refaktoryzacji
3.4. Niezależność od transportu
3.4.1. Przydatna fikcja: wszechmocny obserwator
3.5. Wzorce komunikatów
3.5.1. Wzorce bazowe: jeden komunikat/dwie usługi
3.5.2. Wzorce bazowe: dwa komunikaty/dwie usługi
3.5.3. Wzorce bazowe: jeden komunikat/n usług
3.5.4. Wzorce bazowe: m komunikatów/n usług
3.5.5. m/n:
Łańcuch
3.5.6. m/n: Drzewo
3.5.7. Skalowanie komunikatów
3.6. Gdy komunikaty się zepsują
3.6.1. Typowe scenariusze awarii i co z nimi robić
3.6.2. Awarie dominujące w interakcji
Żądanie-Odpowiedź
3.6.3. Awarie dominujące w interakcji Pocisk Samonaprowadzający
93
93
95
96
98
98
100
102
102
103
104
106
109
109
110
111
112
112
113
116
118
121
121
122
122
124
125
125
126
Kup książkę
Poleć książkę
Spis treści
3.6.4. Awarie dominujące w interakcji Zwycięzca Bierze Wszystko
3.6.5. Awarie dominujące w interakcji Uruchom i Zapomnij
3.7. Podsumowanie
127
128
129
7
Rozdział 4. Dane
4.1. Dane nie oznaczają tego, co Twoim zdaniem oznaczają
4.1.1. Dane są heterogeniczne, a nie homogeniczne
4.1.2. Dane mogą być prywatne
4.1.3. Dane mogą być lokalne
4.1.4. Dane mogą być jednorazowe
4.1.5. Dane nie muszą być dokładne
4.2. Strategie danych dla mikrousług
4.2.1. Używanie komunikatów do ujawniania danych
4.2.2. Używanie kompozycji do manipulowania danymi
4.2.3. Używanie konfiguracji systemu do kontrolowania danych
4.2.4. Nałożenie słabszych ograniczeń na dystrybucję danych
4.3. Ponowne przemyślenie tradycyjnych wzorców danych
4.3.1. Klucze podstawowe
4.3.2. Klucze obce
4.3.3. Transakcje
4.3.4. Transakcje nie są tak dobre, jak Ci się wydaje
4.3.5. Schematy zaciągają dług techniczny
4.4. Praktyczny przewodnik decyzyjny dotyczący danych z mikrousług
4.4.1. Projekty od podstaw
4.4.2. Projekty zastane
4.5. Podsumowanie
131
132
132
134
135
137
138
138
138
140
144
149
151
151
152
153
157
159
160
161
162
163
Rozdział 5. Wdrażanie
5.1. Rzeczy się rozpadają
5.2. Nauka z historii
5.2.1. Three Mile Island
5.2.2. Model awarii w systemach oprogramowania
5.2.3. Redundancja nie działa tak, jak myślisz
5.2.4. Zmiana jest przerażająca
5.3. Centrala nie daje rady
5.3.1. Koszt doskonałego oprogramowania
5.4. Anarchia działa
5.5. Mikrousługi i redundancja
5.6. Ciągłe dostarczanie
5.6.1. System wdrażania
5.6.2. Proces
5.6.3. Ochrona
5.7. Uruchomienie systemu mikrousługowego
5.7.1. Niezmienność
5.7.2. Automatyzacja
5.7.3. Wytrzymałość
5.7.4. Walidacja
5.7.5. Wykrywanie usług
5.7.6. Konfiguracja
165
166
167
167
172
176
177
180
181
181
182
183
185
186
187
188
188
191
196
201
204
205
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin