RabbitMQ之异步通信(黑马快速入门)

前面我们了用fengin客户端发送http请求

异步调用常见实现就是事件驱动模式

异步调用比同步调用的好处?

优势一:业务的解耦,以前我们直接去调另一个微服务,现在我们是通知给一个broker,第三者

之后我们支付服务还要增加新的需求,只需要订阅事件即可完成

优势二:响应快,我们微服务通知到Broker就完成任务,不关心其他的

优势三:不会说一个微服务提供者倒了,我们消费者就会卡在这个地方

优势四:流量削峰:

那么异步通信的缺点:

太过于依赖broker的性能

架构复杂,业务没有明显的流程线,不好追踪管理

MQ:MessageQueue即消息队列,即broker

可以使用docker ps -a命令列出所有docker容器,包括未运行的docker容器。

docker rm -f +id可以删除对应的容器

不同的虚拟主机之间逻辑分组,进行隔离

RabbitMQ中的几个概念:

•channel:操作MQ的工具

•exchange:路由消息到队列中

•queue:缓存消息

•virtual host:虚拟主机,是对queue、exchange等资源的逻辑分组

基本队列模型:

一下这个demo是基于RabitMQ官方api,流程麻烦

建立连接什么的还需要硬编码到程序中 需要手动声明队列 创建channel操作

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
RabbitMQ 是一个开源的消息队列系统,它在分布式应用程序中广泛用于实现异步通信和解耦。通过 RabbitMQ,你可以将请求或任务作为消息发送到队列,然后由一个或多个消费者处理这些消息,而发送者无需等待响应。这使得应用程序能够处理高并发、故障恢复和可扩展性。 以下是使用 RabbitMQ 进行异步的一些关键步骤: 1. **安装与配置**:首先,你需要在你的服务器上安装 RabbitMQ,并设置相应的环境变量,如配置文件中的 host, port, vhost 等。 2. **创建交换器和队列**:在 RabbitMQ 中,消息会被路由到特定的交换器,然后交换器再决定将消息分发到哪些队列。这一步可以根据你的应用需求来设计。 3. **生产者(Publisher)**:应用程序作为生产者,会使用 RabbitMQ 客户端库来创建一个连接并发布消息到指定的交换器。 4. **声明和绑定队列**:生产者需要声明队列并将其与交换器绑定,以便接收消息。 5. **消费者(Consumer)**:消费者从队列中获取消息并进行处理。消费者可以是单个进程或多个实例,根据需要进行负载均衡。 6. **回调和确认机制**:RabbitMQ 支持消息确认,消费者处理完消息后,会向 RabbitMQ 发送确认信号,如果消息丢失或出错,可以重新发布。 7. **错误处理和重试策略**:为了处理消息传递中的异常,通常会设置重试机制和错误处理策略。 8. **监控和管理**:使用 RabbitMQ 的管理界面(Web UI)或命令行工具,可以监控队列、消费者状态以及总体性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值