不多说,直接上干货!

storm的功能

  Storm 有许多应用领域:实时分析、在线机器学习、持续计算、分布式 RPC(远过程调用协议,一种通过网络从远程计算机程序上请求服务)、 ETL(Extraction-Transformation-Loading 的缩写,即数据抽取、转换和加载)等。

下面介绍 Storm 的三大主要应用
  (1)流处理( stream processing)
  Storm 可用来实时处理新数据和更新数据库,兼具容错性和可扩展性,即 Storm 可以用来处理源源不断流进来的消息,处理之后将结果写入某个存储中。

  (2)持续计算( continuous computation)
  Storm 可进行连续查询并把结果即时反馈给客户端,如把 Twitter 上的热门话题发送到浏览器中。

  Storm能保证计算可以永久运行,直到用户结束计算进程为止。

  (3)分布式远程程序调用( distributed RPC)

  Storm 可用来并行处理密集查询。 Storm 的拓扑结构是一个等待调用信息的分布函数,当它收到一条调用信息后,会对查询进行计算,并返回查询结果。例如,分布式 RPC 可以做并行搜索或者处理大集合的数据,通过配置DRPC服务器,将 Storm的Topology发布为DRPC服务。客户端程序可以调用DRPC服务将数据发送到 Storm 集群中,并接收处理结果的反馈。这种方式需要DRPC服务器转发,其中 DRPC 服务器底层通过 Thrift 实现。适合的业务场景主要是实时计算,且扩展性良好,可以增加每个节点的 Worker 数量来动态扩展。

  Storm 绝对是一个相当“有内涵”的系统,能把那么复杂的事情抽象得很完美,能把数学用到极致,这是笔者使用 Storm 实现消息确保被执行一次之后最直接的感觉。例如互联网方向的实时推荐,海量的用户、数据,且需要实时的推荐算法计算,该如何实现?有了 Storm, Spout 从数据源取得数据, Bolt 可以合并,也可以切分数据,最终完成整个业务逻辑处理并输出结果。分分合合,就像河水从曲曲折折的河道一直流向大海一样,所以也称这种数据处理方式为流式计算

最新文章

  1. 在Asp.Net中操作PDF – iTextSharp - 使用表格
  2. SQL Server Reporting Service(SSRS) 第四篇 SSRS 用法总结
  3. react学习笔记1
  4. Struts2 本是非单例的,与Spring集成就默认为单例
  5. MVC的EF编辑,不用查询直接修改
  6. Linux grep和find的区别
  7. Python 列表生成式、生成器、迭代器
  8. Heritrix个性化设置抓取目标
  9. 自定义Annotation
  10. C# 委托、匿名方法、lambda简介
  11. <mate name="viewport">移动端设置详解
  12. 图片转字符画 【学习ing】
  13. Python switch(多分支选择)的实现
  14. maven . mac
  15. 2019.01.23 hdu1693 Eat the Trees(轮廓线dp)
  16. Java正则表达式初学者使用法简介
  17. 禁止直接访问ashx页面
  18. Linux学习1-创建虚拟机
  19. mongo同步到es
  20. 【LOJ】#2670. 「NOI2012」随机数生成器

热门文章

  1. 【转】 Pro Android学习笔记(六九):HTTP服务(3):HTTP POST MultiPart
  2. 【转】 Pro Android学习笔记(五九):Preferences(3):EditText和Ringtone Preference
  3. 问题:C# params类型参数;结果:C#的参数类型:params、out和ref
  4. Android精品源码分享第四波袭来,免费下载!
  5. 基于Docker部署私有npm
  6. Windchill 配置LOG文件,使开发中的代码能显示打印的信息
  7. [poj2135]Farm Tour(最小费用流)
  8. Java之网络编程UDP和TCP
  9. SpringBoot04 SpringBoot 和 MyBatis 整合
  10. [原创]SQL表值函数:把用逗号分隔的字符串转换成表格数据