面试题如下:
题目要求你实现一个 Monitor.counter(String code, String dim)
接口,用于监控数据统计。
具体要求:
- 数据聚合: 你需要按照
code
和dim
的组合进行数据聚合,code
代表监控项的唯一标识,dim
为自定义维度。 - 上报频率: 每分钟上报一次聚合后的数据。
- 数据保证: 要确保数据不能丢失,即使
Monitor.counter
接口调用频繁且code
和dim
的组合数量可控。 - 上报接口: 你可以使用已有的
Monitor.report(String code, String dim, long count)
接口上报数据,其中count
是对应code
和dim
组合在一分钟内的计数。
需要考虑的问题
- 对于监控场景,统计用户pv,数据量可能贼大,所以这个每次都上报数据,会导致监控系统负载比较大,而且监控数据不需要特别实时,所以可以现在本地聚合,然后再上报。比如每分钟上报一次。
- 涉及到本地聚合,数据不能丢失,需要考虑到线程安全的问题,避免数据混乱统计错误。
代码实现
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 【Java面试篇】数据埋点监控页面pv的SDK接口实现
发表评论 取消回复