RabbitMQ

如果商品服务和订单服务是两个不同的微服务,在下单的过程中订单服务需要调用商品服务进行扣库存操作。按照传统的方式,下单过程要等到调用完毕之后才能返回下单成功,如果网络产生波动等原因使得商品服务扣库存延迟或者失败,会带来较差的用户体验,如果在高并发的场景下,这样的处理显然是不合适的,那怎么进行优化呢?这就需要消息队列登场了。

消息队列提供一个异步通信机制,消息的发送者不必一直等待到消息被成功处理才返回,而是立即返回。消息中间件负责处理网络通信,如果网络连接不可用,消息被暂存于队列当中,当网络畅通的时候在将消息转发给相应的应用程序或者服务,当然前提是这些服务订阅了该队列。如果在商品服务和订单服务之间使用消息中间件,既可以提高并发量,又降低服务之间的耦合度。

RabbitMQ就是这样一款消息队列。RabbitMQ是一个开源的消息代理的队列服务器,用来通过普通协议在完全不同的应用之间共享数据。

典型应用场景:

异步处理。把消息放入消息中间件中,等到需要的时候再去处理。

流量削峰。例如秒杀活动,在短时间内访问量急剧增加,使用消息队列,当消息队列满了就拒绝响应,跳转到错误页面,这样就可以使得系统不会因为超负载而崩溃

安装rabbitMQ
#拉取镜像
docker pull rabbitmq:3.8-management
#创建容器启动
docker run -d --restart=always -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3.8-management

相关推荐

  1. RabbitMQ

    2024-03-21 08:38:04       40 阅读
  2. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-03-21 08:38:04      40 阅读
  3. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-03-21 08:38:04      40 阅读
  4. RabbitMQ

    2024-03-21 08:38:04       31 阅读
  5. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-03-21 08:38:04      32 阅读
  6. RabbitMq

    2024-03-21 08:38:04       38 阅读
  7. <span style='color:red;'>RabbitMq</span>

    RabbitMq

    2024-03-21 08:38:04      30 阅读
  8. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-03-21 08:38:04      28 阅读
  9. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-03-21 08:38:04      37 阅读
  10. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-03-21 08:38:04      26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-21 08:38:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-21 08:38:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-21 08:38:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-21 08:38:04       18 阅读

热门阅读

  1. js数组去重常见方法

    2024-03-21 08:38:04       16 阅读
  2. 数据分析-Pandas数据分类处理

    2024-03-21 08:38:04       17 阅读
  3. React.js快速入门教程

    2024-03-21 08:38:04       19 阅读
  4. bert源码分析之tokenization

    2024-03-21 08:38:04       17 阅读
  5. 【Qt之·类QProcess】

    2024-03-21 08:38:04       20 阅读
  6. pytest相关面试题

    2024-03-21 08:38:04       18 阅读
  7. 【WEEK4】学习目标及总结【SpringMVC】【中文版】

    2024-03-21 08:38:04       19 阅读
  8. 理论学习:深度学习里什么是置信度

    2024-03-21 08:38:04       15 阅读
  9. C# 判断变量类型 GetType 未解决

    2024-03-21 08:38:04       16 阅读
  10. 洛谷入门——P1307 [NOIP2011 普及组] 数字反转

    2024-03-21 08:38:04       19 阅读
  11. C:2019-42真题408 循环队列

    2024-03-21 08:38:04       15 阅读
  12. 机器视觉系列之【基础知识】-图像传感器

    2024-03-21 08:38:04       19 阅读