
淘宝网Fourinone(中文名“四不像”)是一种四合一的分布式计算框架. 在编写此框架之前,我考虑了很长时间的分布式计算,还阅读了外国人编写的其他开放源代码框架. 当我们学习复杂的hadoop作为主题时,我们似乎忘记了解决该问题的初衷: 我们只想编写一个程序以使用多台或多台机器一起进行计算,并使用更多的cpu和. 为了解决我们的大量问题和复杂的计算,当然,在此过程中,我们必须考虑分布式协调和故障处理. 如果仅仅是为了实现这个简单的初衷,为什么一切都那么复杂?我想我可以写一个更简单的东西,它不需要过度设计,它只需要看起来更酷,更小,更强大. . 因此,考虑到底层实现技术的相似性,我将对分布式的理解合并到了该框架中,然后将Hadoop,Zookeeper,MQ和分布式缓存的四个主要分布式计算功能组合到一个框架中. 复杂的分布式计算应用程序经历了许多简化和归纳. 首先,对于分布式协作,它实现了Zookeeper的所有功能并进行了许多改进,包括简化Zookeeper的树结构,将其替换为域/节点两层结构,简化Watch回调多线程等待编程模式,并使用更多直观且易于确保业务逻辑内容更改事件完整性和状态循环替换的完整性,Zookeeper可以存储不超过1M内容的信息,将超过1M的Fourinone内容存储在内存中的隐藏文件中,增强了其存储功能,简化了Zookeeper ACL权限功能被程序员更熟悉的rw样式所替代,从而简化了Zookeeper临时节点和序列节点的类型. 创建节点时是否指定心跳将替换它. 心跳中断时将自动删除该节点.

Fourinone的可用性很高. 没有单点问题. 可以有任意数量的副本. 它的复制不是基于时间,而是基于内容更改. 它具有更高的性能. Fourinone实现了领导者选举算法(但不包括Paxos),当领导者服务器关闭时,请求将自动切换到备份服务器,而不会出现延迟,并且将选举出新的领导者进行服务. 在此过程中,心跳节点仍可以保持鲁棒的稳定性和速度. 与新的领导者保持心跳连接. 基于Fourinone,可以轻松实现协作功能,例如分布式配置信息,集群管理,故障节点检测,分布式锁和淘宝配置服务器. 其次,Fourinone可以提供完整的分布式缓存功能. 对于中小型Internet或企业应用程序,只需将域/节点用于k / v存储,因为域/节点都是具有独立读写锁的内存操作,并且具有副本备份,完全可以满足高性能要求缓存和可靠性. 对于大型Internet应用程序,数百万次高峰访问的并发读写吞吐量将超过单个服务器的容量. Fourinone提供了外观解决方案来解决大型集群的分布式缓存,并使用硬件负载平衡来路由到. 在一组外观服务器上,外观可以自动生成用于缓存内容的密钥,并准确地找到哪个服务器根据密钥分散在缓存集群的后面. 当缓存服务器的容量达到极限时,可以自由扩展. 容量需要增加一倍,因为fafaade算法将注册服务器扩展时间版本,并与此时间进行智能匹配,以便在扩展后可以准确找到先前分配的服务器.

此外,基于Fourinone,可以轻松实现Web应用程序的会话功能,并且只需将生成的密钥写入客户端cookie. Fourinone的用于具有大量数据的分布式并行计算的解决方案不同于复杂的Hadoop. 不同于Hadoop的中间计算结果依赖hdfs,它使用不同于map / reduce的新设计模型来解决该问题. Fourinone具有“承包商”,“移民工人”和“人工仓库”的几个核心概念. “民工”是一个可以部署在多台计算机上的计算节点. 它由开发人员免费实施. 计算时,“农民工”转到“手工仓库”获取输入资源,然后将计算结果返回“手工仓库”以返回给“承包商”. “承包商”负责将复杂项目的一部分承包,这可以理解为由开发人员自己实施的分发任务和计划程序,开发人员可以自由控制计划过程,例如划分源数据然后根据“移徙工人”的数量,将多少副本远程分发到“移徙工人”节点以进行计算和处理. 由它处理的中间结果数据不限于存储在hdfs中淘宝分布式并行计算四合一框架fourinone,还可以自由控制并存储在分布式缓存,和分布式文件中. 如果需要合并结果数据,则可以创建一个新的“承包商”任务分配来完成. 责任链在多个“承包商”之间处理. 通常,大数据的复杂分布式计算被设计成由多个“合同工”链接进行处理的链,每个链接包括使用多个“移民工”机器进行并行计算,无论是否拆分,计算任务和合并后的结果可以设计为单独的“合同工作”链接.
这样做的优点是淘宝分布式并行计算四合一框架fourinone,开发人员具有更大的能力来深度控制并行计算的过程,维护由并行计算实现的业务逻辑的完整性以及灵活地处理各种类型的并行计算方案. 在某些特殊情况下,它不会受到map / reduce框架的限制,并且链中的每个链接也便于监视过程. Fourinone也可以用作简单的mq. 该域被视为MQ队列. 每个节点都是一个队列消息,并且监视域的更改事件以获得队列消息. 该域也可以视为订阅主题,每个订阅者都在该域的节点上注册,发布者使用消息逐个更新每个节点,并且订阅者监视每个节点的更改事件以获取订阅消息. 删除内容,然后等待下一条消息. 但是Fourinone没有实现JMS规范,并且不提供诸如JMS消息确认和消息过滤之类的特殊功能. 但是,开发人员可以基于Fourinone(包括mq集群)扩展这些功能,并使用独立的域/节点建立队列或主题密钥隐式,然后模仿上面的分布式缓存的智能,以根据以下密钥定位服务器. 实现集群管理. Fourinone的总体代码仅为80k,与Hadoop,Zookeeper,Memcache,ActiveMq等开源产品的代码没有相似之处. 它不需要任何依赖关系. 它可以嵌入jar包中使用. 它很好地支持了窗口环境,并且可以在一台机器上使用,在其上模拟分布式环境,这样更便于开发.

开发套件附带了一系列简单的演示,包括分布式计算,统一配置管理,集群管理,分布式锁,分布式缓存,MQ等. 每个演示都由几行代码控制. 但是它涵盖了Fourinone的必要功能,方便每个人快速理解和掌握. 该产品的开源工作已经提交,欢迎更多对分布式并行计算感兴趣的人加入. 企鹅集团241116021下载链接:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-287954-1.html
激进一点的买理财产品宜定盈里一年是1000块
我看过了