基于Fourinone实现分布式计算
收藏

Fourinone提供了一个4合1分布式框架和简单易用的编程api,实现对多台计算机cpu,内存,硬盘的统一利用,从而获取到强大计算能力去解决复杂问题。包括并行计算、分布式缓存、分布式文件操作、分布式协同和锁以及简化MQ功能等

分享到: Sina Tec

最近更新文章

计算过程中的故障和容灾处理

使用Fourinone可以完成大部分分布式并行计算需求, 但是计算过程中的故障和容灾处理是怎么进行的呢, 这里详细分析一下: 总的来说,Fourinone框架不会在设计中抛弃错误不处理或者容忍错误导致框架崩溃,框架通常会捕获所有的错误反馈给开发者去处理,但是框架本身不自作主张,替开发者考虑处理方案,只有这样框架才能从特定场景中抽象出来,给开发者更灵活的发挥和去满足各种更复杂业务容错情况。 那么框 ...
fourinone 评论(0) 有2342人浏览 2013-03-04 13:29

fourinone分布式协调设计解析

分布式协同是分布式应用中不可缺少的,通常担任协调者的角色,或者说是将多机协同的职责从分布式应用中独立出来,以减少系统的耦合性和增强扩充性。Apache的Zookeeper, google的Chubby都是分布式协同的实现者。fourinone实际上可以单独当做Zookeeper用,它使用最少的代码实现了Zookeeper的所有功能,并且力图做到功能更强但是使用更简洁。 一、实现原理 fourino ...
fourinone 评论(4) 有3983人浏览 2012-11-06 16:26

分布式计算多机部署与配置

在分布式计算上手demo,分布式计算sayhello,分布式计算完整demo中, 对于工人(worker)、工头(ctor),parkserver在多台计算机上的部署和配置: 每台计算机放 ...
fourinone 评论(3) 有3355人浏览 2012-07-19 18:21

分布式计算互相sayhello

假设你已经看过分布式计算上手demo指南,对fourinone基本的分布式并行计算方式有了初步了解。 本demo演示了工头和几个工人之间互相sayhello的简单例子,从而了解到集群计算节点之间互相交互,以及工头批量处理和工人互相传递数据(多用于合并)的功能。 HelloCtor:是一个工头实现,它实现giveTask接口,它首先通过getWaitingWorkers获取到一个线上工人的集合,然 ...
fourinone 评论(0) 有2568人浏览 2012-06-28 10:55

分布式计算自动部署

对于一个分布式计算的应用,如果不需要自动部署,将工头工人程序文件分别部署到相应机器运行即可,不需要过多配置。 fourinone2.0可以支持自动化class和jar包部署,class和jar包只需放在工头机器上, 各工人机器会自动获取并执行,兼容操作系统,不需要进行安全密钥复杂配置. 假设有一个分布式计算job,包括三个程序文件: JobCtor:包工头实现 JobWorker:农民工实现 J ...
fourinone 评论(0) 有2756人浏览 2012-06-26 17:43

Fourinone2.0对分布式文件的简化操作

Fourinone2.0里通过FttpAdapter和FileAdapter实现文件io的支持。其中,FttpAdapter提供对远程文件的操作,FileAdapter提供对本地文件的操作,两者api和使用相似,这 ...
fourinone 评论(1) 有2662人浏览 2012-05-30 14:17

操作分布式文件之八:如何批量并行读写远程文件和事务补偿处理

FileBatch类提供了一系列对批量并行读写操作支持(包括对FttpAdapter和FileAdapter),它跟并行读写的区别是不需要检查结果,会等到所有并行读写任务全部 ...
fourinone 评论(0) 有1905人浏览 2012-05-30 13:51

操作分布式文件之七:如何并行读写远程文件

FttpAdapter是通过FttpReadAdapter的tryReadAll方法进行并行读FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");Result<byte[]> rs = fa.getFttpReader().tryRe ...
fourinone 评论(0) 有2117人浏览 2012-05-30 13:37

操作分布式文件之六:如何解析远程文件

假设通过FttpAdapter已经读取到远程文件中一部分数据,如下:FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");FttpReadAdapter reader = fa.getFttpReader();byte[] bts = reader.readAll(); 上面得到一个byt ...
fourinone 评论(0) 有1529人浏览 2012-05-30 11:55

操作分布式文件之五:如何读写远程文件

FttpAdapter是通过FttpReadAdapter来直接读取远程文件内容 FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");FttpReadAdapter reader = fa.getFttpReader();byte[] bts = reader.readAll(); 上 ...
fourinone 评论(0) 有2122人浏览 2012-05-29 15:02

操作分布式文件之四:如何进行集群内文件复制和并行复制

集群文件复制是经常面临的需求,比如备份容灾,文件迁移,同步数据等等 FttpAdapter提供了简单高效的文件复制方法,支持远程文件的集群内复制FttpAdapter fromfile = new FttpAdapter("fttp://10.232.20.151/home/log/a.log");FttpAdapter tofile = fromfile.copyTo(&q ...
fourinone 评论(0) 有2816人浏览 2012-05-29 14:56

操作分布式文件之三:如何访问和操作远程文件

FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/qianfeng.py/fttp/tmp/1.log");上面实例化一个FttpAdapter类,并输入一个fttp路径,可以是一个目录路径,也可以是个文件路径 FttpAdapter类提供了一系列访问远程文件的方法:createDirectory和creat ...
fourinone 评论(0) 有2392人浏览 2012-05-29 14:49

操作分布式文件之二:如何访问集群文件根目录

启动成功FttpServer后,可以使用FttpAdapter的api进行相关操作: FttpAdapter.fttpRoots()是一个静态方法,可以得到集群文件系统根目录,它返回一个String数组,通常是ip字符对应每台计算机。 listRoots()方法可以得到每台计算机上的硬盘目录,比如: FttpAdapter fa = new FttpAdapter("fttp://&q ...
fourinone 评论(0) 有2038人浏览 2012-05-29 14:43

操作分布式文件之一:如何搭建配置FttpAdapter环境

FttpAdapter的使用很简单,在每台计算机上启动一个FttpServer即可,另外需要启动一个ParkServer负责协同。ParkServer也可以和其中一个FttpServer放在相同计算机上 1、启动ParkServerDemo(它的IP端口已经在配置文件的PARK部分的SERVERS指定) 2、每台计算机启动FttpServer,需要指定该计算机的ip为输入参数 启动好后,然后打开 ...
fourinone 评论(4) 有3650人浏览 2012-05-29 14:40

<七>基于淘宝Fourinone实现MQ demo

FourInOne也可以当成简单的mq来使用,该demo演示了队列和主题订阅两种模式的实现 一、队列 将domain视为mq队列,每个node为一个队列消息,检查domain的变化来获取队列消息。 Sender:是一个队列发送者,他发送消息的实现是在queue上创建一个匿名节点来存放消息 pl.create(queue, (Serializable)obj); Receiver:是一个队列 ...
fourinone 评论(1) 有2460人浏览 2011-12-07 11:36

<六>基于淘宝Fourinone实现分布式缓存demo

利用fourinone可以轻松实现分布式缓存功能: 1、中小应用的缓存实现:直接启动一个parkserver,分别在两个java进程中使用ParkLocal的create和get方法即可实现缓存的读写操作。 2、如果是大型网站的缓存,单台parkserver的压力不能承受,需要建立多台CacheServer,并且使用CacheFacade进行负载均衡,CacheFacade会根据key自动寻找存 ...
fourinone 评论(0) 有2424人浏览 2011-12-07 11:34

<五>基于淘宝Fourinone实现分布式锁demo

LockDemo是利用fourinone进行分布式锁的实现: 可以启动多个LockDemo实例,每个实例在fourinone上建立一个自己的node, node的domain为lock, node的值为node 然后再轮循判断domain lock的第一个元素是否是自己的node,如果是,就执行,这里模拟线程执行8秒,执行完将自己的node删除,代表释放锁;如果不是,就继续等待。 运行步骤: ...
fourinone 评论(0) 有2181人浏览 2011-12-07 11:19

<四>基于Fourinone实现集群管理指南和demo

对于像淘宝这样上万台服务器集群环境的大型互联网应用, 通常我们面临这样一种需求: 我们需要一个集群管理者管理集群里的服务器,同一个集群中任 ...
fourinone 评论(1) 有1799人浏览 2011-09-21 14:11

<三>基于Fourinone实现统一配置管理demo

在分布式多台机器环境下,维持统一的配置信息是最常见的需求, 当配置信息改变时,所有的机器能实时获取并更新。 fourinone通过park进行配置信息管理,pa ...
fourinone 评论(1) 有2029人浏览 2011-09-21 14:08

<二>基于Fourinone实现分布式计算完整demo

我们现实中的分布式计算存在多个环节,比如有的任务拆分,有的计算结果合并,或者是多个拆分和合并,他们之间是串行关系,也就是合并必须等待拆分和计算完成才能进行,同时每个拆分或者合并的任务又都是并行的过程。 CtorDemo:是包含了3个工头实例,对应3个环节,链式处理,实现过程获取到线上工人节点,进行调用,所有的分配任务和中间结果存储都由自己实现处理。 这里简单的将20条数据分配给多个工人处理, ...
fourinone 评论(3) 有3883人浏览 2011-09-14 11:38
  • 专栏创建者:fourinone
  • 创建时间:2011-12-07 13:18:19
  • 专栏文章数:21篇
  • 专栏被浏览:57294 次

本专栏热门文章

最新评论

同问2楼问题,一直没有输出result,除非加sleep
tx6731 评论了 <一>基于Fourinone实现分布式计算上手指 ...
...
妞给爷小个 评论了 <一>基于Fourinone实现分布式计算上手指 ...
试验过,不错。 我在寻找带容错的fourinone,呵呵。据说楼主后期有推出更多特性,期待中。 楼 ...
itjan 评论了 fourinone分布式协调设计解析
lykm02 写道fourinone 写道除了脚本方式启动外,新的3.0版本支持程序化启动和管理进程我 ...
fourinone 评论了 操作分布式文件之一:如何搭建配置FttpAdap ...
fourinone 写道除了脚本方式启动外,新的3.0版本支持程序化启动和管理进程我的问题是,如果没有 ...
lykm02 评论了 操作分布式文件之一:如何搭建配置FttpAdap ...
kkmike999 写道SimpleCtor的giveTask,每次if (result.getSta ...
fourinone 评论了 <一>基于Fourinone实现分布式计算上手指 ...
jadethao 写道‘职介者‘是什么个作用?能稍微给点解释吗?谢谢!职介者,应该就是ParkServ ...
kkmike999 评论了 <二>基于Fourinone实现分布式计算完整de ...
SimpleCtor的giveTask,每次if (result.getStatus() == War ...
kkmike999 评论了 <一>基于Fourinone实现分布式计算上手指 ...
除了脚本方式启动外,新的3.0版本支持程序化启动和管理进程
fourinone 评论了 操作分布式文件之一:如何搭建配置FttpAdap ...
这个地方脚本部署不需要ssh?不然分布式计算节点如何用脚本启动?
lykm02 评论了 操作分布式文件之一:如何搭建配置FttpAdap ...
Global site tag (gtag.js) - Google Analytics