Python云原生:構建應對海量用戶數據的高可擴展Web應用 ( 簡體 字) |
作者:宋凈超 | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 49282 詢問書籍請說出此書號!【缺書】 NT售價: 445 元 |
出版日:6/1/2018 |
頁數:324 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121341779 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:譯者序 本書主要講解如何使用Python來構建云原生應用,其中包含了對云原生應用架構和微服務概念的解析,還包括了使用React來構建Web UI,使用MongoDB來存儲數據,使用Kafka消息隊列、CQRS和事件溯源的方式來支持分布式處理等內容。然后詳細演示了如何使用Jenkins來做CI/CD,將應用部署到AWS或Azure云平臺上。 整本書一氣呵成,一個示例貫穿始終,即構建一個“微博”應用。記得當年我還在讀大學的時候,還使用Java構建過類似微博的Web應用,那也是我第一次構建Web應用,但是那時只是為了學習JSP和Java Web應用,也沒有用到什么開發框架,而且只是在本地運行。我在看到本書時有種相見恨晚的感覺,如果當初我就讀了這本書,那么使用Python構建一個可擴展的Web應用不是輕而易舉嗎?還可以將應用程序部署到云平臺上,讓自己的成果公之于眾,這對于自己的技術生涯也是不小的激勵。本書給出了構建應用的詳細步驟和代碼示例,甚至每一步的輸出結果和頁面截圖都給出了,所以本書十分適合全棧工程師和想要使用Python構建云原生應用的開發者學習。 Python也是我最喜歡的語言之一,它簡單,優美,容易使用,而且是很多操作系統都內置支持的編程語言。Python有著眾多第三方包和框架,使用它不僅可以快速開發Web應用,還可以進行數據分析、機器學習,甚至調用其他語言,所以有人將Python稱為“膠水”語言。現在使用Python構建云原生應用又成了廣大Python愛好者的新方向。 前言 隨著當今商業的迅速發展,企業為了支撐自身的迅速擴張,僅僅依靠自有的基礎設施是遠遠不夠的。因此,他們一直在追求利用云的彈性來構建支持高度可擴展應用程序的平臺。 本書是你一站式地了解使用Python構建云原生應用架構的理想讀本。本書首先介紹了什么是云原生應用架構以及它們能夠幫助你解決哪些問題。然后介紹了如何使用REST API和Python構建微服務,并通過事件驅動的方式構建Web層。接下來,探討了如何與數據服務進行交互,并使用React構建Web視圖。之后詳細介紹了應用程序的安全性和性能,以及如何在Docker中容器化你的服務。最后,討論了如何在AWS和Azure平臺上部署你的應用程序。在部署了應用程序后,圍繞應用程序故障排查的一系列概念和技術結束了這本書。 本書內容 第1章 云原生應用和微服務簡介,討論云原生架構的基本概念和構建應用程序開發環境的方法。 第2章 使用Python構建微服務,構建自己的微服務知識體系并根據用例進行擴展。 第3章 使用Python構建Web應用,構建一個初始的Web應用程序并與微服務集成。 第4章 與數據服務交互,教你如何將應用程序遷移到不同的數據庫服務。 第5章 使用React構建Web視圖,討論如何使用React構建用戶界面。 第6章 使用Flux來構建UI以應對大規模流量,幫助你理解如何使用Flux創建可擴展的應用程序。 第7章 事件溯源與CQRS,討論如何以事件形式存儲合約(transaction)。 第8章 Web應用的安全性,討論如何讓你的應用程序免受外部威脅。 第9章 持續交付,介紹應用程序頻繁發布的相關知識。 第10章 應用容器化,討論容器服務和在Docker中運行應用程序的方法。 第11章 部署到AWS云平臺,教你如何在AWS上構建基礎設施并建立應用程序的生產環境。 第12章 部署到Azure云平臺,討論如何在Azure上構建基礎設施并建立應用程序的生產環境。 第13章 監控云應用,介紹不同的基礎設施和應用的監控工具。 |
內容簡介:本書以一個應用開發貫穿始終,從云原生和微服務的概念原理講起,使用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 |
序: |