×

rabbitmq

消息队列--RabbitMQ 学习(消息队列RabbitMQ)

fuyan fuyan 发表于2024-05-10 浏览6442 评论0
消息队列–RabbitMQ 学习 所有文件及代码放在GitHub上,地址:https://github.com/xujinshan361/rabbitmq-study 1. 消息队列 1.1 MQ的相关概念 1.1.1 什么是MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO先进先出,只不过队列中存放的内容是message而已,是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信

rabbitmq

RabbitMQ消息队列常见面试题总结

启程广告 启程广告 发表于2024-05-02 浏览37493 评论0
1、什么是消息队列: 1.1、消息队列的优点: (1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的。消息生产者和消费者都不知道对方的存在; (2)异步:主流程只需要完成业务的核心功能;对于业务非核心功能,将消息放入到消息队列之中进行异步处理,减少请求的等待,提高系统的总体性能; (3)削峰/限流:将所有请求都写到消息队列中,消费服务器按照自身能够处理的请求数从队列中拿到请求,防止请求并发过高将

rabbitmq

第11节:RabbitMQ 事务消息-发送者

HT。 HT。 发表于2024-05-02 浏览6416 评论0
   事务消息与数据库的事务类似,只是MQ中的消息是要保证消息是否会全部发送成功,防止丢失消息的一种策略。   RabbitMQ有两种方式来解决这个问题: 1.通过AMQP提供的事务机制实现; 2.使用发送者确认模式实现;   两者应用场景:    1.事务功能场景:当需要发送多条消息时,第1条消息发送成功,后面的消息因为逻辑异常等原因发送失败,需要回滚,那么就需要使用到RabbitMQ的事务。    2.事

rabbitmq

深入浅出消息队列---4、RabbitMQ消息可靠性传输

☔︎ ☔︎ 发表于2024-05-01 浏览7288 评论0
RabbitMQ消息可靠性传输 在我们的业务系统中,一旦使用到了消息队列,我们就必须考虑消息的丢失问题。比如在秒杀业务中,一旦消息丢失了对我们用户而言就是不公平的。 第一种情况 场景描述 生产者已经将消息发送给了队列,但是此时消费者还没以及时对消息进行消费,这个时候指定的队列主机宕机了,这样存储在队列的消息也会丢失。解决方案 对消息进行持久化操作。当对消息进行持久化操作以后,这个消息一旦被发送到mq中的某一个队列,那么此时Rabbitmq会立马将消息进行持久化。注意 spring bo

PHP编程

Thinkphp自带的队列think-queue使用分析

faka faka 发表于2024-05-01 浏览11268 评论0
think-queue是ThinkPHP官方提供的一个消息队列服务,是专门支持队列服务的扩展包。think-queue消息队列适用于大并发或返回结果时间比较长且需要批量操作的第三方接口,可用于短信发送、邮件发送、APP推送。think-queue消息队列可进行发布、获取、执行、删除、重发、失败处理、延迟执行、超时控制等操作。 think-queue支持消息队列的基本特性 消息的发布、获取、执行、删除、重发、失败处理、延迟执行、超时控制等 队列的多队列、内存限制、启动、停止、守护等 消息队列

rabbitmq

golang之消息队列rabbitmq(golang 消息队列)

无理 无理 发表于2024-04-30 浏览5898 评论0
消息队列的作用: 异步,将同步的消息变为异步,例如我们可以使用rpc调用另一个服务,但是我们必须等待返回(同步),用mq可以变异步 解耦,将单体服务拆分多个微服务,实现了分布式部署,单个服务的修改、增加或删除,不影响其他服务,不需要全部服务关闭重启 抗压,由于是异步,解耦的,高并发请求到来时,我们不直接发送给服务,而是发给MQ,让服务决定什么时候接收消息,提供服务,这样就缓解了服务的压力 图示: 用户注册后发邮件和虚拟币: 异步解耦图: 抗压图: 收发流程 生产者发送消息的

rabbitmq

kafka如何保证消息不丢失?(Kafka如何保证消息不丢失顺序,不重复消费)

夏至未至 夏至未至 发表于2024-04-29 浏览8494 评论0
kafka如何保证消息不丢失? kafka是实现异步消息通讯的中间件,整个架构Producer Consumer Broker组成 所以保证消息不丢失从这三个方面考虑和实现 .确保Producer端数据能够到达Broker,并且实现消息的存储 .有可能会出现网络问题,导致消息发送失败 一,Producer默认是异步发送消息,确保消息发送成功 第一种方法 把异步发送改为同步发送,这样就能实时知道消息发送的结果 第二种方法 添加异步或调函数,监听消息发送的结果,如果失败可以在回调中

中间件

AMQP协议详解(AMQP协议)

ohblue ohblue 发表于2024-04-27 浏览14473 评论0
AMQP协议介绍 AMQP(Advanced Message Queuing Protocol)高级消息队列协议,一个提供统一消息服务的应用层标准协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP是一个进程间传递异步消息的网络协议。 基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP在消息提供者和客户端的行为进行了强制规定,