![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
消息中间件
文章平均质量分 82
消息中间件集合
伏加特遇上西柚
犹如烈焰般的伏特加和温柔酸甜的西柚碰撞在一起,将是一种美好的相遇。
展开
-
rocketmq实现多数据源配置
我们可以基于ExtRocketMQTemplateConfiguration 扩展出其他的rocketmq 数据源,相当于注入多个rocketTemplate, 只是nameServer 和 beanName 不同。只需要在发送消息的类中通过@Resource注入进来,并通过name属性来指定即可使用。下面我有具体的使用案例。在实际项目中我们可能会遇到在springboot项目中使用多个mq数据源,那我们该如何配置呢?注解,并配置nameServer即可。yml配置中添加非标mq的配置参数。原创 2024-07-02 20:23:41 · 393 阅读 · 0 评论 -
Docker以挂载方式安装RocketMQ
在 Docker 中安装和使用 RocketMQ 有多种方式,其中一种方式就是通过挂载本地文件的方式安装 RocketMQ。挂载的方式可以避免重启Docker镜像后,原配置丢失的问题。现在,可以使用浏览器访问 http://[your_server_ip]:9999/来访问控制台。第一次安装RocketMQ时难免踩坑,但是请保持平和心态对待,不要担心,自己遇到的问题,别人一定遇到过,肯定有解决方案。如果你还没有安装 Docker,请先安装。创建一个新的容器并指定 RocketMQ 的镜像。原创 2024-06-04 22:03:22 · 724 阅读 · 0 评论 -
SpringBoot整合RocketMQ使用详解
/发送普通同步消息-Object//发送普通同步消息-Message> message)//发送批量普通同步消息//发送普通同步消息-Object,并设置发送超时时间//发送普通同步消息-Message,并设置发送超时时间//发送批量普通同步消息,并设置发送超时时间//发送普通同步延迟消息,并设置超时/*** 批量消息*/@Testlog.info("批量消息");//发送普通异步消息-Object//发送普通异步消息-Message。原创 2024-05-06 20:41:50 · 981 阅读 · 1 评论 -
rabbitmq如何保证消息的可靠性传输(简述版本)?
我需要从三点去考虑,原创 2023-07-11 10:11:43 · 1050 阅读 · 0 评论 -
如何保证消息的可靠性传输(如何处理消息丢失的问题)?
这个丢数据,mq一般分为两种,要么是mq自己弄丢了,要么是我们消费的时候弄丢了。咱们从rabbitmq和kafka分别来分析一下吧rabbitmq这种mq,一般来说都是承载公司的核心业务的,数据是绝对不能弄丢的(1)rabbitmq1)生产者弄丢了数据生产者将数据发送到rabbitmq的时候,可能数据就在半路给搞丢了,因为网络啥的问题,都有可能。此时可以选择用rabbitmq提供的事务功能,就是生产者发送数据之前开启rabbitmq事务(channel.txSelect),然后发送消息,如果消息.原创 2020-12-08 12:28:03 · 120 阅读 · 0 评论 -
RabbitMQ Exchange类型和工作模式介绍
生产者发消息,启动多个消费者实例来消费消息,每个消费者仅消费部分信息,可达到负载均衡的效果。1.消息产生者将消息放入队列消费者可以有多个,消费者1,消费者2同时监听同一 个队列,消息被消费。C1 C2共同争抢当前的消息队列内容,谁先拿到谁负责消费消息(隐患:高并发情况下,默认会产生某一个消息被多个消费者共同使用,可以设置一个开关(syncronize) 保证一条消息只能被一个消费者使用)。原创 2023-06-25 16:00:46 · 631 阅读 · 0 评论 -
rabbitmq消息可靠性--------持久化存储机制(三)
文章预览:一、介绍:二、实现方式一、介绍:持久化是提高RabbitMQ可靠性的基础,否则当RabbitMQ遇到异常时(如:重启、断电、停机等)数据将会丢失。主要从以下几个方面来保障消息的持久性:Exchange的持久化。通过定义时设置durable 参数为ture来保证Exchange相关的元数据不不丢失。Queue的持久化。也是通过定义时设置durable 参数为ture来保证Queue相关的元数据不不丢失。消息的持久化。通过将消息的投递模式 (BasicProperties 中的 del原创 2022-03-28 15:41:04 · 1918 阅读 · 0 评论 -
rabbitmq---TTL机制和死信队列
一、死信队列场景用户下单,调用订单服务,然后订单服务调用派单系统通知外卖人员送单,这时候订单系统与派单系统 采用 MQ异步通讯。二、死信队列介绍在定义业务队列时可以考虑指定一个 死信交换机,并绑定一个死信队列。当消息变成死信时,该消息就会被发送到该死信队列上,这样方便我们查看消息失败的原因。DLX,全称为Dead-Letter-Exchange,死信交换器。消息在一个队列中变成死信(Dead Letter)之后,被重新发送到一个特殊的交换器(DLX)中,同时,绑定DLX的队列就称为“死信队列”。原创 2022-03-24 17:45:12 · 435 阅读 · 0 评论 -
SpringBoot整合rabbitmq使用案例
rabbitmq可以将消息放入到head中或者放入body中然后发送。1 、环境准备1.1添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>原创 2022-03-23 15:34:06 · 8407 阅读 · 0 评论 -
rabbitmq---TTL机制(二)
rabbitmq中ttl介绍原创 2022-03-24 15:58:05 · 3130 阅读 · 0 评论 -
rabbitmq消息可靠性--------Consumer Ack(消费者确认机制)(一)
文章预览:Consumer Ack(消费者确认机制)springBoot完整案列1. pom.xml2.yml3.主入口类4.rabbitConfig5.MessageListener5.2 @RabbitListener(queues = "q.biz", ackMode = "MANUAL")Consumer Ack(消费者确认机制)如何保证消息被消费者成功消费?生产者发送确认机制和消息的持久化存储机制,然而这依然无法完全保证整个过程的可靠性,因为如果消息被消费过程中业务处理失败了但是消息却已经原创 2022-03-23 17:45:55 · 4076 阅读 · 1 评论