流式技术架构:
在流式计算技术中,需要各个子系统之 相互依赖形成一条数据处理链路,才能产出结果最终对外提供实时数据服务。在实际技术选型时,可选的开源技术方案非常多,但是各个方案的整体架构是类似的,只是各个子系统的实现原理不太一样。另外,流式技术架构中的系统跟离线处理是有交叉的,两套技术方案并不是完全独立的,并且在业界中有合并的趋势.
各个子系统按功能划分的话,主要分为以下几部分。
1,数据采集
数据的源头,一般来自于各个业务的日志服务器(例如网站的浏览行为日志、订单的修改日志等),这些数据被实时采集到数据中间件中,供下游实时订阅使用。
2.数据处理
数据被采集到中间件中后,需要下游实时订阅数据,并拉取到流式计算系统的任务中进行加工处理。这里需要提供流计算引擎以支持流式任务的执行。
3.数据存储
数据被实时加工处理(比如聚合、清洗等)后,会写到某个在线服务的存储系统中,供下游调用方使用。这里的写操作是增量操作,并且是源源不断的。
4.数据服务
在存储系统上会架设一层统一的数据服务层(比如提供HSF接口HTTP服务等),用于获取实时计算结果。