美文网首页
第五章 实时技术之流式技术架构

第五章 实时技术之流式技术架构

作者: 被爱的天青色 | 来源:发表于2019-02-09 00:42 被阅读20次

        流式计算框架的开源方案非常多,整体的机构相似,只是实现实时的方式存在差异,按照子系统功能划分,分为数据采集、数据处理、数据存储、数据服务四个部分


数据采集

1)实时采集的数据一般来自业务服务器,分成两大类:

① 数据库变更日志

② 服务器引擎访问日志

2)不论是哪种日志文件,采集完成后都已文件的形式保存,采集工具只要监控文件的变化就可以做到实时采集

3)处于对吞吐量的考虑,会以批次的方式进行采集,批次大小基于两个原则:

① 数据大小限制

② 事件阈值限制

4)时效性吞吐量是需要权衡的两个属性,采集频繁可以提升时效性,降低吞吐量。


数据处理

1)市面上流行的流式计算框架:

① Strom

② S4

③ spark Streaming

④ flink

2)典型问题分析:

① 去重:实时计算为了提高性能,把中间结果的数据保存在内存中,当数据量过大,内存不足以容纳时

+ 精确去重:通过处理数据倾斜的方式把一个节点的内存压力分散到多台节点上

+ 模糊去重:在对结果精度要求不高的情况下使用相关算法去重,如布隆过滤器、基数估计

② 数据倾斜:由于数据分布不均匀,倒是某一台节点数据量巨大,承为性能的瓶颈,这时对数据进行分桶处理,利用各个桶的cpu能力

③  事务处理:分布式系统处理任务可能由于网络、硬件等原因出现失败的情况,在这种情况下如何做到数据的精确处理。


数据存储:

1)实时计算过程中涉及很多维度和指标,其中会涉及三类数据

① 中间结果

② 最终结果

③ 维表数据

2)表名设计:汇总层表示(DWS) + 数据域(交易数据) + 主维度(交易信息) + 时间维度(0)

3)rowkey设计:MD5(卖家id前四位:用于数据散列,负载均衡) + 主维度(买家id) + 维度标识(app) + 子维度1(一级类目id) + 时间维度(ddd) + 子维度2(二级类目id)

相关文章

网友评论

      本文标题:第五章 实时技术之流式技术架构

      本文链接:https://www.haomeiwen.com/subject/ofhnsqtx.html