您的位置:首页 > 大数据

实时大数据处理框架Storm---推送系统

2017-10-09 13:44 639 查看

1.背景

最近在接触实时大数据框架Storm,要求延时在秒级,需求包括用户转账实时APP和短信通知,新股破板通知等;数据规模在每天百万级,高峰期每秒1000。

2.架构设计

2.1 分块

该系统主要包括三部分:数据采集模块,数据加工模块,数据推送模块。

数据采集模块通过接收对应Topic的Kafka消息来实现,需要根据数据量设置分区个数,数据保留周期,数据发送准确级别(不重发,漏发);

数据加工模块通过Storm处理,从Redis获取一些常用信息,比如客户信息,股票信息,持仓信息等,加工成流水数据,将流水数据发到Kafka;

数据推送模块包括推送系统接收Kafka消息,并调用APP渠道或短信渠道接口进行数据推送。

3.问题

a.数据源延迟问题

数据高峰时期,由于数据源一般来自数据库bin-log日志,读取线程数与读取速度等因素都可能导致数据源延迟。

b.topic分区个数问题

分区个数决定了同一组消费者的最大个数。

c.Storm并发度设置

Spout并发度,bolt并发度

d.推送系统消费者个数设置

Kafka消费者线程数,注意多渠道划分导致总线程数远远超过生产机器的CPU总核数,可能出现部分线程阻塞情况。

e.渠道发送接口调用

http接口orRPC接口,同步或异步调用,批量发送大小设置

4.瓶颈

实时消息推送出现较长时间延迟时,说明系统出现瓶颈,此时应该查看生产系统各部分的吞吐情况,包括数据源延迟,Kafka消费能力,Storm处理能力,推送系统能力等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  storm 大数据 框架