分享
B站千亿点赞系统服务架构
输入“/”快速插入内容
B站千亿点赞系统服务架构
1.
前言
1.1
什么是点赞
点赞是UP主跟粉丝之间的特殊羁绊,B站的点赞系统提供了对视频、动态、专栏、评论、弹幕等多种实体纬度的点赞、点踩以及其余配套的数据查询能力
•
稿件点赞(类推动态、专栏、评论等也具备该功能)
•
总获赞数
•
点赞记录
1.2
点赞服务需要提供哪些系统能力
业务能力
以“稿件”为例,需要提供
•
对某个稿件点赞(取消点赞)、点踩(取消点踩)
•
查询是否对单个或者或者一批稿件点赞(踩) - 状态查询
•
查询某稿件的点赞(踩)数
•
查询某个用户的点赞列表
•
查询某个稿件的点赞人列表
•
查询用户收到的总点赞数
平台能力
点赞作为一个社区实体共存的服务,中台化、平台化也是点赞服务需要具备的能力
•
提供业务快速接入的能力(配置级别)
•
数据存储上(缓存、DB),具备数据隔离存储的能力(多租户)
容灾能力
作为被用户强感知的站内功能,需要考虑各种情况下的系统容灾,如
•
存储不可用
◦
当DB不可用时,依托缓存尽可能提供服务
◦
当缓存不可用,DB需要保证自己不宕机下尽可能提供服务
•
消息队列不可用
◦
通过RPC调用方式自动降级
•
机房灾难
◦
切换机房
•
数据同步延迟
◦
数据同步问题(断流、延迟)导致的点赞技术同步延迟
还有其他诸如:下游依赖宕机、点赞消息堆积等其他问题