您的位置:首页 > 数据库 > SQL

Storm实时数据分析的常用架构(组合):队列服务器+storm集群实时处理+mysql存储

2014-05-03 09:28 696 查看
问题导读:

1.Storm实时组合,如何获取数据?

2.消息队列服务器可以采用什么技术?

3.消息在Storm中的传输由Storm框架的collector收集发射完成?

4.处理结果可以放在什么数据库中?




利用Storm进行实时数据分析的常用组合方式:

队列服务器+storm集群实时处理+mysql存储

对应上图中的五个环节,分别是:

步骤①:消息队列,消息队列服务器分为生产者和消费者。由生产者到数据库、队列服务器、文件或其他存储介质里面获得数据,生产者的工作需要单独配置或编码实现。队列服务器提供消费接口,通过此接口可以消费队列服务器中的数据。常见的用于实时分析的消息队列服务器有Kafka/meatQ,订单中心使用的队列服务器是Amq。相对来讲Amq更加稳定,Kafka/meatq更适合做吞吐量比较大的场景。

步骤②:在Storm框架编程模型中,数据源的接入模块式是Spout。kafka/meatQ针对Storm的Spout模块做了开源和成熟的插件。直接在Storm中集成这些开源的插件,即可实现数据从队列服务器到Storm的接入。

步骤③:消息在Storm中的传输由Storm框架的collector收集发射完成,用户可以不用关注怎么传输。消息的处理有Storm编程模型的Bolt模块去实现,Bolt负责具体的业务规则的判定和实现,一个业务中一般会有多个Bolt。

步骤④:Bolt计算的临时数据,一般会存放在redis或zookpeer中,在Bolt的execute方法中操作它们。

步骤⑤:消息的落地,会存放在mysql等关系型数据中。

来源:
Storm实时数据分析的常用架构(组合):队列服务器+storm集群实时处理+mysql存储
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: