并行架构技术 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万,首先你自己必须是高水平的程序员! 能年 ...
随机推荐
- linux查找目录下的所有文件中是否含有某个字符串 <zhuan>
查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xar ...
- 安卓开发之不通过USB数据线调试的方法
搞安卓开发的程序员肯定都需要用又笨又碍手碍脚的USB数据线连接安卓设备进行调试,是不是觉得非常麻烦? 然后为了避免这种麻烦,我们一般通过网络上的各种方法,比如AS的插件ADB WIFI,不知道大家是如 ...
- MyBatis 学习记录2 Mapper对象是如何生成的
主题 以前我一直有一个问题不懂.并且觉得很神奇.就是Mybatis我们开发的时候只需要定义接口,并没有写实现类,为什么我们运行的时候就可以直接使用? 现在我想分享下这部分大致是怎么实现的. 在启动的时 ...
- spring中 Bean的装配 Bean后处理器
- 用css实现文本不换行切超出限制时显示省略号(小tips)
div{ max-width: 500px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;/*文本不换行*/ } 如上 ...
- Phong Shading
[Phong Shading] The most serious problem with Gouraud shading occurs when specular highlights are fo ...
- space defender,太空版植物大战僵尸 游戏基本框架的设计
- 34. Search for a Range (Array; Divide-and-Conquer)
Given a sorted array of integers, find the starting and ending position of a given target value. You ...
- poolmanager1.path-o-logical 很好的prefab preload工具
http://docs.poolmanager1.path-o-logical.com/ 提高性能的不错选择
- c语言标准输入和scanf的关系
int a scanf("%d",&a); 什么意思,是从键盘读取一个数字存放到a中.错,scanf和所有从键盘获取输入数据的函数都不是直接从键盘获取数据的,而是从“标准输 ...