数据采集,埋点模型
1.埋点指的是针对特定用户行为或时间进行捕获,处理和发送的相关技术及其实施过程,是一种常见的数据采集方式
2.Gateway埋点
作为数据流的统一入口和出口的最外层非常适合做数据埋点,只需要定义GlohbalFilter
然后包装即可
2.1灵活性强,使用者可以比较方便的自定义属性,时间,传递各种所需的数据到服务端,对业务层代码侵入性低,无需代理
2.2对于非请求到后端的用户数据无法采集
首先,所有前端的所有请求都要经过网关的globalfilter过滤处理,这里处理两部分信息请求数据,返回数据
然后,通过decorator装饰器处理,处理时:获得请求参数数据,返回时:构建返回数据结构
最后,通过spring cloud-stream发送延迟消息村粗influxDB中
请求数据处理:
-
RequestRecordFilter:请求记录过滤器,用来接用户发送的业务请求,其中会去除忽略路径,测试路径,文件上传路径
-
CacheServerHttpRequestDecorator:继承ServerHttpRequestDecorator装饰器,从Flux中拿到请求body体,并且添加到heard中
返回数据处理:
-
ResponseRecordFilter:应答记录过滤器,用来处理业务系统返回数据,其中会去除忽略路径,测试路径,文件上传路径
-
CacheServerHttpResponseDecorator:继承ServerHttpResponseDecorator装饰器,从Flux中拿到请求body体,调用Logsource发送消息到rabbit中
异步数据存储:
-
LogSource:埋点数据传输生产者
-
LogSink:埋点数据传输接受者