并行架构技术 EasyMR
EasyMR简介
一个并行计算软件框架
基于此框架的软件可以运行在多台计算机组成的计算集群上,并且每个计算机的计算任务也是多线程方式并行进行的,对于处理复杂的业务和巨量数据时非常用于。
有着MapReduce血统的任务调度监控中心
EasyMR的作业会由Mgr平台根据Key集切分成若干个数据集,通过RTP通信协议分配到计算Cell上,Mgr同时负责监控Cell上运行情况。
任务脚本管理运行管理平台
支持基于C#语言的任务执行脚本,所有脚本会基于TaskBase类,会在Key集之前发送到Cell计算单元,编译并等待执行,整个过程简单方便,尤其适合基于数据库技术的企业类大数据处理任务
EasyMR框架特点
简单易用:
部署实施简单
整个框架是基于.NET Framework2.0开发,绿色不需要任何安装和复杂配置,相对与Hadoop简直可以用轻松来形容,可以让任何一个程序员或者IT短时间内快速搭建起属于自己的并行计算框架。
开发简单
整个框架没有使用特有的脚本语言,普通程序员不需要再去学习相对陌生的语法或者函数,现在使用C#,未来会扩展到JAVA语言,不需要了解复杂的MR算法,只要知道Key集切分规则和原理,并行计算特点和一些注意事项就可以。
与现有系统集成简单
本系统既可以以独立程序方式调度运行,也提供类库方式直接集成到现有的业务系统中,现有系统几乎不需要什么大的改动就可以完成巨量数据或复杂业务处理
实用而不晦涩:
基于数据库处理
现有的并行框架基本是基于文件系统,对于一个开发团队的首要任务是处理海量的数据库数据,EasyMR不需要对于存储的复杂理解,程序员既可以使用数据库的同步复制来分担数据库读写压力,也可以一次读完,计算机集群计算完成后再同步或一次性写入数据库,程序只要知道完成情况并读取计算结果,同时未来也支持实时返回计算结果。
计算单元逻辑清晰
整个框架的设计是基于企业应用,例如统计报表,数据计算处理,其中统计逻辑和计算处理逻辑剥离出来就是计算单元的处理逻辑,只要简单业务分析可以完成此项工作。
可以编写灵活实用脚本
虽然框架也提供了数据传输功能,但主要负责的是业务逻辑计算部分,在计算过程中可以灵活使用数据库和结果来更好的计算业务逻辑,甚至是原有系统中计算逻辑可以直接经过简单处理就可以变为计算脚本
优化并行处理架构:
计算单元优化
计算机处理集群里的每台计算机的计算CPU不同而配置不同的并行任务处理数量,也可以根据CPU使用率动态管理计算单元并行处理数量。
采用RTP通信协议
RTP协议是实时传输控制协议简称,在大数据传输,实时传输控制和管理上优势明显,可以最大程度降低通信开销,提高系统稳定性。
设计:
处理流程

框架设计

部署推荐方案

并行架构技术 EasyMR的更多相关文章
- PHP高级架构技术年度大盘点
2015年1月的最后一个周末,上海的冬季虽不如北方的雪窖冰天,但腊月的寒风也足以让人猫 在家中不愿出门.可是,在华美达酒店的一个会议室中,却人声鼎沸.春意融融,第三期商派技术沙龙正在火热进行,本期沙龙 ...
- 大型B2C网站高性能可伸缩架构技术探秘
大型B2C网站高性能可伸缩架构技术探秘 2010-07-21 08:51 狂放不羁 JavaEye 字号:T | T 向您介绍大型B2C网站高性能的网站架构技术,包括缓存的使用.应用程序和数据库的拆分 ...
- 网络比总线差多了 除非是真正的mpp并行架构
网络比总线差多了 除非是真正的mpp并行架构 楼方鑫HZproxy里内置一个memory db,可以解决跨库查询中最难的部份.楼方鑫HZ 2015/1/24 21:52:33@joe 用两层DB就好解 ...
- 揭秘Java架构技术体系
Web应用,最常见的研发语言是Java和PHP. 后端服务,最常见的研发语言是Java和C/C++. 大数据,最常见的研发语言是Java和Python. 可以说,Java是现阶段中国互联网公司中,覆盖 ...
- .Net 微服务架构技术栈的那些事
一.前言 大家一直都在谈论微服务架构,园子里面也有很多关于微服务的文章,前几天也有一些园子的朋友问我微服务架构的一些技术,我这里就整理了微服务架构的技术栈路线图,这里就分享出来和大家一起探讨学习,同时 ...
- 消息队列之Kafka——从架构技术重新理解Kafka
Apache Kafka® 是 一个分布式流处理平台. 这到底意味着什么呢? 我们知道流处理平台有以下三种特性: 可以让你发布和订阅流式的记录.这一方面与消息队列或者企业消息系统类似. 可以储存流式的 ...
- Java架构技术进阶之:从分布式到微服务,深挖Service Mesh
自从几十年前第一次引入分布式系统这个概念以来,出现了很多原来根本想象不到的分布式系统使用案例,但同时也引入了各种各样的新问题. 当这些系统还是比较少比较简单的时候,工程师可以通过减少远程交互的次数来解 ...
- 基于AgileEAS.NET SOA 平台SAAS架构技术的开源分销ERP系统-SmartERP.NET下载配置说明
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- Java架构技术知识点梳理
Java程序员应该加以重视: 吃透基础技术 养成良好的阅读源码的习惯 有长期的技术学习规划 下面,我们来一起逐条看看,特别是第 3 个方法. 想要做到年薪50万,首先你自己必须是高水平的程序员! 能年 ...
随机推荐
- MySQL group_concat_max_len
MySQL提供的group_concat函数可以拼接某个字段值成字符串,如 select group_concat(user_name) from sys_user,默认的分隔符是 逗号,即" ...
- 一个简单的环境光shader
关于shader的一个简短的历史 在DirectX8之前,GPU有一个固定的方法去变换顶点和像素,称为“固定管线”.这使得在将它们传递给GPU后,开发者不可能操作顶点和像素的变换. DirectX8介 ...
- Python基础补充(二) 多核CPU上python多线程并行的一个假象【转】
在python上开启多个线程,由于GIL的存在,每个单独线程都会在竞争到GIL后才运行,这样就干预OS内部的进程(线程)调度,结果在多核CPU上: python的多线程实际是串行执行的,并不会同一时间 ...
- Request.IsAuthenticated
Original question that the answer below refers to: I have a forms based application that is giving m ...
- 使用ControllerClassNameHandlerMapping实现SpringMVC的CoC配置
使用CoC,惯例优先原则(convention over configuration)的方式来配置SpringMVC可以帮我们声明Controller的时候省下很多功夫. 只要我们的Controlle ...
- Linux实战教学笔记19:Linux相关网络知识梳理
第十九节 Linux相关网络知识梳理 标签(空格分隔): Linux实战教学笔记-陈思齐 一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工 ...
- ActiveMQ集群整体认识
出自:https://segmentfault.com/a/1190000014592517 前言 最终需要掌握 Replicated LevelDB Store部署方式,这种部署方式是基于ZooKe ...
- cf499B-Lecture 【map】
http://codeforces.com/problemset/problem/499/B B. Lecture You have a new professor of graph theo ...
- 小程序开发运营必看:微信小程序平台运营规范
一.原则及相关说明 微信最核心的价值,就是连接——提供一对一.一对多和多对多的连接方式,从而实现人与人.人与智能终端.人与社交化娱乐.人与硬件设备的连接,同时连接服务.资讯.商业. 微信团队一 ...
- jquery设置select选中的文本
<select id="prov"> <option value="1">北京市</option> <option ...