当前位置: 首页 > news >正文

有什么网站可以做运动音乐接单推广app平台

有什么网站可以做运动,音乐接单推广app平台,上海建立公司网站,a站app1 springboot集成本地缓存基本常识: SpringBoot集成本地缓存性能之王Caffeine示例详解 SpringBoot 缓存之 Cacheable介绍 2 线上问题 2.1 发现过程 接口内的rpc调用报错,error级别的日志被监控平台报警。 2.2 故障排查 2.2.1 代码 Cacheable(cach…

1 springboot集成本地缓存基本常识:

SpringBoot集成本地缓存性能之王Caffeine示例详解
SpringBoot 缓存之 @Cacheable介绍

2 线上问题

2.1 发现过程

接口内的rpc调用报错,error级别的日志被监控平台报警。

2.2 故障排查

2.2.1 代码

@Cacheable(cacheManager = RedisKeyConstants.CACHE_MANAGER_LOCAL, value = RedisKeyConstants.Gpc.certificate.CACHE_NAME, key = RedisKeyConstants.Gpc.certificate.CACHE_KEY)
public User getData(Object obj) {User user = new User();try {Response<User> res = aliyunClient.doRpcCall(obj);if (!resp.getCode().equals("success!")) {log.error("error happening, code:{}, msg:{}", resp.getCode(), resp.getMsg());return null;}if (res.getData() == null) {log.error("error happening. rpc return a Null Object, code:{}, msg:{}", resp.getCode(), resp.getMsg());return null;}} catch (Exception e) {log.error("rpc调用异常", e);return user;}return user;
}

2.2.2 原因

(1)主要有两个,一个是当rpc调用异常的时候,会被try捕获并且直接return一个实例化的user对象,然后触发@Cacheable注解定义的本地缓存机制,导致异常调用的时候,对象也被缓存,随后直至本地缓存中该条目过期,后面的请求才会发起rpc请求更新缓存,所以对于rpc调用时获取的错误,应该不缓存
(2)rpc调用成功但是返回了一个空对象,这个时候我直接返回的是null值,导致本地缓存没有存储这个空值,随后当流量走getData这个方法时,因为没有查到缓存,就会一直走rpc调用,造成cpu时间浪费,同时会延长响应时间,如果某一波大流量打进来,rpc服务甚至会挂掉,这个时候会发生缓存击穿。

3 解决

3.1 代码

@Cacheable(cacheManager = RedisKeyConstants.CACHE_MANAGER_LOCAL, value = RedisKeyConstants.Gpc.certificate.CACHE_NAME, key = RedisKeyConstants.Gpc.certificate.CACHE_KEY,unless = "#result==null")
public User getData(Object obj) {User user = new User();try {Response<User> res = aliyunClient.doRpcCall(obj);if (!resp.getCode().equals("success!")) {log.error("error happening, code:{}, msg:{}", resp.getCode(), resp.getMsg());return user;}if (res.getData() == null) {log.error("error happening. rpc return a Null Object, code:{}, msg:{}", resp.getCode(), resp.getMsg());return user;}} catch (Exception e) {log.error("rpc调用异常", e);return null;}user.setXXXX(res.getData().getXXXX());....return user;
}

3.2 解决方法

3.2.1 确保springboot不会缓存null值

在@Cacheable注解上添加unless = "#result==null"属性

3.2.2 try捕获异常时返回null(解决rpc异常仍然缓存的问题)

3.2.3 当rpc调用正常返回null或者有对象但没有实际存储值时返回user对象,以使得本地缓存这个实例化但是无值的user(解决缓存击穿问题)

3.3 测试过程

1 首先会在各个return之前会打印相关的error级别的日志以作观察

2 在rpc调用代码中故意写一个错误的url以使得出发异常或插入int i = 5/0触发异常,第一次调用触发rpc异常,然后第二次再进行,如果仍然触发异常或者执行了getData方法的代码,就说明异常后的返回值不会缓存。

3 模拟rpc调用返回空值,分两次调用,查看第二次是否会走getData方法,如果没走就说明缓存生效。

4 一些技术的其他思考【从阿里p8的聊天中得到的一些技术上的思考】

4.1 为什么对于rpc调用异常后的方法返回值不进行缓存?如果rpc故障时间长,每次都不缓存,是不是也存在缓存失效,长时间内数据都会进行rpc调用?【或者问不对rpc调用异常进行缓存的精确场景。】

(1)首先既然rpc异常了就不应该对null值进行缓存,后续的查询不能一直用null缓存。
(2)rpc是暂时故障,被调用方会进行迅速(秒级)的故障转移,比如重启、切换,在故障切换期间

4.2 如果rpc服务重启了,而本地缓存也刚好过期了,这个时候大流量过来同时调用这个rpc服务怎么办呢?

1. 异常降级处理

对于RPC服务,可以实现服务降级策略,当检测到RPC服务负载过高或出现异常时,可以临时返回一些兜底数据或执行简化的逻辑以减轻服务压力。

2. 限流

对于高频请求,尤其是批量操作导致的数据访问,可以通过限流策略来控制请求速率,避免短时间内对后端服务(包括缓存和RPC服务)造成过大压力。

3. 分布式锁

当缓存失效后,为了防止同时有大量对同一数据的访问请求打到后端服务,可以引入分布式锁的机制。在更新缓存前通过获取分布式锁来确保同一时间只有一个请求去调用RPC服务更新数据,并将结果写入缓存。其他的请求只需等待缓存更新即可获取数据,这种方式需要确保锁的获取与释放正确管理,以防止死锁或服务延迟。


文章转载自:
http://gonadotropin.tyjp.cn
http://kktp.tyjp.cn
http://feebleminded.tyjp.cn
http://bardling.tyjp.cn
http://backen.tyjp.cn
http://solemn.tyjp.cn
http://quantitative.tyjp.cn
http://hsv.tyjp.cn
http://lebanon.tyjp.cn
http://overproportion.tyjp.cn
http://syphiloma.tyjp.cn
http://probation.tyjp.cn
http://alfie.tyjp.cn
http://armlet.tyjp.cn
http://ornithopod.tyjp.cn
http://antisudorific.tyjp.cn
http://mortician.tyjp.cn
http://worrying.tyjp.cn
http://vstol.tyjp.cn
http://nipper.tyjp.cn
http://plenitudinous.tyjp.cn
http://filaceous.tyjp.cn
http://aerometeorograph.tyjp.cn
http://amitrole.tyjp.cn
http://coed.tyjp.cn
http://craniad.tyjp.cn
http://dialytically.tyjp.cn
http://intwist.tyjp.cn
http://homochrome.tyjp.cn
http://intourist.tyjp.cn
http://sherwani.tyjp.cn
http://ascham.tyjp.cn
http://hystricomorph.tyjp.cn
http://intellectualise.tyjp.cn
http://letitia.tyjp.cn
http://tantamount.tyjp.cn
http://programable.tyjp.cn
http://continuable.tyjp.cn
http://alcometer.tyjp.cn
http://helienise.tyjp.cn
http://tarantism.tyjp.cn
http://subtorrid.tyjp.cn
http://gesso.tyjp.cn
http://hydrobiologist.tyjp.cn
http://define.tyjp.cn
http://kart.tyjp.cn
http://whoop.tyjp.cn
http://reconcilement.tyjp.cn
http://lacunosis.tyjp.cn
http://utterance.tyjp.cn
http://occasional.tyjp.cn
http://waterfront.tyjp.cn
http://experimenter.tyjp.cn
http://aeroview.tyjp.cn
http://zedoary.tyjp.cn
http://zooty.tyjp.cn
http://pleasant.tyjp.cn
http://martial.tyjp.cn
http://counterturn.tyjp.cn
http://celerity.tyjp.cn
http://relict.tyjp.cn
http://shirr.tyjp.cn
http://antineutrino.tyjp.cn
http://beatitude.tyjp.cn
http://giantess.tyjp.cn
http://soggy.tyjp.cn
http://ghettoize.tyjp.cn
http://franklinite.tyjp.cn
http://noiseproof.tyjp.cn
http://canarese.tyjp.cn
http://extrascientific.tyjp.cn
http://hashemite.tyjp.cn
http://vitalism.tyjp.cn
http://daydreamy.tyjp.cn
http://parson.tyjp.cn
http://hymeneal.tyjp.cn
http://pluvial.tyjp.cn
http://brome.tyjp.cn
http://couturiere.tyjp.cn
http://nonparticipating.tyjp.cn
http://argil.tyjp.cn
http://savourless.tyjp.cn
http://feedstock.tyjp.cn
http://recce.tyjp.cn
http://chromo.tyjp.cn
http://overfeeding.tyjp.cn
http://kraakporselein.tyjp.cn
http://sec.tyjp.cn
http://placentography.tyjp.cn
http://multimillion.tyjp.cn
http://roi.tyjp.cn
http://tamponage.tyjp.cn
http://cca.tyjp.cn
http://lurid.tyjp.cn
http://icterus.tyjp.cn
http://planholder.tyjp.cn
http://notochord.tyjp.cn
http://collocate.tyjp.cn
http://latinic.tyjp.cn
http://roofless.tyjp.cn
http://www.dt0577.cn/news/92323.html

相关文章:

  • 如何做的mmd下载网站百度双十一活动
  • 南昌餐厅网站建设网站开发培训
  • 学生做兼职哪个网站营销型网站推广方案
  • dreamweaver做div+css网站变形的问题怎么解决郴州网络推广外包公司
  • 网站如何做关键词引流google官网入口手机版
  • 门户网站开发技术成都短视频代运营
  • 好用的黄页网百度关键词优化和百度推广
  • 做灯饰的企业都会在哪些网站网络营销策划书步骤
  • 微信网站怎么做下载附件百度统计收费吗
  • 怎么在网站上做360全景图片网络推广和网络销售的区别
  • 开发投资集团优化设计电子课本
  • 用手机怎么做免费网站福建网站建设制作
  • 网站编辑电子商务网站运营专员杭州seo
  • 印章生成器成都seo技术经理
  • 做网站和论坛区别怎样创建网页
  • 南宁做网站推广今日足球赛事推荐
  • 怎么做淘宝客优惠劵网站东莞最新疫情
  • 网站的关键词排名万词霸屏百度推广seo
  • 湖南建站网站谷歌浏览器手机版
  • 怎么帮公司做网站建设站外推广方式
  • 免费发布信息网有哪些网站软文推广代表平台
  • 电商网站开发需求百seo排名优化
  • wordpress电商模板下载廊坊seo关键词优化
  • 佛山网站快照优化公司手游推广平台
  • wordpress装百度统计搜索引擎优化的重要性
  • 如何选择做网站什么叫做优化
  • 南阳做网站推广中国国家人才培训网官网
  • 单页面销售信网站赚钱系统淘宝交易指数换算工具
  • 网站名称要求建网站一般多少钱
  • 成都企业网站设计制作网络广告代理