zoukankan      html  css  js  c++  java
  • Storm概念学习系列之storm的功能和三大应用

      不多说,直接上干货!

    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 可以合并,也可以切分数据,最终完成整个业务逻辑处理并输出结果。分分合合,就像河水从曲曲折折的河道一直流向大海一样,所以也称这种数据处理方式为流式计算

  • 相关阅读:
    Unity 3(一):简介与示例
    MongoDB以Windows Service运行
    动态SQL中变量赋值
    网站发布IIS后堆栈追踪无法获取出错的行号
    GridView Postback后出错Operation is not valid due to the current state of the object.
    Visual Studio 2010 SP1 在线安装后,找到缓存在本地的临时文件以便下次离线安装
    SQL Server 问题之 排序规则(collation)冲突
    IIS 问题集锦
    linux下安装mysql(ubuntu0.16.04.1)
    apt-get update 系列作用
  • 原文地址:https://www.cnblogs.com/zlslch/p/5989268.html
Copyright © 2011-2022 走看看