业务指标的采集与同步如何设计呢?

查看 23|回复 0
作者:tianshunovel2   
最近在做小说网站,需要统计小说作品的点击次数这个业务指标,需要实时记录并提供历史查询功能。
后端用的 golang ,服务器是小服务器 1h2G 哈,不能运行 k8s 啥的。
目前的方案是:
后端程序启动时,查询 mysql 把各个作品的点击数据批量同步到 redis ,这是初始化;
用户点击作品时,更改 redis 中的作品的点击数据,记录下待同步的作品 id ;
在每 10 分钟执行一次的定时任务中,如果发现存在待同步的作品 id ,就把它们的 redis 中的点击数据批量同步到 mysql ;
遇到的问题:
同步点击数据到 mysql 时,从 redis 里取的的可能是 0 值,作品的点击数据就被重置为 0 了;或者 redis 服务意外停了,导致指标数据异常;同步时可能因为延时,导致数据不那么太健康,比如原本 9 点 30 分的数据,记录在了 9 点 38 分。
如何设计一个精简健壮的指标采集同步系统呢?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部