《Cloud Native Go》筆記(七)構建數據服務
Cloud Native Go:構建基於Go和React的雲原生Web應用與微服務。Kevin Hoffman, Dan Nemeth著,TalkingData:宋凈超,吳迎松,徐蓓,馬超 譯,電子工業出版社,2017年。
筆記中有些內容直接引用原書。
=======================================================
即使是傻瓜也能寫出被計算機理解的代碼,而只有優秀的程序員才可以寫出人類能讀懂的代碼。——Martin Fowler
本章涵蓋的內容有以下幾個方面:
1. 在MongoDB中構建存儲庫(test-first)
2. 使用新的存儲庫來更新Go服務
3. 集成資料庫的測試
MongoDB本質上是一個文檔資料庫,它可以用來存儲和檢索JSON文檔。同一個集合中的兩個文檔不必具有相同的schema。
通過Go來操作MongoDB。目前唯一被官方支持的Go驅動程序mgo,https://godoc.org/labix.org/v2/mgo。 在雲中使用mgo時,有時候連接會丟失,有時候主機名或IP會漂移。我們開發了一個cfmgo包,https://github.com/cloudnativego/cfmgo 。
集成臨時MongoDB資料庫。每次構建應用程序時使用Wercker和Docker啟動一個空的MongoDB資料庫。構建完成後,資料庫就會消失。
編寫一個集成測試
在雲中運行
後端服務的配置
可以使用REST工具(如Chrome的Postman插件)發出請求來創建match、添加move、刪除和查詢match詳情等。
可以使用MongoLab dashboard程序來查看資料庫詳細信息。
推薦閱讀:
TAG:微服務架構 | Go編程 | CloudNativeGo書籍 |