学习golang并作一个简单分布式存储项目

从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一块儿交流

相关文章
相关标签/搜索