0
点赞
收藏
分享

微信扫一扫

MQ基本总结

律楷粑粑 2022-02-28 阅读 55

1.MQ是什么?干啥用的?

MQ是消息队列

1)可以帮助我们减轻代码复杂度

比如,当用户下单时,会同时发短信和发邮箱验证,最传统的代码就是用户去调用短信业务,再去调用邮箱业务,再去调用下单业务。如果中间有一个出现问题,那么业务可能就会失效。

我们可能会想到并发执行,用户在下单的同时去发短信,发邮箱,因为我们下单并不影响其他的业务操作。

但是多线程比较复杂,且不易维护,所以我们只要加一个MQ,用来接受用户发短息和邮箱的请求,然后等待响应的服务去调取信息即可。

2)可以帮助我们防止数据库负载过重。

比如,当有一万个用户去访问数据库,但是数据库的负载只有两千,那么数据库负载过重,直接宕机。我们在用户访问数据库时,在中间加一个消息队列,MQ的承载量远大于数据库的承载量,MQ中有这一万个人的请求,但是只放行两千个,这样数据库遍可以负载。当这两千个业务处理完成后,再放行两千个。

2.四种MQ

1)ActiveMQ:是一款较老的消息队列,并发量较低,在负载高的时候不建议使用

2)KafkaMQ:并发量最高的消息队列,性能好,多用于大数据,原本为了日志而设计早起版本中会出现传输错误,后面的版本已修复

3)RocketMQ:阿里巴巴开源MQ,修复了KafkaMQ早起bug,比如漏发消息,重复发消息,基于KafkaMQ新增功能

4)RabbitMQ:性能、并发量适中,能满足绝大多数的业务需求的开源MQ。

举报

相关推荐

0 条评论