- 评论服务接口提供功能:评论发布、回复评论、拉取评论、拉取回复、点赞、举报评论、删除评论等
数据库表:
适应大规模场景,通常使用分库分表提高数据库效率
评论数据使用三个表存储:主评论表、回复表、点赞表
发评论:
- 对用户的评论进行校验,包括对内容的评论和评论的回复区分,对用户和评论内容过滤,比如敏感用户和违禁词过滤
- 正常评论会写入数据库,进行相关日志的上报
- 评论内容还可以过相关的机器学习模型打分,更加智能的过滤评论内容
- 同时需要校验用户发评论的频率限制,避免机器或者恶意刷评论
拉取评论:
- 这部分访问比较多,考虑使用内存型数据库做缓存,如果有发新的评论缓存过期,重新读数据写入缓存,一般用户查看评论的前几页比较多,可以考虑只换成几页数据,提高利用率;
- 还要获取评论的回复,只对有回复的评论才去查询评论回复内容,这个写到主评论的字段里,减少查询次数
删除评论
- 采用假删除,数据存在,只是用一个字段来标记该条数据“已删除”