storm的功能、三大应用
storm的功能
Storm 有许多应用领域:实时分析、在线机器学习、持续计算、分布式 RPC(远过程调用协议,一种通过网络从远程计算机程序上请求服务)、 ETL(Extraction-Transformation-Loading 的缩写,即数据抽取、转换和加载)等。下面介绍 Storm 的三大主要应用。
(1)信息流处理( stream processing)
Storm 可用来实时处理新数据和更新数据库,兼具容错性和可扩展性,即 Storm 可以用来处理源源不断流进来的消息,处理之后将结果写入某个存储中。
(2)持续计算( continuous computation)
Storm 可进行连续查询并把结果即时反馈给客户端,如把 Twitter 上的热门话题发送到浏览器中。
(3)分布式远程程序调用( distributed RPC)
Storm 可用来并行处理密集查询。 Storm 的拓扑结构是一个等待调用信息的分布函数,当它收到一条调用信息后,会对查询进行计算,并返回查询结果。例如,分布式 RPC 可以做并行搜索或者处理大集合的数据,通过配置 DRPC 服务器,将 Storm 的 Topology 发布为 DRPC 服务。客户端程序可以调用 DRPC 服务将数据发送到 Storm 集群中,并接收处理结果的反馈。这种方式需要 DRPC 服务器转发,其中 DRPC 服务器底层通过 Thrift 实现。适合的业务场景主要是实时计算,且扩展性良好,可以增加每个节点的 Worker 数量来动态扩展。本书将针对这些应用场景,介绍广告实时计算系统、语音“实时墙”等多个案例,这些案例是从不同领域、不同行业角度的总结分析。但是万变不离其宗,目的是参考以上 Storm的三大应用,将 Storm 切实应用到行业生产中。
Storm 绝对是一个相当“有内涵”的系统,能把那么复杂的事情抽象得很完美,能把数学用到极致,这是笔者使用 Storm 实现消息确保被执行一次之后最直接的感觉。
例如互联网方向的实时推荐,海量的用户、数据,且需要实时的推荐算法计算,该如何实现?有了 Storm, Spout 从数据源取得数据, Bolt 可以合并,也可以切分数据,最终完成整个业务逻辑处理并输出结果。分分合合,就像河水从曲曲折折的河道一直流向大海一样,所以也称这种数据处理方式为流式计算。
storm的功能、三大应用的更多相关文章
- Storm概念学习系列之storm的功能和三大应用
不多说,直接上干货! storm的功能 Storm 有许多应用领域:实时分析.在线机器学习.持续计算.分布式 RPC(远过程调用协议,一种通过网络从远程计算机程序上请求服务). ETL(Extract ...
- Storm业务功能
监控平台当前使用storm对日志进行流式分析计算,用于支撑监控数据清洗,后来逐渐在storm上搭建起数据在线关联,数据离线关联,明细数据清洗,日志搜索等功能,本章节对各功能进行简要概述. 对storm ...
- Storm基础概念与单词统计示例
Storm基本概念 Storm是一个分布式的.可靠地.容错的数据流处理系统.Storm分布式计算结构称为Topology(拓扑)结构,顾名思义,与拓扑图十分类似.该拓扑图主要由数据流Stream.数据 ...
- 大白话strom——问题收集(持续更新ing)
本文导读: 1.基于storm的应用 2.storm的单点故障解决 3.strom与算法的结合学习4.杂记——常见问题的解答5.http://www.blogchong.com/catalog.asp ...
- phpstorm-file watcher
在项目中使用了sass,将scss编译成css的时候,每次都需要compass watch netbeans产品带有file watcher功能 三大类 1,less,scss,sass into c ...
- 酷狗、QQ、天天动听——手机音乐播放器竞品对比
如果说什么艺术与人们生活最贴近,那应该属音乐了,因此当代人不离身的手机里必然会有自己喜欢的音乐播放器APP存在. 在当今无论PC端还是手机端音乐播放器都越来越同质化,我们应该选择哪款手机音乐播放器?它 ...
- samtools 工具
软件地址: http://www.htslib.org/ 功能三大版块 : Samtools Reading/writing/editing/indexing/viewing SAM/BAM/CRAM ...
- Struts2中的OGNL表达式
一.OGNL表达式简介 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.所谓对象图,即以任意一个对象为根,通过OGNL可以访问 ...
- JAVA笔试题(全解)
目录 一. Java基础部分................................................................. 9 1.一个".java& ...
随机推荐
- opencv 操作本地摄像头实现录像
直接上代码: // demo1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...
- unity 导出 android安装包配置方案
原地址:http://blog.csdn.net/u012085988/article/details/17393111 1.jdk本人安装的是win32版的(虽然系统是64位的.但听说装64位的导出 ...
- UPUPW PHP环境集成包
UPUPW PHP环境集成包 http://www.upupw.net/
- HDU4524+水题
简单. #include<stdio.h> #include<string.h> ; int a[ maxn ]; int main(){ int ca; scanf(&quo ...
- Java 单链表逆序
代码: package com.wangzhu.linkedlist; public class LinkedListDemo { /** * @param args */ public static ...
- ANDROID_MARS学习笔记_S01原始版_020_Mp3player001_歌曲列表
一.项目设计 二.歌曲列表简介 1.利用java.net.HttpURLConnection以流的形式下载xml文件为String 2.自定义ContentHandler-->Mp3ListCo ...
- .Net中C#的DllImport的用法
大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如 Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功 ...
- Form - 遍历行
go_block('block_name'); first_record; LOOP message(:block_name.item); if :system.last_record = ...
- 细说SQL性能优化
1:在进行多表关联时,多用where语句把单个表的结果集最小化,多用聚合函数汇总结果集后再与其它表做关联,以使结果集数据量最小化2:在两张表进行关联时,应考虑可否使用右连接.以提高查询速度3:使用wh ...
- C#中的try catch finally
try中的程序块是有可能发生错误的程序块,catch中的程序块是当发生错误的时候才会执行的代码块,finally中的程序块是无论是否发生错误都会执行的代码块. 示例程序: ? 1 2 3 4 5 6 ...