從14年中開始陸續一年,斷斷續續學習了下Golang,看了Go語言編程,Go語言程序設計2本書。node
始終以爲應該作點項目鍛鍊下,由於正好看《從paxos到zookeeper》,就嘗試寫一些網絡應用,分佈式存儲這塊是比較熱門的,本身就比葫蘆畫瓢作了一個項目whisper。git
http://git.oschina.net/key232323/whispergolang
Raft協議到是看懂了,但一直沒有本身寫,開源上也有golang的庫,本身就偷懶了,仍是master/slave的簡單粗暴。編程
用了一些第三方庫gorpc,btree作索引,本身設計了索引分片、日誌,多副本存儲,sub/pub等。網絡
整個集羣網絡中有一個協調者,一個索引存儲單元,多個數據存儲node,多個對外提供服務的node。分佈式
整個項目是個半成品,中間也不斷的進行代碼重構。總得下來,有幾個感受:ide
1. golang是一個簡單、實用的語言,sdk已經很強大,上手很容易單元測試
2. golang社區日趨成熟,第三方庫不難找到學習
3. 語法格式統一性強,你們寫的代碼幾乎都同樣,liteide足夠用測試
4. 寫單元測試真的方便
歡迎學習golang的同窗來拍磚。也但願多和golanger一塊兒交流