AG评论业务回顾(3)发评论

用户在下载应用之后,可以发评论。

通过唯一主键:appid+version+country+uid限制对一个app的发表次数。

对UID维度,在redis进行发评论计数,比如10分钟超过10条就暂时拉黑。

通过一个字典树维持敏感词,对评论内容进行过滤,如果包含敏感词直接发表失败。这个操作是同步的,敏感词库的条数后来已经来到了几千条,存在内存里面不涉及IO,实际上性能还可以接受。

评论请求还会起一个异步线程,调用安全服务做自动化审核,这个服务不在我们这边,里面大概做一些对ip、uid、内容文字等的识别,判断是否存在一些集聚的刷子黑产。

入库的时候,会在主线程写入es、mysql、Cassandra,清空或刷新redis缓存。同时做一些发消息、打点。

每次进详情页,都要查是否发表过评论,没有的话就展示发表评论,早期的时候每次都会查表, 浪费很多性能,后面做了一个缓存,即使没发过也会缓存一次。这个缓存的维度是uid*appId的,量会很大,所以设计的非常精简,上线后确实占用了很多redis内存,但还可以接受。

发表评论会对应用的评论统计产生影响,对于头部应用,如果每次发表评论就做一次全量统计,会有很大的负荷。所以后来做了一个优化,只对评论数较少的应用,在发布评论的时候会做评分、评论数统计刷新。对于评论数较多的应用,通过定时任务,一个一个app异步去做刷新。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值