通过缓存方式提高QPS,在调用多微服务下应该如何做缓存,缓存更新需要哪些策略?

我们目前已经在实施微服务化,RPC框架使用Dubbo 2.5.3版本,主要做生鲜电商类平台。在商品详情页调用了很多服务,比如商品基本信息,优惠券,活动,猜你喜欢等很多服务,当有活动的时候QPS非常高,后端服务压力太大,经常服务宕机,所以打算通过增加缓存的方式来提高QPS,但是需要调用这么多服务不清楚在哪里做缓存,缓存更新需要什么策略,哪些不能缓存?

参与4

1同行回答

尘世随缘尘世随缘技术总监上海某互联网金融公司
这个问题需要找根源,正常API接口发起请求到后端服务,如果涉及到会调用多个接口,那么会有一层聚合层,通常在聚合层做缓存,缓存分本地缓存(如JVM)或者远端缓存(如Redis或Memcache)。由于是都是分布式架构,所以缓存一般采用TTL自动过期来清除缓存。如果业务量非常大,但是对于数据的不一...显示全部

这个问题需要找根源,正常API接口发起请求到后端服务,如果涉及到会调用多个接口,那么会有一层聚合层,通常在聚合层做缓存,缓存分本地缓存(如JVM)或者远端缓存(如Redis或Memcache)。由于是都是分布式架构,所以缓存一般采用TTL自动过期来清除缓存。如果业务量非常大,但是对于数据的不一致有比较高的要求,可以设置1秒。如果要求不高可以设置30秒或者分钟级别都可以。

收起
互联网服务 · 2019-07-03
浏览1611

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2019-07-02
  • 关注会员:2 人
  • 问题浏览:2071
  • 最近回答:2019-07-03
  • X社区推广