MQ基本总结

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

MQ是消息队列

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

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

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

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

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

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

2.特点

JMS是SUM JAVA消息中间件服务的一个标准和API定义,MQ遵循了AMQP的协议的具体实现和产品。

1.AMQP:为面向消息的中间件设计,不受不同产品、不同开发语言的限制

2.JMS:Java消息服务应用程序接口,是一个Java平台中关于面向消息中间件的API,受java的限制

3.四种MQ

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

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

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狗头实习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值