Rozwijanie_mikrouslug_w_Pythonie_Budowa_testowanie_instalacja_i_skalowanie_rozmik.pdf

(1022 KB) Pobierz
Tytuł oryginału: Python Microservices Development
Tłumaczenie: Andrzej Watrak
ISBN: 978-83-283-4596-6
Copyright © Packt Publishing 2017. First published in the English language
under the title ‘Python Microservices Development – (9781785881114)’
Polish edition copyright © 2018 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/rozmik
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/rozmik.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
O autorze
O korektorze merytorycznym
Przedmowa
Wst p
Rozdzia 1. Czym s mikrous ugi?
Geneza architektury SOA
Podej cie monolityczne
Podej cie mikrous ugowe
Zalety mikrous ug
Rozdzielenie zakresów odpowiedzialno ci
Mniejsze projekty
Skalowanie i wdra anie
Wady mikrous ug
Nielogiczny podzia aplikacji
Wi cej interakcji sieciowych
Powielanie danych
Problemy z kompatybilno ci
Skomplikowane testy
Implementacja mikrous ug w j zyku Python
Standard WSGI
Biblioteki Greenlet i Gevent
Platformy Twisted i Tornado
Modu asyncio
Wydajno kodu
Podsumowanie
9
10
11
15
17
18
19
22
24
24
24
25
26
26
27
27
28
28
29
29
31
33
34
36
38
Kup książkę
Poleć książkę
Spis tre ci
Rozdzia 2. Platforma Flask
Jaka wersja Pythona?
Obs uga zapyta w platformie Flask
Kierowanie zapyta
Zapytanie
Odpowied
Wbudowane funkcjonalno ci platformy Flask
Obiekt session
Zmienne globalne
Sygna y
Rozszerzenia i po redniki
Szablony
Konfiguracja
Konspekty
Obs uga b dów i diagnostyka kodu
Szkielet mikrous ugi
Podsumowanie
39
40
41
44
47
49
50
51
51
52
53
55
56
58
59
62
64
Rozdzia 3. Cykl doskona y: kodowanie, testowanie, dokumentowanie
Rodzaje testów
Testy jednostkowe
Testy funkcjonalne
Testy integracyjne
Testy obci eniowe
Testy ca o ciowe
Pakiet WebTest
Narz dzia pytest i tox
Dokumentacja programistyczna
Ci g a integracja
System Travis CI
System ReadTheDocs
System Coveralls
Podsumowanie
65
67
67
70
72
72
75
76
78
80
84
85
86
86
88
Rozdzia 4. Aplikacja Runnerly
Aplikacja Runnerly
Historie u ytkowników
Struktura monolityczna
Model
Widok i szablon
Zadania wykonywane w tle aplikacji
Uwierzytelnianie i autoryzowanie u ytkowników
Zebranie elementów w monolityczn ca o
Dzielenie monolitu
Us uga danych
Standard Open API 2.0
Dalszy podzia aplikacji
Podsumowanie
89
89
90
91
92
93
96
99
102
104
105
106
108
110
4
Kup książkę
Poleć książkę
Spis tre ci
Rozdzia 5. Interakcje z innymi us ugami
Wywo ania synchroniczne
Sesje w aplikacji Flask
Pula po cze
Pami podr czna i nag ówki HTTP
Przyspieszanie przesy ania danych
Wnioski
Wywo ania asynchroniczne
Kolejki zada
Kolejki tematyczne
Publikowanie i subskrybowanie komunikatów
Wywo ania RPC w protokole AMQP
Wnioski
Testy
Imitowanie wywo a synchronicznych
Imitowanie wywo a asynchronicznych
Podsumowanie
111
112
113
116
117
120
124
125
125
126
130
130
131
131
131
133
135
Rozdzia 6. Monitorowanie us ug
Centralizacja dzienników
Konfiguracja systemu Graylog
Wysy anie logów do systemu Graylog
Dodatkowe pola
Wska niki wydajno ciowe
Wska niki systemowe
Wska niki wydajno ciowe kodu
Wska niki wydajno ciowe serwera WWW
Podsumowanie
137
138
139
142
145
146
146
148
150
151
Rozdzia 7. Zabezpieczanie us ug
Protokó OAuth2
Uwierzytelnienie oparte na tokenach
Standard JWT
Biblioteka PyJWT
Uwierzytelnianie za pomoc certyfikatu X.509
Mikrous uga TokenDealer
Stosowanie us ugi TokenDealer
Zapora WAF
Platforma OpenResty: serwer Nginx i j zyk Lua
Zabezpieczanie kodu
Sprawdzanie odbieranych zapyta
Ograniczanie zakresu dzia ania aplikacji
Analizator Bandit
Podsumowanie
153
154
156
156
158
160
162
165
167
169
174
175
178
179
181
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin