ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
MQ的优势 1.应用解耦:提高系统容错性和可维护性 2.异步提速:提升用户体验和系统吞吐量 3.削峰填谷:提高系统稳定性 应用解耦 应用系统都追求高内聚,低耦合 系统的耦合性越高,容错性就越低,可维护性就越低 使用MQ使得应用间解耦,提升容错性和可维护性 异步提速 提升用户体验和系统吞吐量(单位时间内处理请求的数目) 削峰填谷 MQ的劣势 1.系统可用性降低 系统引入的外部依赖越多,系统稳定性越差.一旦MQ宕机,就会对业务造成影响.如何保证MQ的高可用? 2.系统复杂度提高 MQ的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在通过MQ进行异步调用.如何 保证消息没有被重复消费?怎么处理消息丢失情况?如何保证消息传递的顺序性? 3.一致性问题 A系统处理完业务,通过MQ给B,C,D三个系统发消息数据,如果B系统,C系统处理成功,D系统处理失败.如何保证消息数据处理的一致性? 既然MQ有优势也有劣势,那么使用MQ需要满足什么条件呢? 1.生产者不需要从消费者处获得反馈. 2.容许短暂的不一致性 3.确实是用了有效果.即解耦,提速,削峰这些方面的收益,超过加入MQ,管理MQ这些成本