淘宝分布式框架 Fourinone2.0 新版本发布

阅读数:5792 2012 年 6 月 4 日

话题:DevOps语言 & 开发架构

淘宝 Fourinone2.0 提供了一个 4 合 1 分布式框架和简单易用的编程 API,实现对多台计算机 CPU,内存,硬盘的统一利用,从而获取到强大计算能力去解决复杂问题。Fourinone 框架提供了一系列并行计算模式(农民工 / 包工头 / 职介绍 / 手工仓库)用于利用多机多核 CPU 的计算能力;提供完整的分布式缓存和小型缓存用于利用多机内存能力;提供像操作本地文件一样操作远程文件(访问,并行读写,拆分,排它,复制,解析,事务等)用于利用多机硬盘存储能力;由于多计算机物理上独立,Fourinone 框架也提供完整的分布式协同和锁以及简化 MQ 功能,用于实现多机的协作和通讯。

Fourinone 2.0 新增功能:

一、提供了对分布式文件的便利操作,将集群中所有机器的硬盘资源利用起来,通过统一的 fttp 文件路径访问 如:

windows:fttp://v020138.sqa.cm4/d:/data/a.log
linux:fttp://v020138.sqa.cm4/home/user/a.log

比如以这样的方式读取远程文件:

FttpAdapter fa = FttpAdapter("fttp://v020138.sqa.cm4/home/log/a.log");
fa.getFttpReader().readAll();

提供对集群文件的操作支持,包括:

  1. 元数据访问,添加删除,按块拆分,高性能并行读写,排他读写(按文件部分内容锁定),随机读写,集群复制等
  2. 对集群文件的解析支持(包括按行,按分割符,按最后标识读取)
  3. 对整形数据的高性能读写支持(ArrayInt 比 ArrayList 存的更多更快)
  4. 两阶段提交和事务补偿处理
  5. 自带一个集群文件浏览器,可以查看集群所有硬盘上的文件(不同于 hadoop 的 namenode, 没有单点问题和容量限制)

总的来说,将集群看做一个操作系统,像操作本地文件一样操作远程文件。 但是 Fourinone 并不提供一个分布式存储系统,比如文件数据的导入导出、拆分存储、负载均衡,备份容灾等存储功能,不过开发人员可以利用这些 API 去设计和实现这些功能,用来满足自己的特定需求。

更多介绍请看使用指南:

一. 如何搭建配置 FttpAdapter 环境

二. 如何访问集群文件根目录

三、如何访问和操作远程文件

四、如何进行集群内文件复制和并行复制

五、如何读写远程文件

六、如何解析远程文件

七、如何并行读写远程文件

八、如何批量并行读写远程文件和事务补偿处理

二、自动化 class 和 jar 包部署

class 和 jar 包只需放在工头机器上, 各工人机器会自动获取并执行,兼容操作系统,不需要进行安全密钥复杂配置

三、网络波动状况下的策略处理,设置抢救期,抢救期内网络稳定下来不判定结点死亡

下载地址,此版本打包了源代码: http://www.skycn.com/soft/68321.html


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。