摘要:Fourinone是一个分布式并行计算框架,以轻量的方式提供了一个四合一的分布式框架功能以及简单易用的API,通过实现对多台计算机资源的统一利用,来获得强大的计算能力。本期我们采访了项目创始人彭渊。Fourinone(即Four-in-one,中文名字“四不像”)是一个分布式计算框架,提供了一...
分类:
其他好文 时间:
2015-05-24 10:01:35
阅读次数:
191
Celery?(芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。 架构设计 Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(wor...
分类:
编程语言 时间:
2015-05-20 18:53:15
阅读次数:
158
RPC框架分析常用的框架.net(WCF) .net中分布式框架集大成者,提供多种通信方式,多种安全策略的调用(配置繁琐)。java1、RMI JDK原生(严格的说来算不上框架)。2、Dubbo 阿里系,服务治理功能强大,开源以来被众多大型互联网公司使用,比如JD(JD还开源了Hydra - 基于D...
分类:
其他好文 时间:
2015-05-20 18:09:27
阅读次数:
163
分布式框架Spark下实现逻辑回归,先附上源码,方法细节后续补充。
分类:
系统相关 时间:
2015-05-13 19:31:24
阅读次数:
555
其实参看Hadoop官方文档已经能够很容易配置分布式框架运行环境了,不过这里既然写了就再多写一点,同时有一些细节需要注意的也说明一下,其实也就是这些细节会让人摸索半天。Hadoop可以单机跑,也可以配置集群跑,单机跑就不需要多说了,只需要按照Demo的运行说明直接执行命令即可。这里主要重点说一下集群...
分类:
其他好文 时间:
2015-04-20 00:09:12
阅读次数:
150
我们设计的分布式系统,在正常工作时呈现出网状。服务有层次性,客户的请求会逐步经历各层服务进行处理,当遍历完所有服务后才会完成一次请求。每层服务会有若干台机器,上游节点的机器可以把输出结果传递到下游节点的任意一台机器上。
当服务所依赖的数据需要更新时,我们需要做好同步工作,并保证在数据更新过程中服务是可用的。这儿介绍两类更新的操作方式,它们都需要用到zookeeper来实现。
第一类...
分类:
其他好文 时间:
2015-03-16 19:25:23
阅读次数:
102
本文讨论在分布式框架中使用到的两个数据结构。为了实现高性能,这两个数据结构都是无锁的。
第一个数据结构存储的是客户端发过来的socket。由于我们的框架只有一个线程接受用户的请求,所以很容易对每一个socket创建一个unique number(稍候我们再来看unique number包含了哪些信息)。框架中有一个线程专门来做清理工作,同时关闭没有返回给客户端的socket。最后框架中有多个线程...
分类:
其他好文 时间:
2015-03-09 19:11:26
阅读次数:
169
将这种单机的工作进行分拆,变成协同工作的集群,这就是分布式计算框架设计。使得计算机硬件类似于应用程序中资源池的资源,使用者无需关心资源的分配情况,从而最大化了硬件资源的使用价值。分布式计算也是如此,具体的计算任务交由哪一台机器执行,执行后由谁来汇总,这都由分布式框架的Master来抉择,而使用者.....
分类:
其他好文 时间:
2015-03-05 22:09:31
阅读次数:
175
本篇主要介绍分布式框架的模块和其主要使用的通信方式zmq。
首先,对于任意的上游结点,它都有可能会把处理的结果发送到任意的一台下游结点中,同时如果下游结点有新增的结点,上游结点还能自动感知并处理。另一方面,任意的下游结点也会要和所有的上游结点保持心跳。如果使用原始的socket,解决上述的问题会比较麻烦,所以我们运用了zmq来解决上述的问题。Zmq具有下述的优点:1. 是一个跨协议的通信方式,目...
分类:
其他好文 时间:
2015-02-16 17:00:58
阅读次数:
114
通常,当服务涉及到的数据量大到一定程度以后,我们会考虑拆分数据。在这种分布式架构中,每个结点只拥有总数据量的其中一部分,而最终的输出结果会汇总所有结点的结果。这种Map-reduce思想的架构,是尽量不去查分程序,而只是拆分数据来支持大数据的处理,如下图所示。这种框架对每个worker结点的可靠性要求比较高,如果某一个worker结点挂掉了,那么最后的输出结果将是不全的。
我设计的这个分...
分类:
其他好文 时间:
2015-02-15 18:10:47
阅读次数:
134