- 论坛徽章:
- 0
|
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
"FastDFS直接使用socket通信方式,相对于MogileFS的HTTP方式,效率更高。并且FastDFS使用sendfile传输文件,采用了内存零拷贝,系统开销更小,文件传输效率更高。"
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1. SOCKET与 HTTP 的关系
--一个是发动机(Socket),提供了网络通信的能力
--一个是轿车(Http),提供了具体的方式
1) http 协议手机都支持,socket 不一定。
2) http 只能是一问一答(即以request/response 的方式连网收发信息), 而socket 可以双向通讯( 定位到某一URL 后, 就可以双方收发信息, 无需request/response) 。
3) Socket 可能会被防火墙屏蔽, 但http 可以穿越防火墙。
HTTP 是基于Socket 通信的子协议, Socket 收发信息自由, 协议都可由使用者定义。 HTTP 在Socket 基础上做了协议规范, 通信只能按照特定的格式去做, 用户可在HTTP 上做自己的子协议, 如网页浏览,webservice ,soap等
至于为什么以sendfile方式传输文件效率高,可以参考下面的文章
http://calmness.iteye.com/blog/378463
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
另外,还有一点,关于fastdfs的设计,详情参见http://bbs.chinaunix.net/thread-3618773-1-3.html,请问为什么要这样设计呢
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
这样设计是为了考虑冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。
可以参考http://www.programmer.com.cn/4380/
|
|