AG评论业务回顾(4)评论列表

评论列表接口是整个服务的核心能力,用户在打开应用详情页的时候会加载评论列表。

主要的业务形态有:

1、评论的顺序、以及滑动分页返回

早期评论的顺序完全由ElasticSearch中产生。每次访问的时候,都通过ES 的score function,对应用下的评论进行计算,排出一个热门评论的顺序列表。后来出现了很大的性能问题,即使加上了评论id缓存,并把评论实体也缓存(这两个是分开缓存,接口组装的),但是无法解决爬虫爬取冷数据的问题,经常导致es的cpu达到100%,直至卡死,只能重启。

后来为了解决这个问题,我们在mysql里面多冗余了一个辅助排序字段,对于评论数量较多且有未建立热评列表缓存的应用,会在主线程从mysql返回排序结果,并将使用ES score function刷新该应用评论列表插入任务队列,逐个异步刷新。缓存建立的时候,按1千条建立,存id到缓存中

同时我们用hystrix,在微服务调用侧对es的访问做了熔断降级,如果es的响应太慢失败就熔断es,走mysql的辅助排序。

建立评论缓存时,对于领域内的评论单独建一份缓存,应用详情、用户信息以及是否点赞过、回复内容则是单独缓存,通过id进行关联。

2、评论列表支持按机型、评分筛选,并支持滑动分页返回

如果需要按机型作为条件筛选,还是走es。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值