Cloud Native Go : 構建基於 Go 和 React 的雲原生 Web 應用與微服務 Cloud Native Go:构建基于Go和React的云原生Web应用与微服务
Kevin Hoffman;Dan Nemeth
- 出版商: 電子工業
- 出版日期: 2017-07-01
- 定價: $414
- 售價: 8.5 折 $352
- 語言: 簡體中文
- 頁數: 262
- 裝訂: 平裝
- ISBN: 7121321092
- ISBN-13: 9787121321092
-
相關分類:
Go 程式語言、Microservices 微服務、SOA
- 此書翻譯自: Cloud Native Go: Building Web Applications and Microservices for the Cloud with Go and React (Developer's Library)
已絕版
買這商品的人也買了...
-
$281程序員修煉之道 :從小工到專家 (The Pragmatic Programmer: From Journeyman to Master)
-
$580$493 -
$414$393 -
$580$522 -
$280Go 語言實戰 (GO in Action)
-
$474$450 -
$250前端架構設計 (Front-End Architecture: A Modern Blueprint for Scalable and Sustainable Design Systems)
-
$450$356 -
$312$296 -
$301Node.js 區塊鏈開發
-
$450$383 -
$780$616 -
$474$450 -
$580$290 -
$690$587 -
$354$336 -
$480$379 -
$294$279 -
$400$316 -
$580$458 -
$888$844 -
$454容器雲運維實戰:Docker 與 Kubernetes 集群
-
$520$411 -
$352深入學習 Go 語言
-
$580$452
相關主題
商品描述
本書旨在向開發人員展示如何構建適用於大流量、高並發場景下的雲原生Web應用。本書從搭建開發測試環境開始,逐步介紹使用Go語言構建微服務的方法,通過引入CI/CD流程和Wercker、Docker等工具將應用推送到雲中。結合微服務構建中的後端服務、數據服務、事件溯源和CQRS模式、基於React和Flux的UI設計等,本書最後構建了一個基於Web的RPG游戲World of FluxCraft,可以作為使用Go構建雲原生Web應用的參考,適合於雲計算與Go語言編程從業者們閱讀。
海報:
作者簡介
作者簡介
Kevin Hoffman通過現代化和以多種不同語言構建雲原生服務的方式幫助企業將其應用程序引入雲端。他10歲時開始編程,從那時起便已經沉迷於構建軟件,並花了很多時間學習語言、框架和模式。他已經構建了從遙控攝影無人機、仿生性安全系統、超低延遲金融應用程序到移動應用程序等一系列軟件,並且在構建需要與Pivotal Cloud Foundry配合使用的自定義組件時愛上了Go語言。
Dan Nemeth目前在Pivotal擔任諮詢解決方案架構師,負責支持Pivotal Cloud Foundry。他從1995年開始從事專業編碼,使用ANSI C編寫了用於本地ISP的CGI腳本。他職業生涯的大部分時間都是作為獨立顧問為金融、製藥等各個行業提供解決方案,其間不斷使用當時流行的各種語言和框架。Dan最近接受了Go作為自己的“歸宿”,其間不斷熱情地將它用於所有的項目。
譯者簡介
宋淨超,TalkingData技術運營團隊工程師。擁有多年的Hadoop大數據平台運維管理經驗,熟悉Hadoop技術、Docker生態系統以及PaaS平台,主導了TalkingData的Yarn on Docker項目改造和微服務落地,關注開源軟件及Docker、Kubernetes的前沿發展,關注Kubernetes和TensorFlow的實踐。多次在全球架構師峰會、QCon 、CNUTCon、雲棲大會等技術會議上作為講師進行技術分享。
目錄大綱
第1章雲之道1
雲之道的優點2
遵循簡單2
測試優先,測試一切3
儘早發布,頻繁發布5
自動化一切6
建立服務生態系統7
為什麼使用Go 8
簡單8
開源8
易於自動化和IDE自由化8
本章小結9
第2章開始11
正確的工具11
配置Git 12
安裝Homebrew 12
安裝Git客戶端13
安裝Mercurial和Bazaar 13
創建GitHub賬戶14
創建Go環境14
配置Go工作區14
檢查環境15
本章小結16
第3章 Go入門17
建立Hello cloud 18
使用基本函數19
使用結構體22
介紹Go接口25
向結構體添加方法25
Go中的接口動態類型檢查26
使用第三方包28
創建自有包30
導出函數和數據31
創建包31
本章小結34
第4章持續交付35
Docker介紹36
為什麼要使用Docker 36
安裝Docker 36
運行Docker鏡像38
與Wercker的持續集成39
持續集成的理想實踐39
為什麼使用Wercker 40
創建Wercker應用程序41
安裝Wercker CLI 42
創建Wercker配置文件43
使用Wercker進行構建48
部署到Docker Hub 50
讀者練習:創建完整的開發管道51
高級挑戰:集成 第三方庫53
本章小結53
第5章在Go中構建微服務55
設計API First的服務55
設計match API 56
創建API Blueprint 56
通過Apiary測試和發布文檔58
架設微服務59
構建Test First的服務62
創建第一個失敗測試63
測試Location Header 66
壯麗的蒙太奇:迭代測試67
在雲端部署和運行70
創建PWS賬戶70
配置PCF開發環境70
提交到Cloud Foundry 71
本章小結72
第6章運用後端服務75
設計服務系統75
測試優先構建依賴服務77
構建fulfillment服務78
構建catalog服務81
在服務之間共享結構化數據87
客戶端引用服務端包88
客戶端複製服務端結構88
客戶端與服務端引用共享包89
使用服務捆綁來外部化地址與元數據90
服務發現93
動態服務發現94
Netflix的服務發現系統Eureka 94
讀者練習97
進階操作97
本章小結98
第7章構建數據服務99
構建MongoDB存儲庫100
為什麼選擇MongoDB 100
更新存儲庫模型100
通過Go來操作MongoDB 101
以Test-First方式編寫MongoDB存儲庫102
集成測試 個Mongo-Backed服務107
集成臨時MongoDB數據庫108
編寫一個集成測試110
在雲中運行115
後端服務的配置115
本章小結117
第8章事件溯源和CQRS 119
現實源自事件120
冪等121
隔離121
可測試122
可再現,可恢復123
大數據123
擁抱最終一致性123
CQRS簡介124
事件溯源案例126
天氣監測126
互聯網汽車127
社交媒體消息處理127
代碼示例:管理無人機艦隊128
構建命令處理程序服務129
RabbitMQ介紹129
構建命令處理器服務133
構建事件處理器135
對事件處理器進行集成測試140
構建查詢處理程序服務140
本章小結141
第9章使用Go構建Web應用程序143
處理靜態文件和asset 143
支持JavaScript客戶端145
使用服務端模板148
處理表單150
使用cookie和會話狀態151
寫入cookie 152
讀取cookie 153
使用Wercker構建和部署153
本章小結155
第10章雲安全157
保護Web應用程序157
應用程序安全性選項158
設置Auth0賬戶159
構建一個OAuth安全的Web應用程序160
運行安全的Web應 程序164
保護微服務166
客戶端憑據模式概述166
使用客戶端憑據保護微服務168
關於SSL的注意事項169
隱私和數據安全170
黑客不能得到你沒有的170
讀者練習172
本章小結173
第11章使用WebSockets 175
WebSockets解析175
WebSockets如何工作176
WebSockets與服務器發送事件對比177
設計WebSockets服務器? 177
WebSockets的雲原生適應性178
使用消息服務創建WebSockets應用180
關於JavaScript框架183
運行WebSockets示例183
本章小結184
第12章使用React構建Web視圖185
JavaScript的形勢? 186
為什麼選擇React 186
虛擬DOM 187
組件組合187
響應式數據流188
集中焦點188
使用的便利性189
React應用程序剖析189
package.json文件189
Webpack.config.js文件191
.babelrc文件191
理解JSX和Webpack 191
React組件192
構建簡單的React應用程序192
不贊成的做法199
測試React應用程序200
進一步閱讀200
React網站200
React書籍201
其他資料? 201
本章小結? 201
第13章使用Flux構建可擴展的UI 203
Flux介紹203
dispatcher 204
store 204
view 205
action 205
source 205
Flux的複雜性205
創建Flux應用程序206
本章小結215
第14章創建完整應用World of FluxCraft 217
World of FluxCraft介紹218
架構概覽219
獨立擴展、版本控制和部署221
數據庫不是集成層221
單向不可變數據流221
Flux GUI 222
Go UI宿主服務223
玩家移動時序圖224
命令處理225
事件處理226
維持現實服務的狀態227
地圖管理227
自動驗收測試228
本章小結230
15結論231
我們學到了什麼231
Go不是小眾語言231
微服務應該有多“微” 232
持續交付和部署232
測試一切232
儘早發布,頻繁發布232
事件溯源、CQRS和更多首字母縮略詞233
下一步233
附錄A雲應用的故障排查235