1.异步消息的定义异步消息的主要目的是为了系统与系统之间的通信,所谓异步消息即消息发送者无需等待消息接收者的处理以及返回,甚至无需关心消息是否发送成功。在异步消息中有两个很重要的概念,即消息代理和目的地,当消息发送者发送消息之后,消息将由消息代理接管,消息代理保证消息传递到指定目的地。异步消息主要有两种目的地形式,队列(queue)和主题(topic),队列用于点对点形式的消息通信,主题用于发布订
转载
2024-05-13 09:38:38
36阅读
文章目录RabbitMQ的相关概念RabbitMQ的几种模式Exchange的四种类型Linux系统上Rabbitmq的安装RabbitMQ的Web界面操作快速体验 RabbitMQ的相关概念AMPQ:Advanced Message Queue Protocol,RabbitMQ是erlang开发的AMPQ的实现。Message:消息,不具名,由消息头(由路由键routing-key,优先权p
转载
2024-06-20 11:49:30
233阅读
关于原理和基本用法的介绍一篇文章讲得非常清楚《编写自己的SpringBoot-starter》原文地址:https://www.cnblogs.com/yuansc/p/9088212.html后半段根据遇到的一实际案例,对照讲解。--------------分割线转载部分----开始-----------一、前言我们都知道可以使用SpringBoot快速的开发基于...
原创
2021-08-07 19:13:13
311阅读
前言 我们都知道可以使用SpringBoot快速的开发基于Spring框架的项目。由于围绕SpringBoot存在很多开箱即用的Starter依赖,使得我们在开发业务代码时能够非常方便的、不需要过多关注框架的配置,而只需要关注业务即可。 例如我想要在SpringBoot项目中集成Redis,那么我只
转载
2019-05-31 09:48:00
94阅读
2评论
前言我们都知道可以使用SpringBoot快速的开发基于Spring框架的项目。由于围绕SpringBoot存在很多开箱即用的Starter依赖,使得我们在开发业务代码时能够非常方便的、不需要过多关注框架的配置,而只需要关注业务即可。例如我想要在SpringBoot项目中集成Redis,那么我只需要加入spring-data-redis-starter的依赖,并简单配置一下连接信息以及Jedis连
原创
2022-09-01 07:08:04
123阅读
一、什么是 RabbitMQRabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 RabbitMQ 是由 Erlang 语言开发,安装 RabbitMQ 服务需要先安装 Erlang 语言包。
使用场景RabbitMQ 从 3.6.0 版本开始引入了惰性队列的概念。惰性队列会尽可能的将消息存入磁盘中,而在消费者消费到相应的消息时才会被加载到内存中,它的一个重要的设计目标是能够支持更长的队列,即支持更多的消息存储。当消费者由于各种各样的原因(比如消费者下线、宕机亦或者是由于维护而关闭等)而致使长时间内不能消费消息造成堆积时,惰性队列就很有必要了。默认情况下,当生产者将消息发送到 Rabbi
转载
2024-03-15 05:39:35
57阅读
Springboot整合Active消息队列 简单理解: Active是Apache公司旗下的一个消息总线,ActiveMQ是一个开源兼容Java Message Service(JMS) 面向消息的中件间. 是一个提供松耦合的应用程序架构.
转载
2024-06-26 05:47:39
151阅读
Spring Boot快速入门(构建web项目)创建一个maven工程,注意是jar包导入spring boot相关的依赖 <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</ar
转载
2024-04-10 11:41:44
32阅读
一直对技术有很强的兴趣,终于,决定要写自己的语言(m语言)。那就先从最简单的开始:解释执行器。一套完整的语言包含的肯定不止解释执行器了,还要有编译器和IDE,也就还要有语法高亮、智能提示等,不过还没学会那些,先搞个最基本的解释执行器。思路如下:定义好希望的语法(基本语句有:顺序执行、if语句、for语句、while语句、系统自有函数定义、用户函数定义、函数调用)找一款词法语法解析器工具,让字符串流
转载
2024-05-31 11:11:06
63阅读
最近接触spring cloud微服务项目,里面有用到spring security,由于security封装的东西比较完善,像我们用户登录时密码
转载
2022-06-01 07:12:12
513阅读
1.死信队列当queue中的消息无法被消费时,消息成为死信,产生条件如下三个:消息TTL过期(TTL一般生产者每次发消息都单独指定)queue满了而无法添加消息被拒or否定 且不重新入队(basic.reject拒绝 或 basic.nack否定)并且requeue = false不重新入队失败消息如何转发到(绑定到)死信队列需要单独声明:死信交换机 和 死信队列需要设置参数来实现消息转发到死信交
转载
2024-07-05 14:01:11
62阅读
# 如何实现Spring Boot使用Redis队列
## 流程图
```mermaid
flowchart TD
A(创建Spring Boot项目) --> B(引入Redis依赖)
B --> C(配置Redis连接信息)
C --> D(实现消息生产者)
D --> E(实现消息消费者)
```
## 整体流程
| 步骤 | 描述
原创
2024-04-10 05:08:42
56阅读
Spring Cloud Bus将分布式系统的节点与轻量级消息代理链接。这可以用于广播状态更改(例如配置更改)或其他管理指令。一个关键的想法是,总线就像一个分布式执行器,用于扩展的Spring Boot应用程序,但也可以用作应用程序之间的通信通道。目前唯一的实现是使用AMQP代理作为传输,但是相同的基本功能集(还有一些取决于传输)在其他传输的路线图上。进行安装RabbitMQ本次进行安装Rabbi
当我们使用延迟加载,但是如果用Spring管理Hibernate,那么每次操作都会关闭Session。这样触发延迟加载就会导致session已经关闭的错误。但是如果我们不使用延迟加载,那么表的关联关系一旦很庞大,数据很多。那么效率也是个不可忽视的问题。进入正题。
(1)web.xml的配置
<?xml version="1.0" encoding
转载
2024-10-10 14:28:14
18阅读
Springboot+rabbitmq实现延时队列什么是延迟队列延迟队列存储的对象肯定是对应的延时消息,所谓“延时消息”是指消息被发送以后,并不想让消费者拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费。使用场景:在订单系统中,一个用户下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,那么这个订单将进行一场处理。这是就可以使用延时队列将订单信息发送到延时队列。定时发送公
转载
2024-03-26 13:29:23
59阅读
首先新建一个SpringBoot项目,下面开始正式的集成操作。第一步:打开pom.xml文件,添加依赖。这里等待maven仓库加载完成。<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-sta
转载
2023-10-14 06:11:25
383阅读
Alsa是Linux高级音频接口。面对众多的音频设备,Alsa为Linux音频开发人员提供了一套标准的访问机制,使得音频开发变得十分容易。不信?下面我们就利用它编写一个简单的录音/播音程序,不过这需要你有一定的计算机语言基础。一个典型的音频程序应该具有以下结构:打开音频设备为设备设置读写参数向音频设备读/写音频数据关闭设备Alsa库为我们实现这些操作提供了丰富的接口。首先让我们封装一个打开音频设备
转载
2022-08-29 15:22:30
245阅读
# 使用 Python 编写自己的电话号码
在现代社会中,电话号码是一个人或企业的重要标识。今天,我们将使用 Python 编写一个简单的程序,帮助用户管理和生成自己的电话号码。随着科技的发展,Python 作为一种强大的编程语言,越来越受到关注。在这篇文章中,我们将通过一个简单的示例,演示如何使用 Python 编写和管理电话号码程序,并用图示化的方式展示程序的逻辑和时间进度。
## 1.
原创
2024-10-27 03:36:57
54阅读
延时队列延时队列能做什么?订单业务: 在电商/点餐中,都有下单后 30 分钟内没有付款,就自动取消订单。短信通知: 下单成功后 60s 之后给用户发送短信通知。失败重试: 业务操作失败后,间隔一定的时间进行失败重试 对于需要延时操作的事务,不用延时队列可以用定时任务的方式,来查询数据库,但这样的的效率很低。另一种就是用Java中的Dela
转载
2024-02-27 10:17:55
29阅读