目的
Python中的multiprocess提供了Process类,实现进程相关的功能。但是它基于fork机制,因此不被windows平台支持。想要在windows中运行,必须使用 if name == ‘main: 的方式)。并且多进程就是开启多个进程,每个进程之间是不会互相通信互相干扰的,适用于密集计算。
Glusterfs(Gluster file system)是开源的,具有强大横向扩展能力的(scale-out),分布式的,可将来自多个服务器的存储资源通过tcp/ip或infiniBand RDMA 网络整合到一个统一的全局命名空间中的文件系统。


本文通过对比当前主流的几种分布式存储方案(Ceph,TFS,FastDFS,MogileFS,MooseFS,GlusterFS等),让你知道他们的优缺点,便于你根据使用场景选择合适的方案。
| 对比说明/文件系统 | TFS | FastDFS | MogileFS | MooseFS | GlusterFS | Ceph |
|---|---|---|---|---|---|---|
| 开发语言 | C++ | C | Perl | C | C | C++ |
| 开源协议 | GPL V2 | GPL V3 | GPL | GPL V3 | GPL V3 | LGPL |
| 数据存储方式 | 块 | 文件/Trunk | 文件 | 块 | 文件/块 | 对象/文件/块 |
| 集群节点通信协议 | 私有协议(TCP) | 私有协议(TCP) | HTTP | 私有协议(TCP) | 私有协议(TCP)/ RDAM(远程直接访问内存) | 私有协议(TCP) |
| 专用元数据存储点 | 占用NS | 无 | 占用DB | 占用MFS | 无 | 占用MDS |
| 在线扩容 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
| 冗余备份 | 支持 | 支持 | - | 支持 | 支持 | 支持 |
| 单点故障 | 存在 | 不存在 | 存在 | 存在 | 不存在 | 存在 |
| 跨集群同步 | 支持 | 部分支持 | - | - | 支持 | 不适用 |
| 易用性 | 安装复杂,官方文档少 | 安装简单,社区相对活跃 | - | 安装简单,官方文档多 | 安装简单,官方文档专业化 | 安装简单,官方文档专业化 |
| 适用场景 | 跨集群的小文件 | 单集群的中小文件 | - | 单集群的大中文件 | 跨集群云存储 | 单集群的大中小文件 |
开源协议说明
操作系统:CentOS 6.X 64位
Web服务器:192.168.21.127、192.168.21.128
站点:bbs.osyunwei.com和sns.osyunwei.com部署在两台Web服务器上
增加两台服务器(主主模式),通过HAProxy+Keepalived实现Web服务器负载均衡
HAProxy服务器:192.168.21.129、192.168.21.130
虚拟服务器(VIP):192.168.21.253、192.168.21.254
这样的主主模式好处是,两台服务器在提供服务的同时,又互为对方的备份服务器。