为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第6天 架构治理(二)

标签:
架构

课程名称Java架构师-十项全能

课程章节

性能治理、依赖治理

主讲老师

书生

课程内容

  1. 性能治理:

https://img1.sycdn.imooc.com//631cae1c0001f53b12040581.jpg

解决性能问题:

解决流量的问题, 流量很高,或者不均衡。

解决热点问题。

解决数据问题:表设计。

优化日志打印,消耗性能,IO是很大的瓶颈。

面对流量问题:最核心的是缓存建设,是抗住流量最关键的一点;缓存预热;流量整形,削峰填谷;异步化解决同步代码或者同步请求中不着急的业务由异步来完成。

面对热点问题:分散热点数据,不要让所有热点数据都打到某一张表或某一行数据,大家都去修改,大大降低了系统的性能。

面对数据问题:大key,造长短缓存,更新不频繁的用长缓存。更新频繁的做短缓存。表拆分,mysql的表过百万性能就下降了。治理慢SQL。

打印日志:只打关键日志。对于线上问题,通过流量回放重新打印日志来解决。使用日志异步化。


准备工作:(在流量到来之前的准备

热点数据:热点分散

缓存建设:超时管理、长短缓存

缓存预热:建立链路缓存、刷新超时时间

流量约束:(在流量到来时处理

流量整形:令牌桶、流量缓存

流量控制:限流、熔断

 

https://img1.sycdn.imooc.com//631cae1800010a4906740338.jpg

  1. 依赖治理

https://img1.sycdn.imooc.com//631cae180001387f06700370.jpg

依赖带来提效,也带来风险

依赖分直接依赖、间接依赖、循环依赖

依赖保护:熔断保护、兜底方案、依赖安全

依赖治理:临时包问题、依赖升级、依赖冲突、依赖瘦身、私有依赖

在依赖管理中:

用正式包替换临时包,即SNAPSHOT治理

对于问题版本、漏洞版本,进行问题依赖版本升级

对能力升级、历史清退,进行依赖升级功能改造

对间接依赖、循环依赖,进行依赖冲突管理

对向下兼容和稳定保证,是作为依赖的基本要求

依赖瘦身:

使用命令去除未使用依赖和重复依赖

https://img1.sycdn.imooc.com//631cae1a00017eaf06420350.jpg

maven helper插件, 帮助分析依赖树

maven dependency:tree 定位冲突依赖, 进行一一排除

https://img1.sycdn.imooc.com//631cae1a00014e7906750348.jpg

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消