实时计算、流式处理系统简介与简单分析

2019-03-02 23:54|来源: 网路

一、实时计算一些基本概念

http://www.cnblogs.com/panfeng412/archive/2011/10/28/2227195.html

二、早期产品

1. IBM的StreamBase:

StreamBase是IBM开发的一款商业流式计算系统,在金融行业和政府部门使用

官方网站:http://www.streambase.com

2. Borealis:Brandeis University、Brown University和MIT合作开发的一个分布式流式系统,由之前的流式系统Aurora、Medusa演化而来,学术研究的一个产品,08年已经停止维护

三、近期产品:

1.Yahoo的S4:S4是一个通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统,Yahoo!开发S4系统,主要是为了解决:搜索广告的展现、处理用户的点击反馈。

官方网站:http://s4.io/

S4简介:http://www.programmer.com.cn/5304/

2. Twitter实时计算

2.1 Twitter的storm:Storm是一个分布式的、容错的实时计算系统

Storm用途:可用于处理消息和更新数据库(流处理),在数据流上进行持续查询,并以流的形式返回结果到客户端(持续计算),并行化一个类似实时查询的热点查询(分布式的RPC)。

官方指南:https://storm.canonical.com/Tutorial

github下载:https://github.com/nathanmarz/storm/downloads

storm详解:http://duanple.blog.163.com/blog/static/7097176720111020102057795/

storm配置详解:http://www.tbdata.org/archives/2118

storm翻译及总结博客:http://chenlx.blog.51cto.com/4096635/d-1/p-1

2.2. Twitter的Rainbird:Rainbird 是一款分布式实时统计系统, Rainbird可以用于实时数据的统计:(1)统计网站中每一个页面,域名的点击次数,(2)内部系统的运行监控(统计被监控服务器的运行状态),(3) 记录最大值和最小值

官方简介:http://www.slideshare.net/kevinweil/rainbird-realtime-analytics-at-twitter-strata-2011

中文介绍:

http://www.cnblogs.com/gpcuster/archive/2011/02/06/1949466.html

3.Facebook 的Puma:facebook使用puma和Habase相结合来处理实时数据,另外facebook发表一篇利用HBase/Hadoop进行实时数据处理的论文(Apache Hadoop Goes Realtime at Facebook),通过一些实时性改造,让批处理计算平台也具备实时计算的能力。

4.淘宝的实时计算、流式处理

4.1银河流数据处理平台:通用的流数据实时计算系统,以实时数据产出的低延迟、高吞吐和复用性为初衷和目标,采用actor模型构建分布式流数据计算框架(底层基于akka),功能易扩展、部分容错、数据和状态可监控。 银河具有处理实时流数据(如TimeTunnel收集的实时数据)和静态数据(如本地文件、HDFS文件)的能力,能够提供灵活的实时数据输出,并提供自定义的数据输出接口以便扩展实时计算能力。 银河目前主要是为魔方提供实时的交易、浏览和搜索日志等数据的实时计算和分析。

4.2.基于storm的流式处理,统计计算、持续计算、实时消息处理。

4.3利用Habase实现的online应用。

5.另外还有一些其他实时计算系统:

Hstreaming:官方网站:http://www.hstreaming.com/technology/hstreaming/

Esper:esper可以用在股票系统、风险监控系统等等要求实时性比较高的系统中

官方网站:http://www.espertech.com/

官网的英文简介:http://www.espertech.com/products/esper.php

中文简介:http://www.cnblogs.com/qlee/archive/2011/06/22/2086550.html

Yahoo! s4Twitter storm的粗略比较

http://www.blogjava.net/killme2008/archive/2011/11/08/363238.html


转自:http://www.cnblogs.com/bigshuai/articles/2491446

相关问答

更多
  • 下载flume-kafka-plus:https://github.com/beyondj2ee/flumeng-kafka-plugin 把lib目录下的 和package下的 都放到flume的lib目录 注:在flume1.6.0中还需要添加kafka-clients-0.8.2.2.jar包 修改原有的flume-conf文件 在插件包里有一个flume-conf.properties,把这个文件放到flume的conf文件夹里 然后修改以下内容 producer.sources.s.type = ...
  • 应用性能管理系统 APM (Application Performance Management)与网络性能管理系统 NPM(Network Performance Management)都属于ITOA(IT Operation Analytics)。 APM 监控特定软件系统的性能和可用性,传统的 APM 通过在代码嵌入代理获取代理数据(Agent Data),或通过探针数据(Probe Data),监控和检测异常来分析应用程序的性能;NPM 通过网络通信数据(Wire Data)监控系统性能。如前面所述 ...
  • 您只能使用JavaScript在客户端进行计算。 或者您可以使用JavaScript驱动的自动表单提交或AJAX将输入发送到服务器并使用Ruby on Rails进行计算。 要在服务器端计算: 路线: resources :calculators CalculatorsController def create @sum = eval(params[:data]) end 应用程序/视图/计算器/ create.js.erb document.getElementById("sum").innerH ...
  • 使用parseFloat(yourstring)将字符串转换为数字并尝试以下代码: $(document).ready(function() { $("#mytextfield").on('keyup',function(){ var totalcost = parseFloat($("#totaldays").val()) * parseFloat($(this).val()) $(".total_cost").text(totalcost.toFixed(2)); ...
  • 这应该如何工作。 另外,不需要jQuery。 function doMath() { var basePrice = 15; var baseModel = 0; var customModel = 5; var modelTotal; if (document.querySelector('input[name="FIELD6"]:checked').value == "Normal Model") { modelTotal = base ...
  • 你有语法错误。 使用“else if”而不是“else” else if(document.querySelector('input[name="FIELD7"]:checked').value == "No") JS: function doMath() { var basePrice = 15; var baseModel = 0; var customModel = 5; var modelTotal; if (document.querySelector( ...
  • 变化:- 1.Call函数totalList(); 在$('.button_grey').click(function() {和$(document).on('click touchstart', '.items', function() { 2.在$(document).ready(function(){..})之外输入函数代码 $(document).ready(function() { $('.button_grey').click(function() { var toAdd = $( ...