在特殊场景下有其对应的好处:解耦、异步、削峰。
缺点有以下几个:
系统可用性降低
系统引入的外部依赖越多,越容易挂掉。本来A系统调用BCD三个系统的接口就好了,ABCD四个系统运行正常,加一个MQ进来,万一MQ挂了,整套系统就崩溃。
一致性问题
A系统处理完了,直接返回成功了,以为这个请求就成功了。但是问题时,要是BCD三个系统哪里,BD两个系统写库成功了,结果C系统写库失败了,可能导致数据不一致。
在特殊场景下有其对应的好处:解耦、异步、削峰。
缺点有以下几个:
系统可用性降低
系统引入的外部依赖越多,越容易挂掉。本来A系统调用BCD三个系统的接口就好了,ABCD四个系统运行正常,加一个MQ进来,万一MQ挂了,整套系统就崩溃。
一致性问题
A系统处理完了,直接返回成功了,以为这个请求就成功了。但是问题时,要是BCD三个系统哪里,BD两个系统写库成功了,结果C系统写库失败了,可能导致数据不一致。
上一篇:static关键字
下一篇:RabbitMQ的搞可用
优点-各自使用封装的算法,可以容易地引入新的算法来满足相同的接口-算法的细节完全封装在 Strategy 类中,因此可以在不影响 Context 类的情况下更改算法的实现-由于实现的是同一个接口,所以策略之间可以自由切换缺点:-客户端必须知道所有的策略,了解它们之间的区别,以便选择恰当的算法
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M