谷粒商城实战(019 RabbitMQ-发送消息)

news2024/11/24 11:42:44

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

总时长 104:45:00 共408P

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


介绍

在这里插入图片描述
MQ的三大特点:流量削峰、应用解耦、异步处理
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

redis是数据缓存,mq是任务缓存

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

AMQP的MODEL 第一种是队列的实现 后四种是订阅的实现
在这里插入图片描述
网络间传输 万物皆流

在这里插入图片描述

概念

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

一个客户端(消费者)只建立一个链接(长链接)
在这里插入图片描述
在这里插入图片描述

一连接,多信道
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

虚拟主机

每个虚拟主机是相互隔离的,一个出问题对其他无影响(沙箱) 相当于又安装了另外一个rabbitmq
也可以开发时一个虚拟主机 上生成环境时一个虚拟主机
在这里插入图片描述
在这里插入图片描述
长链接的好处: 断开了会实时感知到是否连接到了,不会丢失因为网络断开而导致数据被消费

安装

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

在这里插入图片描述

这里使用docker安装

查看镜像
在这里插入图片描述

在这里插入图片描述
docker ps 查看正在运行中的容器
在这里插入图片描述

docker update rabbitmq --restart=always
设置rabbitmq自动启动

在这里插入图片描述
docker ps 查看正在运行中的容器 发现已经启动了
在这里插入图片描述
如果下载很慢 docker配个阿里镜像加速,用原生的很慢
默认账号密码都是guest
在这里插入图片描述

运行状态概览
这里右上方是5秒刷新一次
nodes节点信息
在这里插入图片描述

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

导出配置
在这里插入图片描述

交换机
在这里插入图片描述

管理设置功能
在这里插入图片描述
虚拟主机信息
在这里插入图片描述
在这里插入图片描述

运行机制

在这里插入图片描述
在这里插入图片描述
direct,headers是点对点的模式 (headers性能低下 无人用)
fanout,topic是发布订阅的模式
在这里插入图片描述
direct直接交换机
在这里插入图片描述
fanout广播队列 (全部队列都接收)
topic订阅模式 (可以选择性的发送数据)(部分广播)
在这里插入图片描述
在这里插入图片描述
可以理解为 私人喇叭,全服大喇叭,频道喇叭

在这里插入图片描述

创建交换机

durable持久化 transient非持久化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

直连交换机 direct

在这里插入图片描述

队列名和路由键可以相同
在这里插入图片描述
这里交换机绑定四个队列
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Ack 看完了之后消费掉不重新进队 (删除)
在这里插入图片描述

扇形交换机fanout

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

主题交换机 topic

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

整合Spring

在这里插入图片描述
引入了包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这些带@Bean的都是它给容器中放的组件
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

测试创建交换机

在这里插入图片描述

找到rabbit自动配置类(RabbitAutoConfiguration )
发现它的配置信息在RabbitProperties这里类里
在这里插入图片描述

在这里插入图片描述

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

测试创建队列

在这里插入图片描述

在这里插入图片描述

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

测试绑定

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

测试发送消息

引入template

在这里插入图片描述
发送对象
在这里插入图片描述
在这里插入图片描述

这里得到的对象是序列化后的对象,所以这个类一定要实现序列化接口 到时候其他程序收到的时候进行反序列化来查看信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

也可以使用json发送数据

实际应用中如果是跨语言了,会发送JSON格式化后的数据,序列化其他语言可能会不支持

源码显示 这里如果容器中有MessageConverter(消息转换器) 就使用我们传入的MessageConverter 进行转换,如果没有定义就会使用序列化的那种
在这里插入图片描述

在这里插入图片描述
如果没有 用这个默认的SimpleMessageConverter
在这里插入图片描述
这里使用的是序列化的方式
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

写一个to json的
在这里插入图片描述
写一个配置类
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
内容类型 json
在这里插入图片描述

接收消息

监听队列
在这里插入图片描述
必须有@EnableRabbit才行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

windows查看端口占用命令
netstat -ano |findstr 9000 这里是ano跟linux的anp不太一样
在这里插入图片描述
查看进程号
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

通道信息
在这里插入图片描述
模拟多个服务消费消息队列信息
这里复制运行配置信息 然后改端口号
在这里插入图片描述
发送十条消息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
逐步接收的消息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

注解放在类上 然后可以使用方法的重载 来进行多种不同类型的数据 方法上要加@RabbitHandler
在这里插入图片描述

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1632947.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

静电纺丝左旋聚乳酸平行纳米纤维膜

静电纺丝左旋聚乳酸平行纳米纤维膜是一种特殊的纳米材料,它结合了静电纺丝技术的优点和左旋聚乳酸(PLLA)材料的特性。 静电纺丝技术是一种特殊的纤维制造工艺,在此过程中,高分子溶液或熔体在强电场中进行喷射纺丝。当电…

主成分分析(PCA):揭秘数据的隐藏结构

在数据分析的世界里,我们经常面临着处理高维数据的挑战。随着维度的增加,数据处理、可视化以及解释的难度也随之增加,这就是所谓的“维度的诅咒”。主成分分析(PCA)是一种强大的统计工具,用于减少数据的维度…

[华为OD]给定一个 N*M 矩阵,请先找出 M 个该矩阵中每列元素的最大值 100

题目: 给定一个 N*M 矩阵,请先找出 M 个该矩阵中每列元素的最大值,然后输出这 M 个值中的 最小值 补充说明: N 和 M 的取值范围均为:[0, 100] 示例 1 输入: [[1,2],[3,4]] 输出: 3 说…

数据仓库实验二:关联规则挖掘实验

目录 一、实验目的二、实验内容和要求三、实验步骤1、创建数据库和表2、挖掘关联规则(1)新建一个 Analysis Services 项目 Sales(2)建立数据源视图(3)建立挖掘结构 Sales.dmm(4)部署…

FebHost:什么是挪威.no域名,如何注册?

挪威国家域名介绍 挪威是一个位于北欧的国家,北面和西面是大西洋和北海,东面和南面则与瑞典、芬兰接壤。挪威是一个高度发达的经济体,其政府在经济管理和可持续发展方面也取得了很多成就。挪威的人均GDP在世界范围内排名非常靠前&#xff0c…

C# Web控件与数据感应之 ListControl 类

目录 关于数据感应 ListControl 类类型控件 范例运行环境 数据感应通用方法 设计 实现 调用示例 数据源 调用 小结 关于数据感应 数据感应也即数据捆绑,是一种动态的,Web控件与数据源之间的交互,诸如 System.Web.UI.WebControls 里…

Anddroid系统APK卸载流程源码分析

这一章我们介绍APK的卸载过程,大致了解这里的卸载的过程如下: 1.从PMS的内部结构上删除acitivity、service、provider等信息 2.删除code、library和resource等信息 3.调用installd删除/data/data/packageName以及/data/dalvik-cache下面的文件 4.更新Set…

python学习笔记----函数(五)

一、函数介绍 在 Python 中,函数是一个组织好的、可重用的代码块,用来执行一个单一的、相关的动作。函数提供了代码的模块化和代码复用的能力。它可以接受输入参数,并可以返回一个结果。函数在 Python 编程中是基本的构建块之一。 二、函数…

前端入门:HTML(CSS边距,塌陷)

1.CSS边距 auto:浏览器自动计算的边距 length:以px,pt,cm等为单位指定边距,pt代表的是磅,1磅0.376毫米。 %:以父元素宽度的百分比来指定边距。 其中,length和%都可以取负值,表示减少外边距的空间大小。 …

面向对象练习题【从零开始学Java】

Java零基础系列课程-JavaSE基础篇 Lecture:波哥 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。…

Docker有哪些常见命令?什么是Docker数据卷?

喜欢就点击上方关注我们吧! 哈喽,大家好呀!这里是码农后端。上一篇我们介绍了Docker的安装以及腾讯云镜像加速源的配置。本篇将带你学习Docker的常见命令、数据卷及自定义镜像等相关知识。 1、什么是镜像与容器? 利用Docker安装应…

RS0104YQ功能和参数介绍以及规格详情

RS0104YQ功能和参数介绍以及规格详情-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 RS0104YQ 是一款由润石科技(Runic Semiconductor)生产的肖特基整流器。肖特基整流器是一种半导体器件,它利用金属-半导体接触形成的肖特基势垒来实现整流功…

华为校招机试 - 满二叉搜索树查找(20240424)

在线OJ测试 题目详情 - 满二叉搜索树查找 - HydroOJ 题目描述 给定 (2^n) - 1 个不同的整数(1 ≤ n ≤ 10,n 为整数),构建一棵平衡满二叉搜索树。 二叉搜索树定义如下: 节点的左子树只包含小于当前节点的数节点的右子树只包含大于当前节点的数所有左子树和右子树自身必…

手把手教你在本机安装Stable Diffusion秋叶整合包

因为网上讲部署的文章挺多的,所以本来不打算写这个,但是有些网友提出了要求,另外我也准备总结下在AI绘画方面的一些经验,从经验完整性上考虑,还是得有这部分的内容。 整合包对非技术出身的同学比较友好,因为…

Linux学习(一)

笔者给各位读者的建议是每天背 30 个在电脑上看到的不认识的单词 1) 文件系统 提供计算机存储信息的结构,信息存储在文件中,文件主要存储在计算机的内部硬盘里,在目录的分层结构中组织文件。文件系统为操作系统提供了组织管理数据的方式。 …

银河麒麟V10 ARM64 离线安装 新版Docker

查询当前发行版本 nkvers下载最新版本 卸载旧依赖 卸载已经安装的老版本 yum remove docker \containerd.io \docker-runc \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine \docker-compo…

kubernetes 1.30.0 Containerd 离线搭建

准备 准备两台主机 主机名IPCPU架构mx-text-01192.168.0.222ARM64mx-text-02192.168.0.223ARM64 主机要求: 2Core 2G RAM 配置主机名映射 添加映射 192.168.0.222 mx-test-01 192.168.0.223 mx-test-02cat /etc/hosts关闭SELinux setenforce 0sed -i s/^SELI…

电商独立站||跨境电商独立站网站搭建|功能系统搭建||API接口接入

搭建多语言跨境电商独立站系统 前台主要功能模块 短信接口 第三方登陆 支付方式 会员中心 代购订单列表 - new 会员签到 -1000(1) new 支付密码 ---1000 国内流程 -----5000 new 订单运单多退少补 -1000 未付款运单取消功能 - 修改运单运输方式 -----1000 年费会员 -----3000 …

TimeoutException,带宽影响连接超时

在做压测试过程中发现本机测试正常,线上服务器报错如下: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 15 second(s) 查看公网带流量情况: 服务器带宽 服务器的公网带宽配置为10Mbps,当服务器的出网…

解决Blender导出FBX文件到Unity坐标轴错误的问题

发现Blender的模型导入到Unity里面有问题,简单研究了下发现是坐标系不同,Unity使用的是左手坐标系,Blender使用的是右手坐标系 。 下面直接将如何解决 首先忽略Blender的右手坐标系以及Z轴朝上的事,依照unity坐标系情况修改模型物体的旋转,以Blender猴…