1、同步调用的问题
2、异步调用方案
3、四大优势
4、什么是MQ
5、总结分析
1、同步调用
优点:逻辑顺序清晰明了,出现问题方便定位管理。
缺点:1、耦合度高:每次有新需求,都需要修改代码
2、性能下降:需要等待所有服务接口执行完毕
3、资源浪费:执行时,无法释放请求占用资源,高并发下会极度浪费系统资源
4、级联失败:如果某一服务提供方出现问题,会导致整个微服务集群故障
2、异步调用
优点: 1、耦合度低:每次有新需求,只需要添加对应的订阅即可
2、吞吐量提升:各自处理自己订阅的事件,不需要等待执行完毕后再释放资源
3、故障隔离:因为没有强依赖, 中间某一环节出了问题,不会影响整个流程
4、流量削峰:MQ就像一根管道,大量请求来了,你们给我排好队,依次执行
缺点:1、依赖的MQ必须足够强大,对其的可靠性、安全性、吞吐能力有着极大的考验
2、引入了新的技术,也就是中间件,导致开发流程变得更为复杂,也因为耦合度低,定位问题变得更困难了。
总结:软件开发的过程中没有银弹,什么样的技术都不是完美的,有优点也有缺点,需要结合实际情况,根据各自公司的业务需求来考虑,选择最为合适的方案,才是王道。
以上内容来自黑马程序员,课程学习节奏循序渐进。本人学习后觉得非常不错,有兴趣的小伙伴千万不要错过。
SpringCloud 黑马程序员公开课https://www.bilibili.com/video/BV1LQ4y127n4/?spm_id_from=333.337.search-card.all.click&vd_source=14fddb9f4c113af7bdb1f50651dffc4d