我所接触的云计算

      记得2010年初的时候,听说学校ATR实验室正在找人搞项目,于是咱就屁颠屁颠地充满敬畏之心求收留了,那是人生第一个SSH2,也是第一个项目。哎,主题不是讲这个SSH2项目,其实关于云的认识是这样来的。某一天,咱正在实验室里跟键盘火拼时,隔壁的鸿老师跑过来跟他学生大声说着“我这边有个项目,搞云计算的,具体是这样的...”balabala,记得当时各种迷茫各种崇拜,这就是实验室的大神啊,云计算的概念就这样在我周边开始普传了。

      到了2010年底,那个SSH2的项目做完了,为了应付即将来临的毕设,我跟另一人分别领到了一个关于云方面的课题。那孩子去研究Ceph是怎么实现多主节点的,而我则去研究看看,怎么搞一个分布式文件存储系统出来。当时导师就在美好地设想搞出这么一个东西来,个人数据多备份,然后又能随地访问地供实验室使用。我当时一来是被这个新颖的技术迷瞎了,而来被导师画饼馋到了,于是就开始了在实验室里啃代码啃资料,为了测试开源软件,电脑都换成了Ubuntu系统。最初设想在一个分布式文件系统上搞个文件管理系统,但是想想这个毕设的时间点,转而其次就是找个现成的文件系统跟分布式文件系统链接来。嘿,想法是简单的,实践起来简直就是要人命。那时候的文件系统,一般都是基于本地的,那时候发现一个比较优秀的开源iFolder,是基于Linux下的C#开发...我当时是很无语地在Linux下用着Mono调试iFolder的源码,看看怎么跟Hadoop的client对接起来。基于当时有限的技术,玩转不了C#,一下子士气焉了。不过在查阅资料时,发现了fuse这一门技术,其实Hadoop也支持了,其实现了将Hadoop当做本地文件系统挂载到指定路径下的功能。 当时的Hadoop是0.23.x,小文件读写和append一直都是硬伤,一直有着效率问题。在跟进Hadoop中关于fuse的实现里,发现压根就不支持append操作,又泪流满面了。不过,fuse技术提供了一个思路,在后面探索的KFS、FastFS以及MooseFS里,提供了极大的支持。后来技术选型定在了iFolder+fuse+MooseFS,性能测试中,MooseFS对小文件读写的兼容性也很好,不过没有测试出来网上说的文件丢失的情况,当时到时把单点故障测试出来了,机器都被压力过大测挂,一大堆数据都悲剧了...后来顺利毕业了,也不知道导师有没有把我这吐血折腾出来的东西用上,不过导师倒是几番邀请我回实验室工作。

      再次接触到云,是在毕业半年后,也就是刚好在现公司入职的时候。那时的上司是个很上进的人,从C++转型到Java,然后以Mapreduce为模型开发一个任务调度中心。受他感染,那段时间在没日没夜地刷Hadoop的通信模块代码,因为调度中心刚好用的就是Hadoop的通信模块。在那段时间里,开源代码硬生生将我一个新人带入到了优秀代码的世界了,以至于直到现在我对开源软件还是那么感激。之后上司离职,在我和另一个同事努力完成调度中心之后,我闲时就将Hadoop的通信模块抽离成单独工程,以备后用,但直到现在也没用上。

      再再后来,过了好几个月,当时公司挺闲的,新上司也是个技术狂,为了培养我在分布式方面的能力,一条指令就让我投入到分布式理论去了,什么cap、vector lock、Paxos都看,一次看不懂还看了好多次,真是要命。后来上司又想了解一下HBase是怎么存储和查询数据的,于是我又开始各类啃代码啃资料,中英通吃,枯燥得有点累,于是有了HBase文件索引分析和Lucene与HBase的组合使用及HBasene的分析报告,后来数据挖掘的项目上来了,又开始从新手投入到某专业领域中,期间稍微使用了一下MapReduce和MongoDB。随后这上司后来因和领导意见不合离职了,但还是十分感谢他在这一段时间里对我的培养。

      再往后,是开发完一个全文检索引擎之后,又进入了闲暇期,就开始研究分布式的搜索引擎Elasticsearch,版本0.9X。说他是分布式,数据和计算确实都分在不同主机,但是看源码的时候又觉得各种策略都太过于简单了,难道这就是大道至简的真实案例么。之后项目又忙了,又到了现在了,好想念云的东西啊。

      在这个时代里,谁都想跟云扯上一个关系,谁都想在云上面分一羹,其实我也挺想的。


你可能感兴趣的:(我所接触的云计算)