短视频场景高并发技术实现

目录

一、场景

1、直播间评论

2、直播间榜单top10

3、点赞

4、抢红包

二、Redis集群

1、原始架构

2、双机房冷备 

3、单机房多AZ(最终方案)



一、场景

1、直播间评论

1、发评论调用api,同步调用调用另一个收敛微服务,最后写入redis。

2、定时pull redis中的数据,到长连接服务器,长连接服务器把数据广播给主播端。

3、redis使用的是zset

3、长连接服务器可以横向扩容。

2、直播间榜单top10

1、由于人数多,zset+k-v,zset存储榜单top10数据,其它全量数据存储在kv

k:主播id;score:点赞数;v:点赞用户ID

粉丝亲密度榜单

1、千万级别用户,分1w的shard,每个shard存储一千个用户数据,最后查询redis数据在内存中聚合不同shard里的排序top数据

热key问题

1、背景:redis一个实例一个key的查询峰值在10w左右,如果qps很大就扛不住这么大的流量

2、解法:redis读写分离、key冗余存储、拆分shard

3、写入qps高,可以分shard,不同用户写到不同shard

3、点赞

4、抢红包

天降红包

二、Redis集群

redis集群架构演进

1、原始架构

问题:

1、业务一致性问题,既要高可用,又要一致性

2、机房宕机,数据切换跨团队合作同步慢

3、集群过大,需要控制容灾时的风险

2、双机房冷备 

问题:切换时候的数据丢失

3、单机房多AZ(最终方案)

双机房访问极端情况下会有一致性问题(如:分布式锁失效),所以这个场景采用单机房多AZ的方式。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值