Python雲原生:構建應對海量用戶數據的高可擴展Web套用

Python雲原生:構建應對海量用戶數據的高可擴展Web套用

《Python雲原生:構建應對海量用戶數據的高可擴展Web套用》是2018年電子工業出版社出版的圖書、作者是(印度)Manish Sethi(馬尼什 塞西)。

基本介紹

  • 中文名:Python雲原生:構建應對海量用戶數據的高可擴展Web套用
  • 作者:(印度)Manish Sethi(馬尼什 塞西)
  • 出版社:電子工業出版社
  • 出版時間:2018年7月
  • 頁數:324 頁
  • 定價:89 元 
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787121341779
內容簡介,圖書目錄,作者簡介,

內容簡介

本書以一個套用開發貫穿始終,從雲原生和微服務的概念原理講起,使用Python構建雲原生套用,並使用React構建Web視圖。為了應對大規模的網際網路流量,使用了Flux構建UI和事件溯源及CQRS模式。考慮到Web套用的安全性,本書對此也給出了解決方案。書中對於關鍵步驟進行了詳細講解並給出運行結果。讀者可以利用Docker容器、CI/CD工具,敏捷構建和發布本書示例中的套用到AWS、Azure這樣的公有雲平台上,再利用平台工具對基礎設施和套用的運行進行持續監控。

圖書目錄

1 雲原生套用和微服務簡介 1
雲計算簡介 2
軟體即服務 3
平台即服務 4
基礎設施即服務 4
雲原生概念 5
雲原生為何物?為何重要 5
雲原生運行時環境 6
雲原生架構 6
理解十二要素套用 9
設定Python環境 11
安裝Git 11
安裝和配置Python 19
熟悉GitHub和Git命令 26
本章小結 27
2 使用Python構建微服務 29
Python概念解析 29
模組 29
函式 30
微服務模型 31
構建微服務 32
構建user資源的方法 38
構建tweet資源的方法 47
測試RESTful API 52
單元測試 53
本章小結 56
3 使用Python構建Web套用 57
套用入門 58
創建應用程式用戶 59
使用Observable和AJAX 61
綁定數據到adduser模板 63
用戶傳送推文 65
在推文模板上使用Observable和AJAX 67
綁定數據到addtweet模版 69
CORS——跨源資源共享 71
Session管理 72
Cookies 75
本章小結 76
4 與數據服務互動 77
MongoDB有什麼優勢,為什麼要使用它 77
MongoDB中的術語 78
安裝MongoDB 79
初始化MongoDB資料庫 80
在微服務中集成MongoDB 82
處理user資源 83
處理推文資源 90
本章小結 93
5 使用React構建Web視圖 95
理解React 95
配置React環境 96
安裝node 96
創建package.json 97
使用React構建webViews 98
在微服務中集成Web視圖 106
用戶驗證 109
用戶登錄 109
用戶註冊 111
用戶資料 114
用戶註銷 117
測試React webViews 117
Jest 118
Selenium 118
本章小結 118
6 使用Flux來構建UI以應對大規模流量 119
Flux介紹 119
Flux概念 120
在UI中添加日期 121
使用Flux創建UI 121
動作和分派器 122
數據源 125
本章小結 134
7 事件溯源與CQRS 135
簡介 136
理解事件溯源 138
事件溯源定律 140
CQRS介紹 142
CQRS架構的優點 144
事件溯源與CQRS面臨的挑戰 145
應對挑戰 146
解決問題 146
使用Kafka作為事件存儲 151
使用Kafka做事件溯源 152
工作原理 154
本章小結 154
8 Web套用的安全性 155
網路安全性和套用安全性 155
網路套用棧 155
開發安全的Web應用程式建議 176
本章小結 176
9 持續交付 177
持續集成與持續交付的變遷 177
理解SDLC 177
敏捷開發流程 178
持續集成 180
Jenkins持續集成工具 182
安裝Jenkins 182
配置Jenkins 185
Jenkins自動化配置 188
Jenkins安全配置 189
外掛程式管理 190
版本控制系統 191
設定Jenkins job 191
理解持續交付 198
持續交付的訴求 198
持續交付與持續部署 199
本章小結 199
10 套用容器化 201
Docker介紹 201
關於Docker和虛擬化的一些事實 202
Docker Engine——Docker的骨幹 202
配置Docker環境 203
Docker Swarm 206
在Docker中部署套用 210
構建和運行MongoDB Docker服務 211
Docker Hub是用來乾什麼的 214
Docker Compose 221
本章小結 223
11 部署到AWS雲平台 225
AWS入門 225
在AWS上構建應用程式基礎架構 227
生成認證密鑰 229
Terraform——基礎設施即代碼構建工具 233
CloudFormation——構建基礎設施即代碼的AWS工具 244
雲原生套用的持續部署 251
工作原理 252
本章小結 259
12 部署到Azure雲平台 261
Microsoft Azure入門 261
Microsoft Azure基本知識 263
在Azure中創建虛擬機 265
在Azure中使用Jenkins CI/CD流水線 280
本章小結 285
13 監控雲套用 287
雲平台上的監控 287
基於AWS的服務 288
CloudWatch 288
CloudTrail 293
AWS Config service 294
Microsoft Azure服務 296
Application Insights 296
ELK技術棧介紹 299
開源監控工具 305
Prometheus 305
本章小結 308

作者簡介

Manish Sethi是一名工作在印度班加羅爾的工程師。在他的職業生涯中,他曾幫助初創公司和財富10強公司企業採用雲原生方法來構建大規模可擴展產品。他經常花時間學習和實踐新技術,並積極地使用無伺服器架構、機器學習和深度學習等方法,解決實際問題。他通過撰寫部落格和在聚會上發表演講等,為班加羅爾DevOps和Docker社區做出了貢獻。
宋淨超,就職於螞蟻金服,Kubernetes及雲原生套用布道師,Service Mesh愛好者社區聯合發起人。樂於分享,擁抱開源,活躍於Kubernetes及微服務開發者社區。經常作為講師在Qcon、ArchSummit等技術會議上進行分享,也常參與雲棲大會等行業會議和線下Meetup。喜歡在個人部落格(https://jimmysong.io)上發表見解,發布開源教程。業餘時間喜歡攝影和旅遊。

熱門詞條

聯絡我們