Node js Projektowanie wdrazanie i utrzymywanie aplikacji.pdf

(1051 KB) Pobierz
Tytuł oryginału: Deploying Node.js
Tłumaczenie: Rafał Jońca
ISBN: 978-83-283-3609-4
Copyright © Packt Publishing 2015. First published in the English language under the title ‘Deploying
Node.js – (9781783981403)’.
Polish edition copyright © 2017 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 Wydawnictwo HELION 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 Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
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/nodepr
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
O autorze
O redaktorach merytorycznych
Wst p
Zawarto ksi ki
Narz dzia potrzebne do realizacji przyk adów
Do kogo kierowana jest ksi ka?
Konwencje typograficzne
Przyk adowy kod
9
11
13
14
15
15
16
16
Rozdzia 1. Doceni Node
Unikatowo zaprojektowany Node
Wspó bie no
Równoleg o i w tki
Wspó bie no i procesy
Zdarzenia
P tla zdarze
Wp yw sposobu zaprojektowania Node na architektów systemów
Budowanie wi kszych systemów z mniejszych
Strumienie
Wykorzystanie JavaScript na ka dym etapie projektu maksymalizuje dobre efekty
Zamiana kodu
Browserify
Podsumowanie
17
18
20
21
23
24
26
30
30
32
33
34
34
35
Rozdzia 2. Instalacja i wirtualizacja serwerów Node
Uruchamianie podstawowego serwera Node
Witaj, wiecie
Tworzenie da HTTP
Po redniczenie i tunelowanie
37
38
38
39
40
Kup książkę
Poleć książkę
Node.js. Projektowanie, wdra anie i utrzymywanie aplikacji
HTTPS, TLS (SSL) i zabezpieczanie serwera
Tworzenie podpisanego samodzielnie certyfikatu na potrzeby programistyczne
Instalacja prawdziwego certyfikatu SSL
Instalacja aplikacji w chmurze Heroku
Dodatki
Git
Zarz dzanie zmiennymi konfiguracyjnymi
Zarz dzanie wdro eniem
Instalacja aplikacji w chmurze OpenShift
Instalacja aplikacji Node i MongoDB
Wdro enie aplikacji
Docker, czyli lekkie i wirtualne kontenery
Najpierw jednak yk systemu Unix
Korzystanie z systemu Docker
Tworzenie pliku Dockerfile
Zbudowanie i uruchomienie obrazu Dockera
Podsumowanie
42
42
43
44
46
46
49
50
51
52
52
54
56
57
58
59
61
Rozdzia 3. Skalowanie Node
Skalowanie pionowe wykorzystuj ce wiele rdzeni procesora
Funkcja spawn()
Funkcja fork()
Funkcja exec()
Funkcja execFile()
Komunikacja z procesem potomnym
Modu cluster
Skalowanie w poziomie z wykorzystaniem wielu maszyn
U ycie serwera Nginx
Równowa enie obci enia za pomoc Node
U ycie kolejek komunikatów
U ycie modu u komunikacji UDP serwera Node
Podsumowanie
63
64
65
68
70
71
71
73
77
77
85
87
91
96
Rozdzia 4. Zarz dzanie pami ci i przestrzeni
Jak poradzi sobie z du ym t umem?
Mikroserwisy
Mechanizm pub-sub serwera Redis
Mikroserwisy w narz dziu Seneca
Zmniejszenie zu ycia pami ci
U ywaj strumieni zamiast buforów
Prototypy
Wydajne pami ciowo struktury danych z wykorzystaniem serwera Redis
V8 i optymalizacja wydajno ci
Optymalizacja kodu JavaScript
Strategie dotycz ce pami ci podr cznych
Wykorzystanie Redis jako pami ci podr cznej
Wdra anie CloudFlare jako CDN
97
98
98
99
102
105
106
107
109
116
116
121
121
125
4
Kup książkę
Poleć książkę
Spis tre ci
Zarz dzanie sesj u ytkownika
Uwierzytelnianie i sesje JWT
Podsumowanie
127
127
131
Rozdzia 5. Monitorowanie aplikacji
Jak poradzi sobie z b dami?
Modu domain
Wy apywanie b dów innych procesów
Tworzenie dzienników zdarze
Dostosowywanie dzia ania w zmieniaj cym si rodowisku
REPL narz dzia Node
Zdalny monitoring i zarz dzanie procesem Node
Profilowanie procesów
Wykorzystywanie niezale nych narz dzi do monitorowania
PM2
Wykorzystanie New Relic do monitorowania aplikacji
Podsumowanie
133
134
135
137
140
144
144
146
149
152
152
156
158
Rozdzia 6. Budowanie i testowanie
Budowanie aplikacji za pomoc narz dzi Gulp, Browserify i Handlebars
Narz dzie Gulp
Wykonanie szkieletu systemu budowania
Uruchamianie i testowanie zbudowanej wersji
Wykorzystanie narz dzi do testowania wbudowanych w system Node
Debuger wbudowany w system Node
Modu assert
Testowanie za pomoc Mocha, Chai, Sinon i npm
Mocha
Chai
Sinon
Automatyzacja testów w przegl darce internetowej dzi ki PhantomJS i CasperJS
Testowanie z wykorzystaniem PhantomJS
Scenariusze nawigacyjne w CasperJS
Podsumowanie
159
160
160
163
169
171
172
175
177
178
180
181
187
187
189
192
Rozdzia 7. Wdra anie i konserwacja
GitHub i mechanizm webhook
W czenie mechanizmu webhook
Implementacja systemu budowania
i wdra ania wykorzystuj cego mechanizm webhook
Synchronizacja wersji lokalnej i zdalnej
Tworzenie wersji lokalnej za pomoc narz dzia Vagrant
Przygotowywanie systemu przy u yciu Ansible
Integracja, dostarczanie i wdra anie
Ci g a integracja
Ci g e dostarczanie
193
194
195
198
201
201
205
208
208
208
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin