hadoop云盘客户端的设计与实现(三)

用thrfit做代理服务器:

通过各种尝试最终用thrift原声的接口还是一失败而告终,我翻看了hadoop2.2.0的源码,发现里面并不像1.2.1那样,直接提供对thrift 的支持,我想可能也是编码问题造成的吧!

最后我明白了,要想做好一件事情必须要付出努力,不努力是肯定不行的。于是我决定要自己编写服务器,用来做一个代理,客户端连接代理服务器,再由代理服务器对hdfs进行操作,主要框架如下图:hadoop云盘客户端的设计与实现(三)_第1张图片

我最终就是是选择了这种开发框架,这种框架的优缺点分别是:

优点:

一、客户端和服务器都是使用的C++语言,很容易对接,客户端完全不用运行java虚拟机

二、同时libhdfs 可以适应hadoop版本的升级

三、使用thrift服务器框架,很容易处理多并发

四、服务器是自己开发的方便以后功能的扩展

五、所有的数据传输都是通过代理服务器访问HDFS的,所以要要升级服务器的时候,只要接口不变,客户端程序完全不用该。方便以后的升级和维护。

缺点:

libhdfs使用的是jni (c语言掉JAVA)技术,效率有待考虑。


到此方案已经确定!接下来就是开发了。

你可能感兴趣的:(C/C++,云计算)