为什么要使用MQ
- 解耦、异步、削峰
- 解耦:一个系统或者说一个模块,调用了多个系统或者模块,互相之间很复杂,维护起来比较麻烦。但是这个接口不需要同步接口的,比如通知等,这个时候采用异步化进行解耦
- 异步:某些操作,比如非事务操作,这个时候可以采用异步的方式
- 削峰:减少高峰期对服务器的压力。
MQ有什么缺点
- 系统可用性降低,从某种情况来说,因为依赖中间件越多,出问题的概率就越大。
- 系统复杂度提高:怎么保证消息不会重复消费,保证消息没有丢失
- 一致性问题:可以采用事务消息。
- https://blog.csdn.net/QGhurt/article/details/114630705
如何保证高可用的
- RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ为例子讲解第一种 MQ 的高可用性怎么实现。RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式
- 普通集群模式,意思就是在多台机器上启动多个 RabbitMQ 实例,每个机器启动一个。你创建的 queue,只会放在一
本文转载自: https://blog.csdn.net/u010800804/article/details/123775264
版权归原作者 rundreamsFly 所有, 如有侵权,请联系我们删除。
版权归原作者 rundreamsFly 所有, 如有侵权,请联系我们删除。