谷粒商城实战(020 RabbitMQ-消息确认)

2024-05-01 10:44

本文主要是介绍谷粒商城实战(020 RabbitMQ-消息确认),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强

总时长 104:45:00 共408P

此文章包含第258p-第p261的内容


消息确认

在这里插入图片描述
在这里插入图片描述
生产者 publishers
消费者 consumers
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
设置配置类
在这里插入图片描述
在这里插入图片描述
调用api
在这里插入图片描述
控制台
在这里插入图片描述

抵达brocker 代理
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

新版本ReturnCallback已弃用,可以这么写:rabbitTemplate.setReturnsCallback(System.out::println);
有这个方法,没过时啊,只是封装到了ReturnedMessage

投递到队列失败时才会回调
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

消费端确认机制

在这里插入图片描述

在这里插入图片描述
自动ack(危险,容易丢失数据)
手动dck(推荐开启)

在这里插入图片描述

如果通道中断(宕机等),消息会变成ready状态,通道打开为ack的时候会进入 unacked状态
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

进行ack 然后不是批量的签收 只ack自己
在这里插入图片描述
在这里插入图片描述
这里无法模拟真正宕机 所以其他的方法也运行了
IDEA还是会把进程走完,应该用 kill -9 pid 才能模拟服务器宕机
要想模拟真实的宕机,用netstat找出9000端口的进程,用taskkill杀掉进程

basicNack()的三个参数 id,是否批量拒绝,是否重新入队
在这里插入图片描述
在这里插入图片描述

重新入队后 还会进行投递,所以这里的数据变为了0
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
接收方法:开启手工模式

在这里插入图片描述
这里等订单模块需要的时候再进行详解
在这里插入图片描述


这篇关于谷粒商城实战(020 RabbitMQ-消息确认)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951479

相关文章

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

常用MQ消息中间件Kafka、ZeroMQ和RabbitMQ对比及RabbitMQ详解

1、概述   在现代的分布式系统和实时数据处理领域,消息中间件扮演着关键的角色,用于解决应用程序之间的通信和数据传递的挑战。在众多的消息中间件解决方案中,Kafka、ZeroMQ和RabbitMQ 是备受关注和广泛应用的代表性系统。它们各自具有独特的特点和优势,适用于不同的应用场景和需求。   Kafka 是一个高性能、可扩展的分布式消息队列系统,被设计用于处理大规模的数据流和实时数据传输。它

PyTorch模型_trace实战:深入理解与应用

pytorch使用trace模型 1、使用trace生成torchscript模型2、使用trace的模型预测 1、使用trace生成torchscript模型 def save_trace(model, input, save_path):traced_script_model = torch.jit.trace(model, input)<

消息认证码解析

1. 什么是消息认证码         消息认证码(Message Authentication Code)是一种确认完整性并进行认证的技术,取三个单词的首字母,简称为MAC。         消息认证码的输入包括任意长度的消息和一个发送者与接收者之间共享的密钥,它可以输出固定长度的数据,这个数据称为MAC值。         根据任意长度的消息输出固定长度的数据,这一点和单向散列函数很类似

爱心商城管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,企业管理,用户管理,论坛管理,商品管理,公告管理,用户捐赠 企业账户功能包括:系统首页,个人中心,商品管理,论坛管理,公告管理,公益企业管理,轮播图信息 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:

MyBatis-Plus常用注解详解与实战应用

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了大量的常用注解,使得开发者能够更方便地进行数据库操作。 MyBatis-Plus 提供的注解可以帮我们解决一些数据库与实体之间相互映射的问题。 @TableName @TableName 用来指定表名 在使用 MyBatis-Plus 实现基本的 C

[大师C语言(第三十六篇)]C语言信号处理:深入解析与实战

引言 在计算机科学中,信号是一种软件中断,它允许进程之间或进程与内核之间进行通信。信号处理是操作系统中的一个重要概念,它允许程序对各种事件做出响应,例如用户中断、硬件异常和系统调用。C语言作为一门接近硬件的编程语言,提供了强大的信号处理能力。本文将深入探讨C语言信号处理的技术和方法,帮助读者掌握C语言处理信号的高级技巧。 第一部分:C语言信号处理基础 1.1 信号的概念 在Unix-lik

django学习入门系列之第三点《案例 小米商城头标》

文章目录 阴影案例 小米商城头标往期回顾 阴影 设置阴影 box-shadow:水平方向 垂直方向 模糊距离 颜色 box-shadow: 5px 5px 5px #aaa; 案例 小米商城头标 目标样式: CSS中的代码 /*使外边距等于0,即让边框与界面贴合*/body{margin: 0;}/*控制父级边框*/.header{backgroun

RabbitMQ实践——临时队列

临时队列是一种自动删除队列。当这个队列被创建后,如果没有消费者监听,则会一直存在,还可以不断向其发布消息。但是一旦的消费者开始监听,然后断开监听后,它就会被自动删除。 新建自动删除队列 我们创建一个名字叫queue.auto.delete的临时队列 绑定 我们直接使用默认交换器,所以不用创建新的交换器,也不用建立绑定关系。 实验 发布消息 我们在后台管理页面的默认交换器下向这个队列

rocketmq问题汇总-如何将特定消息发送至特定queue,消费者从特定queue消费

业务描述 由于业务需要这样一种场景,将消息按照id(业务id)尾号发送到对应的queue中,并启动10个消费者(单jvm,10个消费者组),从对应的queue中集群消费,如下图1所示(假设有两个broker组成的集群):  producer如何实现 producer只需发送消息时调用如下方法即可 /*** 发送有序消息** @param messageMap 消息数据* @param