《Cloud Native Go》筆記(一)雲之道
Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務。Kevin Hoffman, Dan Nemeth著,TalkingData:宋凈超,吳迎松,徐蓓,馬超 譯,電子工業出版社,2017年。
筆記中有些內容直接引用原書。
=======================================================
生大材,不遇其時,其勢定衰。生平庸,不化其勢,其性定弱。——老子
雲之道的優點
軟體開發應該是藝術品,雲之道能讓大家重新感受到這點。遵循下面的準則能夠在最大程度上創建雲上的可擴展、可靠、可預期的軟體。
1. 遵循簡單
雲之道:所做的任何事都要簡化。
IDE是否可選?
能否通過命令行構建和部署?
團隊的新成員能否很快理解代碼?
2. 測試優先,測試一切
雲之道:採用測試驅動進行開發。測試一切,處處測試。
採用測試驅動開發,必須測試所構建的每個服務的一切內容,不管是內部還是外部的,以此建立對服務的信心。
3. 儘早發布,頻繁發布
雲之道:將每次代碼提交都當作潛在的生產發布,並通過持續交付流水線進行部署。
4. 自動化一切
雲之道:所有可以自動化的,都應被自動化。
任何每天做的超過一次的事情,都適合自動化。
流程中任何時常重複的部分,如果不能按鈕或者腳本代替,那麼就屬於過於複雜、脆弱或兩者兼有的部分。
只有當擁抱自動化,並可以自動將代碼提交到雲端時,才能真正開始從雲端開發中受益,並從構建單一的微服務擴展到構建微服務生態系統。
5. 建立服務生態系統
雲之道:任何事物都是服務,包括應用。
微服務只是遵循了單一責任原則(SRP)這一鬆散定義的服務。SRP源自面向對象的設計模式,即一個服務只負責一個功能。
應用程序也只是具有一個或多個GUI(例如HTML)的微服務而已。
為什麼使用Go
1. 簡單
2. 開源
3. 易於自動化和IDE自由化
推薦閱讀:
TAG:微服務架構 | Go語言 | CloudNativeGo書籍 |