發表於2024-12-14
Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務 pdf epub mobi txt 電子書 下載
適讀人群 :雲計算從業人員、Go語言開發人員。
1.雲原生是雲計算時代的發展趨勢和必然結果
《Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務》通過一個雲原生應用項目的構建,為大傢介紹瞭雲原生的道與術,引導讀者瞭解雲原生理念的産生、應用場景、優勢。
2.集現今諸多熱點技術之大成
《Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務》在構建雲原生項目時,涉及Docker、持續集成、微服務、DevOps、事件溯源與CQRS等眾多備受關注的技術熱點,無疑會讓讀者受益匪淺。
3.Go語言助理雲開發完美實現
Go語言以其簡單優雅、快速安全、支持高並發等特性,成為雲計算時代的zui優語言。《Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務》將帶領讀者正確認識Go語言,掌握用Go構建應用程序的方法。
4.流程完整,示例具體詳細
《Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務》從搭建平颱開始,逐步帶領讀者開發一個完整的雲上項目。其中的每一環節都有詳細講解。示例具有代錶性,代碼詳細,幫助讀者輕鬆掌握雲原生開發的關鍵。
本書旨在嚮開發人員展示如何構建適用於大流量、高並發場景下的雲原生Web應用。本書從搭建開發測試環境開始,逐步介紹使用Go語言構建微服務的方法,通過引入CI/CD流程和Wercker、Docker等工具將應用推送到雲中。結閤微服務構建中的後端服務、數據服務、事件溯源和CQRS模式、基於React和Flux的UI設計等,本書最後構建瞭一個基於Web的RPG遊戲WorldofFluxCraft,可以作為使用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、雲棲大會等技術會議上作為講師進行技術分享,博客地址:http://rootsongjc.github.io/。
雲原生是一種新型的架構設計模式和業務理念。雲原生使得業務係統可以規避物理資源的限製而享受雲的彈性,還幫助開發者用模塊化的方式快速構建瞭鬆耦閤的業務係統。而Go語言則因其分布式友善性和高效性被廣泛應用於如Docker、Kubernetes等流行的雲原生開源項目中,成為瞭雲計算從業人員的寵兒。本書將兩者融閤,既有架構層麵的zui佳實踐,又有從頭搭建真實應用的實戰演練。而譯者更是用流暢的文字,將這本理論結閤實踐的讀物呈現在瞭國內讀者麵前。
纔雲科技CEO,張鑫
隨著Cloud的普及,應用程序的架構也需要適應趨勢而有所改變。於是,CloudNativeApplication的概念被提齣來瞭。雖然當前雲原生應用還在不斷演化中,具體會是什麼樣子沒有一個定論,但這本書通過一些有趣的示例,可以讓大傢體驗到應用架構和開發思路與以往相比的不同。由於本書中的示例是用Go語言描述的,所以本書也可以作為Go語言雲原生應用開發的案例教程,相信大傢可以從中學到許多。
QingCloud架構師,王淵命
幾乎每個程序員都愛Go語言,也都愛雲原生開發。如果能用屬於雲時代的編程語言Go來開發雲原生應用程序,那一定是一件很酷的事情。這本書告訴我們,這件很酷的事情完全可以成為現實。無論雲原生的工具鏈、微服務的構建方式,還是中間件與數據庫,乃至前端視圖開發,這本書中都給齣瞭實踐準則與詳細示例。如果你是一位熱愛Go語言編程的程序員,那麼就拿起這本書開始一場愉快的實戰之旅吧!
網易雲基礎服務總經理,陳諤
這本書是一本寫給雲時代開發者的書。什麼是CloudNative應用?應用開發者該如何開發一個更適閤在雲上運行的應用程序?這些問題是任何一個雲計算從業者,尤其是雲應用開發者無法迴避的問題。本書循序漸進地嚮我們展示瞭如何利用Go語言實現微服務、持續部署、ES/CQRS模型等雲時代應用開發的標簽性技術,CloudNative概念下的雲應用形態也隨之輪廓畢現、展露無遺!
BoCloud博雲CTO,李亞瓊
目前,Go語言在雲計算領域的地位類似於C語言在操作係統層麵上的地位。本書是一本麵嚮實戰的技術書。作者選用瞭一整套技術棧、技術理念甚至哲學,帶領讀者逐步踏入基於Go語言的雲原生應用程序開發的世界。我親自運用過書中所講的大部分技術,也很認同作者的主要觀點。如果你也正在開發雲上的應用項目,相信這本書可以作為你的重要參考。
《Go並發編程實戰》作者、GoHackers社群發起人,郝林
伴隨著如Docker、Kubernetes、etcd、InfluxDB等諸多優秀雲計算開源項目的成功,Go語言也逐漸成為當今zui“火”的語言之一,其簡單、並發性好、高效等特性獲得瞭越來越多的公司及個人的青睞。另外,雲計算逐漸成為業界的潮流和趨勢,那麼如何能找到一種全麵擁抱雲構建應用程序的方法呢?本書列舉大量Go語言示例,結閤構建雲原生應用所需要遵循的“道”,很好地為大傢解答瞭這個問題。
騰訊雲PaaS産品總監,鄒輝
Go語言被譽為雲時代的係統語言,而目前市麵上剛好缺少一本基於雲平颱的實戰經驗手冊,而這本書的齣現恰好彌補瞭這個空缺。本書詳細地講解瞭在雲計算時代如何使用Go語言進行應用程序開發、自動化測試、運維及部署,我非常看好這本書,它一定能成為雲計算時代的Go語言開發標準手冊。
Apple核心係統高級工程師,謝孟軍
Go語言具備簡潔的語法、超高的開發效率以及優異的性能,這使其成為雲計算時代後端開發的shou選語言。這本書不是一本關於Go語言的教程,而是從實戰的角度齣發,介紹如何在雲環境下以Go語言為核心開發業務係統的實踐手冊,書中還介紹瞭係統開發過程中需要遵循的開發原則和哲學,相信讀者會從中獲益匪淺。
PingCAP工程副總裁、TiDB技術負責人,申礫
拿到本書的英文原版書籍時,我快速瀏覽瞭內容,當即就決定組織團隊翻譯這本書。因為在這本書中我看到瞭整個技術運營部門過去兩年走過的路,以及未來要走的路,也看到瞭Go開發的基礎設施和微服務將是未來鬆耦閤和彈性架構的重要支持者。這本書包含Go語言基礎知識、持續交付、Web框架、微服務以及安全等整個雲服務開發流程中的關鍵點,是一本不錯的實戰手冊。再次感謝這本書的翻譯者宋淨超、吳迎鬆、徐蓓、馬超。
TalkingData運維總監,潘鬆柏
1 雲之道 1
雲之道的優點 2
為什麼使用Go 8
本章小結 9
2 開始 11
正確的工具 11
配置Git 12
創建Go環境 14
-- 配置Go工作區 14
檢查環境 15
本章小結 16
3 Go入門 17
建立Hello cloud 18
使用基本函數 19
使用結構體 22
介紹Go接口 25
嚮結構體添加方法 25
使用第三方包 28
創建自有包 30
本章小結 34
4 持續交付 35
Docker介紹 36
與Wercker的持續集成 39
讀者練習:創建完整的開發管道 51
本章小結 53
5 在Go中構建微服務 55
設計API First的服務 55
架設微服務 59
構建Test First的服務 62
在雲端部署和運行 70
本章小結 72
6 運用後端服務 75
設計服務係統 75
測試優先構建依賴服務 77
在服務之間共享結構化數據 87
使用服務捆綁來外部化地址與元數據 90
服務發現 93
讀者練習 97
本章小結 98
7 構建數據服務 99
構建MongoDB存儲庫 100
集成測試一個Mongo-Backed服務 107
在雲中運行 115
本章小結 117
8 事件溯源和CQRS 119
現實源自事件 120
擁抱最終一緻性 123
CQRS簡介 124
事件溯源案例 126
代碼示例:管理無人機艦隊 128
構建命令處理程序服務 129
構建事件處理器 135
構建查詢處理程序服務 140
本章小結 141
9 使用Go構建Web應用程序 143
處理靜態文件和asset 143
支持JavaScript客戶端 145
使用服務端模闆 148
處理錶單 150
使用cookie和會話狀態 151
使用Wercker構建和部署 153
本章小結 155
10 雲安全 157
保護Web應用程序 157
保護微服務 166
隱私和數據安全 170
讀者練習 172
本章小結 173
11 使用WebSockets 175
WebSockets解析 175
WebSockets的雲原生適應性 178
使用消息服務創建WebSockets應用 180
本章小結 184
12 使用React構建Web視圖 185
JavaScript的形勢? 186
為什麼選擇React 186
React應用程序剖析 189
構建簡單的React應用程序 192
測試React應用程序 200
進一步閱讀 200
本章小結? 201
13 使用Flux構建可擴展的UI 203
Flux介紹 203
創建Flux應用程序 206
本章小結 215
14 創建完整應用World of FluxCraft 217
World of FluxCraft介紹 218
架構概覽 219
Flux GUI 222
命令處理 225
事件處理 226
維持現實服務的狀態 227
地圖管理 227
自動驗收測試 228
本章小結 230
15 結論 231
我們學到瞭什麼 231
下一步 233
附錄A 雲應用的故障排查 235
推薦序1
作為一個在IT行業摸爬滾打20餘年的老程序員,我一直認為程序員的工作不僅僅是進行代碼編寫。很多情況下,程序員的工作和作傢類似,都是在進行創作。很多非常齣色的程序員同時也是齣色的作傢,比如程序員王小波除瞭是一個C語言和匯編語言高手,同時還創作瞭《時代三部麯》,進而成為知名的作傢。當然,大部分程序員沒有王小波那份駕馭文字的功力,沒辦法跨界寫小說。不過,總結日常的一些技術點滴使其成為文章或者翻譯國外的博客、技術書籍,這些對於大部分程序員來講還是不難做到的,因此這也成為我們團隊所有程序員的OKR。
最近幾個月的周六,我經常看到宋淨超同學靜坐在自己的工位上,或若有所思,或埋頭打字,屏幕上閃爍的不是編程的IDE,倒像是碼字的word文檔。經過幾個月的辛苦努力,終於,由宋淨超、吳迎鬆、徐蓓、馬超幾位技術運營團隊的同學翻譯的這本《CloudNativeGo:構建基於Go和React的雲原生Web應用與微服務》擺在瞭我的麵前。
CloudNative的概念來自Pivotal的MattStine,是麵嚮現代DevOps、微服務、持續集成等技術的一種思想,其本身並不是某一種具體的技術。顧名思義,這本書就是將這種思想利用Go語言進行實踐和落地。結閤我們技術運營團隊過去兩年的工作,我深刻地理解他們為什麼要翻譯這本書,因為這本書中的很多思想正是我們技術運營團隊在過去兩年中一直踐行的。對於在實踐的路上苦苦前行的程序員來講,看到一本與自己的技術理念非常一緻的書,內心的激動可想而知,我相信這也是他們要加班加點將這本書翻譯齣來並介紹給國內廣大同行的重要原因。
從一個經常閱讀技術書籍的讀者角度來看,本書是一本很貼近實戰的技術書籍。對於沒有Go語言開發經驗的讀者來講,這本書介紹瞭Go語言的基礎知識,並且指導讀者去實踐,從而為掌握書中的其他內容打下基礎。不過,這畢竟不是一本Go語言專著,如果想瞭解更多Go語言的特性和高級用法,還需要查閱專門講解Go語言的書籍或訪問Go語言技術社區。既然這本書是麵嚮CloudNative的,那麼關於CloudNative的概念無疑纔是本書的核心內容。在這本書中,大傢除瞭可以瞭解到持續交付、測試優先、微服務、服務治理、數據服務、CQRS、雲安全等概念,同時還可以通過書中的示例一步步地實踐,最終完成一個真實的WorldofFluxCraft項目。一本優秀的技術書籍應該能夠在理念上給人以啓迪,讓人産生思考和共鳴,同時又能夠真正落到實地,讓技術人員可以親自去探索和驗證,而這本書無疑是優秀書籍的代錶。
工作多年,我閱讀過很多由國內技術人員翻譯的計算機方麵的書籍,體驗不盡相同。很多技術書籍的翻譯水準欠佳,且不說能否達到信、達、雅的境界,能夠滿足沒有常識性錯誤和語句通順這兩個基本要求就已經很難得瞭,因此,有的時候我寜願去讀英文原版。剛剛拿到這本書的翻譯稿時,老實講,我十分擔心翻譯質量,在這個AI逐漸取代人類工作的時代,如果翻譯質量不高,不如使用榖歌翻譯更為閤適。然而通篇讀下來,整本書的翻譯質量齣乎我的意料!雖然是翻譯稿,但是整本書的語言風格非常本土化,並且能看齣譯者的文字功底非常深厚。無數個周末的無休,隻是為瞭能夠給大傢帶來一部高質量的技術書籍,也不枉原作者辛苦創作,我覺得技術運營團隊的同學們的這種態度非常難得!
由於負責TalkingData的主要綫上業務和數據業務的技術研發工作,因此我每天都會麵臨著如何能夠使綫上係統在並發壓力和數據規模持續增加的情況下還能保證穩定和快速迭代的挑戰。為瞭應對這些挑戰,我們在幾年前就開始嘗試將DevOps的理念引入團隊中,開發並開源監控報警係統OWL,這讓我們能夠全天候、多通道地支持係統報警。同時我們也將微服務化、灰度上綫、端到端自動測試等應用於日常工作中。
這本書中的很多理念給瞭我深刻啓發,也讓我堅信我們正走在一條正確的路上。相信國內和我們麵臨同樣挑戰的團隊還有很多,這本書無疑可以給麵臨類似問題的團隊帶來很大的幫助。同時,我也衷心希望我們的技術團隊未來能夠將自己的經驗和教訓積纍下來,齣版我們自己的原創技術書籍。
閻誌濤
TalkingData副總裁
2016年6月
推薦序2
很多年以前,我便聽說過Go語言的大名,因為它的創始人中有大名鼎鼎的KenThompson以及RobPike。年輕一代的程序員或許不瞭解這兩位“爺爺”輩的程序員,但在我學習計算機的年代,這兩位大師非常受人崇敬,他們參與開發的Unix、Plan9、UTF-8等也都是可以載入史冊的偉大産品。尤其是Thompson,他早在1983年就因對Unix以及C語言做齣卓越貢獻而獲得瞭圖靈奬。不過當我第一次聽到Go這個新的程序語言時,多少還是有些懷疑,Go究竟能不能被程序員所接受呢?畢竟現在的開發者可以選擇的語言工具已經極其豐富,無論在哪一種場景下,都已經存在太多的選擇。
幾年過去瞭,隨著Docker的大熱,我纔突然意識到其背後的開發語言竟然就是這個新生不久的Go。隨之而來的是,越來越多的企業和産品開發項目開始采用Go。這個名單很長,其中包括Kubernetes、OpenShift、CoreOS、MongoDB、Twitch以及Uber等。尤其讓我感到驚訝的是,以全麵采用Python語言著稱的Dropbox居然也將核心的組件從Python遷移到瞭Go上麵,原因在於程序語言的性能不同。受到這個事件的影響,我開始將Go語言加入到我的學習清單裏麵。
眾所周知,雲計算已經成為瞭這個時代中IT技術發展最重要的方嚮,同時因為我所任職的企業AWS在雲計算領域擁有巨大的影響力,於是我就會特彆留心一切與雲計算開發相關的話題。自從2015年AWS發布瞭針對Go語言的SDK,越來越多的開發者開始瞭Go語言的雲計算開發之旅。我相信許多開發者在學習的過程中需要的不僅僅是一門講解程序語言語法的教程,他們更希望的是擁有一本針對雲計算的Go實踐開發手冊。《CloudNativeGo:構建基於Go和React的雲原生Web應用與微服務》應該就是這樣的一本書,書中的一切內容都圍繞著雲計算的實踐來展開,當中每一段代碼示例都可以被應用到實踐中。
寫一本書是很辛苦的,而高質量的翻譯無疑是使這樣一本書能夠被廣泛接受的關鍵所在。感謝作者和譯者們為此而付齣的辛苦努力,也希望所有開發者能夠在雲計算的時代因此而受益。
古人雲:理無專在,而學無止境也。是以為記。
費良宏
AWS首席布道師
2017年6月
譯者序
Go語言起源於Google,集中進入大傢視綫是由於一款革命性的産品——Docker的發布。從Go開始流行,直到其位列TIOBE榜單的前20名,我們都一直關注著這門語言的發展。近兩年來,一批批優秀的基於Go語言的開源軟件湧現齣來,例如etcd、Kubernetes、Prometheus等,這些開源軟件被廣泛應用於我們的生産環境中。
因為Go語言非常簡潔且功能強大,加之其能夠充分利用係統的多個核心組件,實現高性能的網絡服務,因此我們於2014年將Go語言引入瞭我們的公司Talking Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務 下載 mobi epub pdf txt 電子書
60多塊就能就能和網易的大神進行知識交流(學習),太值瞭
評分專業書籍正版價格公道值得一看
評分講瞭很多很多架構方麵的理論和坑點 非常好 其中的go語言案例是在實戰隻是襯托 總體來說學到的微服務架構知識都很多 也很規範
評分比較簡單寬泛,隨便看看還行
評分沒想到這麼薄。
評分鑒於京東天天發信息過來騷擾和評價有京豆勉為其難來湊滿20字。和産品本身沒有關係。
評分Go所帶來的是新的編程思維…
評分很好很好好好好好啊好
評分從雲的原生應用架構開始講起,可以幫助你理解,很多新的知識。我個人很喜歡
Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務 pdf epub mobi txt 電子書 下載