思考(八十四):再论排行榜服务(二)

本文探讨了排行榜服务中如何处理最终一致性问题,提出了引入排行榜快照的概念。通过同步某个时刻的排名数据快照,可以解决因数据不断变化导致的排名出入。介绍了生成快照的间隔计算方法,并讨论了主从rank服务的架构设计,以确保服务的稳定性和效率。
摘要由CSDN通过智能技术生成

最终一致性问题

在本系列 思考(八十四):再论排行榜服务 中提到,使用分段同步排名的方法,达到排行榜的最终一致性

从程序角度,是合理的。但是具体业务,如榜单结算、玩家查看排行榜,会遇到一个问题:

  • 榜上的数据可能有出入

因为分段同步的是rank db最终排名,这个排名时刻在变化,会导致 rank 服务中的缓存排名出现出入

因此需要引入,排行榜快照概念

排行榜快照

从使用者角度,不能容忍的是排名数据有出入。而提前告知,排名数据会延迟 xx 秒(分、小时)更新,反而能得到使用者的理解、认同

因此最终一致性要同步的数据改为同步某个时刻的排名数据快照,就可以完美的解决最终一致性问题带来的问题

生成排名快照间隔

假设排名规模为 M ,排名块 chunk 大小为 N ,1 秒更新 1 个 chunk ,则同步完整快照时间为: M / N 秒

另外,排行数据很小,一项只有 score (float64) 和 member (int64) ,未压缩占 16 字节

根据以上条件数据,罗列下,各种规模下的同步完整快照时间:

chunk N 大小 chunk 数据量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fananchong2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值