《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書籍 |