RabbitMQ介绍及简单操作

本文探讨了同步和异步调用在商城支付服务中的应用,重点介绍了RabbitMQ作为消息队列的使用,包括安装、架构和简单使用,以及它们各自的优势和缺点。
摘要由CSDN通过智能技术生成

一、同步调用

例如:

支付服务
1.用户登录
2.交易服务
3.通知服务
4.积分服务

通过openfeign进行服务之间通信实现商城的支付服务,需要用户登录、交易服务、通知服务、积分服务,四个服务缺一不可。
每一个服务都不能出现问题,一旦出现问题就会影响性能,甚至报错中断。
openfeign同步调用:

  • 优势:时效性强,等待结果后返回
  • 缺点:拓展性差
  • 缺点:性能下降
  • 缺点:级联失败问题

二、异步调用

支付服务通过异步的方式调用业务关联度降低,发送消息通知到Broker。
例如:

发送消息通知
发送消息通知
支付服务
1.用户登录
2.交易服务
消息代理
通知服务
积分服务

优势:

  • 解耦,拓展性强
  • 无需等待,性能好
  • 故障隔离
  • 缓存消息,流量削峰填谷
    缺点:
  • 实时性差
  • 不确定下游业务是否执行成功
  • 业务安全依赖于Broker(消息代理)的可靠性

三、MQ介绍

MQ(消息队列),存放消息的队列,异步调用中的Broker,先进先出(FIFO)。
在这里插入图片描述
Kafka每秒吞吐量达百万级;
RockertMQ每秒吞吐量达十万级;
RabbitMQ每秒吞吐量达十万级左右,但是它消息延迟仅仅是微秒的,可靠性高;
考虑大部分情况下公司是达不到每秒吞吐量百万级的,所以选择RabbitMQ。
RabbitMQ官网

1.安装RabbitMQ

docker run -d -p 15672:15672  -p  5672:5672  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --name rabbitmq --hostname=rabbitmqhostone  rabbitmq

下载rabbitmq并且启动成功之后,可以直接访问http://localhost:15672,用户名密码都是admin
在这里插入图片描述

2.介绍RabbitMQ

RabbitMQ整体架构及核心概念:

  • publisher:消息发送者
  • exchange:交换机,负责路由消息
  • queue:队列,存储消息
  • consumer:消息的消费者
  • virtual-host:虚拟主机,起到数据隔离的作用
    在这里插入图片描述

3.页面简单使用

  1. 登录在这里插入图片描述

  2. 创建用户
    在这里插入图片描述

  3. 创建exchange,我创建的是test在这里插入图片描述

  4. 创建queue在这里插入图片描述

  5. 将exchange和queue关联起来,关联可以在queues中操作,也可以在exchanges中操作
    在这里插入图片描述在这里插入图片描述

  6. 测试发送消息
    在这里插入图片描述

  • 进入exchange搜索我们创建的exchange
    在这里插入图片描述
  • 点击Name,可以进入详情页,查看到绑定的queue,可以发送消息
    在这里插入图片描述
  • 发送消息之后可以看到有发送的记录数据
    在这里插入图片描述
  • 进去queue页面可以看到通过exchange发送消息的队列中有了1条消息
    在这里插入图片描述
  • 点击Name进入详情,可以查看消息内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

陈年小趴菜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值