- 博客(519)
- 收藏
- 关注
原创 Redisson 实现消息队列、延迟队列 (生产可用)
之前使用redis实现了消息队列,但是没有延迟消费的功能,现在编写一个可以实现延迟消费的功能,同时也能满足及时消费,只需要将延迟时间设置0就行了,用到了Redission,不需要基于stream进行一些复杂配置。参考文章【redis缓存】怎么使用 Redis 实现一个延时队列?_redis实现延时队列-优快云博客Redisson 的延迟队列真的能用吗?一文看透原理 + 坑点_redission延时队列原理-优快云博客。
2025-08-30 12:10:38
825
1
转载 告别BeanUtils!MapStruct Plus快速入门与最佳实践
在开发中,我们有VO、BO、POJO常见对象类型,分别服务于不同层次和常见,不同的对象类型需要做转换,传统的方式我们使用set/get,但是一个一个手动写太繁琐和太麻烦,所以像apache、Spring、hutool都提供了BeaenUtils工具类那我们为什么还要使用MapStruct Plus呢???
2025-11-17 11:32:47
19
原创 Docker 搭建 Harbor 镜像仓库
打开 harbor.yml 配置文件,并根据需要进行修改,最重要的是修改 hostname 字段来指定 Harbor 的主机名或 IP 地址。首先,我们需要从 Harbor 的 GitHub 发布页面下载其最新版本的资源包。配置文件修改成功后,执行 install.sh 脚本进行安装harbor。这会将 Harbor 安装包解压到当前目录,并进入解压后的 harbor 文件夹。在安装的过程中报错了,没设置https证书,把https 注释掉即可。登录后,可以进入 Harbor 的管理界面。
2025-09-09 11:52:34
539
原创 Camunda流程引擎的安装使用
接下来,我们添加一个带有 main 方法的应用程序类,该方法将成为启动 Spring Boot 应用程序的入口点。使用camunda开源工作流引擎有:通过docker运行、使用springboot集成、部署camunda发行包、基于源代码编译运行等多种方式。文本重点介绍如何在Spring Boot应用程序中如何集成Camunda Platform开源流程平台,这也是项目中最为常见的一种使用方式。时,您可以使用我们之前配置的登录名和密码“demo/demo”来访问 Camunda Web 应用程序。
2025-09-05 13:28:17
1031
原创 Redis7 持久化
save:优先级高,执行该命令时其他进程都会停下来等这个命令执行完,因此在此期间redis对外缓存功能失效,很少用。RDB持久化是在一定的时间间隔内,将某一时刻的数据和状态以文件的形式写到磁盘上,这个快照文件叫dump.rdb。bgsave:在执行该命令的时候,redis产生一个fork,相当于复制了一个父进程,由此来异步保存RDB。我们先检查一下redis的默认配置策略,可以看到即便不配置,redis默认也是开启的。手动 save/bgsave 命令。配置地方如下:使用默认即可。在客户端使用下面的命令。
2025-09-02 17:40:56
296
原创 CentOS7 Docker安装RocketMQ5.0.0(集群版)
CentOS7 Docker安装RocketMQ(集群版)-优快云博客降低版本至RocketMQ5.0.0。
2025-08-25 09:31:54
316
原创 CentOS7 Docker安装RocketMQ5.2.0(集群版)
2个Broker主节点和2个Broker备节点。创建namesrv在宿主机的日志映射目录。启动NameServer容器。2个NameServer节点。
2025-08-22 10:41:21
574
原创 CentOS7 Docker安装RocketMQ(单机版)
恭喜你!NameServer:注册中心,端口9876Broker:消息代理,端口10909/10911/10912管理控制台:Web界面,端口8080。
2025-08-21 10:32:14
789
原创 Linux查看 CPU占用率、内存占用、磁盘使用情况
程序运行的过程中,有时会出现界面或者terminal特别卡顿的情况,这可能不是由于网络原因造成的,而是程序运行的过程中占用的过多的内存,导致的过载,数据交换处理不过来,导致操作卡顿延迟。图中红色部分即为占用百分率,下面是每个进程的CPU占用率,如果服务器是多核CPU可能在下方看到有些进程CPU占用超过100%,这种一般是该进程使用了多核。可以看到上面展示的效果并不适合人类来阅读,因为你看到这个数字是没有直观的反馈的。可以查看到内存的使用、空闲、缓存空间、交换空间的使用情况等。
2025-08-20 16:22:50
3168
原创 Linux--NTP 时间同步服务搭建
当应用系统走向多节点、高并发、高可用部署需求时不同节点时间不一致 ,不仅仅会导致业务报错,还会出现将硬件时间直接频繁同步导致硬件故障。为解决以上问题-----引入NTP 校时服务。
2025-08-15 09:56:00
797
原创 Redis 实现消息队列三种方式
MQ消息队列有很多种,比如RabbitMQ,RocketMQ,Kafka等,但是也可以基于redis来实现,可以降低系统的维护成本和实现复杂度,本篇介绍redis中实现消息队列的几种方案,并通过springboot实战使其更易懂。1. 基于List的 LPUSH+BRPOP 的实现2. PUB/SUB,订阅/发布模式3. 基于Stream类型的实现。
2025-08-10 17:59:31
1122
原创 SpringBoot集成STOMP
上一篇我们详细介绍了WebSocket作为一种全双工通信协议的基本概念、工作原理和实现方式。然而,在企业级应用或复杂系统中,仅仅使用原生WebSocket可能还不足以满足更高级的消息传递需求。这就是STOMP(Simple Text Oriented Messaging Protocol)协议发挥作用的地方。本文将深入探讨STOMP协议的本质、它与WebSocket的结合优势以及实际应用示例。
2025-08-05 16:38:26
1062
原创 [工具类] 分片上传,断点续传、秒传、MD5校验
通过使用Spring Boot和前端分片上传技术,我们可以实现高效的大文件上传。前端分片上传降低了单次上传的复杂度,提升了用户体验;后端多线程处理和文件合并的优化则大大提高了上传效率,减少了对服务器资源的占用。
2025-07-29 16:23:31
749
原创 [工具类] 网络请求HttpUtils
在Java中,java.net.HttpURLConnection、Apache的HttpClient库以及OkHttp等库提供了丰富的HTTP请求功能,但这些API有时需要较多的样板代码,因此封装一个通用的网络请求工具类(如HttpUtils或HttpClientUtils)可以简化开发流程,提高效率。这个工具类支持 GET、POST、PUT、DELETE 等常见请求方法,并提供了请求头设置、参数传递、响应处理、超时设置等功能。这是一个基于Spring框架的HTTP请求工具类,主要使用。
2025-07-26 16:53:10
667
原创 [工具类] 防止重复提交
这里只定义了3个参数,解锁时间、参数表达式用于定义缓存的key,提示消息(可自定义)/*** 防止重复提交注解*//*** 默认解锁时间,单位毫秒(方法执行如超过10秒,请自行设置)* @return*//*** 参数的表达式(Spring表达式语言),用来确定key值* @return*//*** 提示消息*/String message() default "请勿重复调用";/*** 放重复提交 aop*/@Aspect@Component@Slf4j。
2025-07-23 17:41:58
486
原创 SpringBoot集成Skywalking链路跟踪
SkyWalking是一个开源的、用于观测分布式系统(特别是微服务、云原生和容器化应用)的平台。它提供了对分布式系统的追踪、监控和诊断能力。
2025-07-20 17:47:04
656
原创 若依+分布式事务seata
指一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。从本质上来说,分布式事务就是为了保证不同数据库的数据一致性。
2025-07-16 17:43:25
715
原创 [工具类] EasyExcel实现导入导出
Data@HeadStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)//表头样式@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)//内容样式)@ExcelProperty(value = "参数主键")@NotBlank(message = "参数名称不能为空")
2025-07-14 16:41:52
997
原创 [工具类] SpringBoot集成Redis、SpringCache
由于Redis的存取效率非常高,在开发实践中,通常会将一些数据从关系型数据库(例如MySQL)中读取出来,并写入到Redis中,后续当需要访问相关数据时,将优先从Redis中读取所需的数据,以此,可以提高数据的读取效率,并且对一定程度的保护关系型数据库。一旦使用Redis后,相关的数据就会同时存在于关系型数据和Redis中,即同一个数据有2份或更多(如果你使用了更多的Redis服务或其它数据处理技术),则可能出现数据不同步的问题!将方法返回值加入缓存。
2025-07-13 10:14:03
1154
原创 com.alibaba.nacos.api.exception.NacosException: user not found! 的解决办法
解决办法:关于这个问题,是因为在安装配置nacos-server时,配置开启了授权认证,可以在nacos-server配置文件找到。2、项目配置nacos登录账户信息(推荐)直接修改关闭鉴权,auth=false,注册服务的时候,错误,用户未找到,1、关闭鉴权(不推荐,因为不安全)
2025-06-25 18:39:00
1190
转载 NVM下载低版本的Node.js时报错The process cannot access the file because it is being used by another process
在NVM指定的path路径下找到刚才下载失败的Node.js版本,将其删除(如果不知道NVM指定的root目录是哪个,可以查看NVM根目录下的setting.txt文件)从控制台中给出的报错信息中可以看出,Node下载成功了(在NVM指定的path路径下可以看到对应版本的Node.js),但是npm没有下载成功。指令,就可以看到我们刚下载的14.21.3版本的Node.js已经纳入NVM的管理列表了 ,切换到14.21.3版本的Node.js即可。文件夹中的文件列表如下图所示。打开终端,在终端中输入。
2025-06-19 15:48:37
133
原创 Docker安装openGauss
下载镜像包(以openGauss7.0.0-RC1.B023/openEuler20.03/arm下的包为例)以opengauss/opengauss-server:latest。版本为例,以下命令将启动数据库并映射宿主机的端口到容器。openGauss镜像主要有两种获取方式,分别可以通过。拉取对应镜像,下面将详细介绍这两种获取路径。宿主机可以通过以下命令连接数据库(需安装。目录,实现数据的持久化存储。通过以下命令,将宿主机的。
2025-06-10 18:11:52
946
原创 Docker 离线安装
Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。我们可以通过在终端执行uname -r命令来查看当前Linux系统的内核版本。我们需要提前在有网络的环境中下载好Docker的安装包。解压后,将解压目录中的所有文件拷贝到/usr/bin。5、查看Docker的版本信息。将下载的安装包解压,执行命令。
2025-06-10 17:44:18
641
原创 chrome浏览器提示弹窗无法更新Chrome解决方法
点击 “应用” 和 “确定” 保存更改。在桌面上找到 Chrome 的图标,右键点击它,选择 “属性”。按下Win + R键,打开 “运行” 对话框,输入gpedit.msc并回车,打开组策略编辑器。在组策略编辑器中,依次展开 “计算机配置”→“管理模板”→“Google Chrome”。此方法适用于 Windows 系统且系统为专业版及以上版本,家庭版系统没有组策略功能。在右侧窗口中找到 “防止 Chrome 自动更新” 选项,双击打开。选择 “已启用”,然后点击 “确定” 即可。
2025-05-12 09:28:54
1209
转载 Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http: request canceled
运行sudo docker pull hello-world出现Error response from daemon: Get “https://registry-1.docker.io/v2/”我查看了很多网站上的解决方法,但是经过我个人的尝试发现我需要配置两个文件才可以解决这个问题。
2025-02-25 09:44:11
161
转载 关闭chrome自动更新的3种方式
1、使用 Windows+R 快捷键打开「运行」对话框,执行 msconfig 打开「系统配置」工具。1、使用Windows + R快捷键打开「运行」对话框,执行taskschd.msc打开「任务计划程序」。1、使用Windows + R快捷键打开「运行」对话框,执行service.msc打开「服务」管理器。2、依次展开「任务计划程序库」>「GoogleSystem」>「GoogleUpdater」3、点击「停止」按钮,并将「启动类型」设置为「禁用」。4、点击「应用」并关闭「服务」管理器。
2025-01-22 16:18:45
22435
2
转载 centos7的yum命令无法使用解决方案
centos7在2024年6月30日结束,官方不再进行支持维护,官方的YUM源也下线了,下线的方式是使yum的域名不解析。所以现在需要配置国内的YUM源今天新建了个centos7的虚拟机发现yum无法正常使用当出现这个问题后首先想到了网络问题1.通过ip addr检查了一下网络接口发现没问题2.中手动配置了一下DNS也无法解决3.检查了一下虚拟机的网络设置也没问题4.ip route检查路由表发现没问题5.关了一下防火墙也无法解决问题。
2024-11-07 10:05:29
1733
原创 谷歌浏览器怎么设置网页自动刷新
我们在使用谷歌浏览器的时候可以设置网页自动刷新功能进行网页浏览,但很多用户都不知道怎么设置这个功能,下面就是一键开启谷歌浏览器自动刷新功能步骤。3、之后在页面上就可以添加自动刷新时间。2、添加至扩展程序,直接拖入即可。
2024-11-05 12:51:12
4573
原创 window上部署kafka3.6.1,并配置sasl认证
1 安装kafka第一步安装kafka,并能成功启动,可参考文章Windows下安装Kafka3-优快云博客2修改kafka的配置文件server.properties是kafka的主要配置文件,里面有很多参数可以调整。主要修改如下listeners=SASL_PLAINTEXT://127.0.0.1:9092security.inter.broker.protocol=SASL_PLAINTEXTsasl.enabled.mechanisms=PLAINsasl.me
2024-08-29 15:04:36
1336
1
原创 window下kafka3启动多个
这里实际上是完全独立的环境,因为zookeeper都不一样,所以不存在集群,这里可改可不改。指定了ZooKeeper实例的地址和端口。因为刚才zookeeper的端口号改成了2182,所以。这里我们修改zookeeper配置文件,主要是快照地址和端口号,kafka3已经内置了zookeeper,所以直接复制就行了。指定了Kafka监听的端口,需要与第一个Kafka不同。我们先安装好kafka,并保证启动成功,可参考文章。指定了日志文件的存储位置。zookeeper的地址。并且端口号与第一个不同。
2024-08-28 13:11:37
1258
原创 Windows下安装Kafka3
kafka3版本之后自带zookeeper。还是在Windows下都是下载该压缩包,里面已经包含了Kafka Linux和windows平台下的可执行文件了。选择目前比较新的3.6.1版本下载。通过netstat命令查看到9092端口被一个java进程占用,说明启动成功了。配置Kafka的配置文件config/server.properties。下载Kafka二进制压缩包。
2024-08-28 12:45:00
924
原创 Jmeter提取token并设置为全局变量
一般来说,系统内大多数接口,都需要先获取登录后的token值,所以我们需要创建一个获取token的接口,然后将token设置为全局变量,供其他接口使用。
2024-08-26 20:42:44
2073
原创 JMeter之压力测试
软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。常用的压力测试软件有:LoadRunner、Apache JMeter、NeoLoad、WebLOAD、Loadster、Load impact、CloudTest、Loadstorm、阿里云PTS等等,本文介绍的是使用Apache JMeter来进行压力测试。
2024-08-26 20:17:25
7440
原创 jenkins 开启控制台详细日志
经查询是shell脚本格式不对,是由于在win电脑上编写的sh文件,然后再linux上执行编码不一致导致的。使用jenkins再次构建,查看控制台日志。
2024-08-26 09:15:38
1390
1
原创 flyway的快速入门教程
Flyway 是一款开源的数据库版本管理工具。它可以很方便的在命令行中使用,或者在Java应用程序中引入,用于管理我们的数据库版本。在项目或产品中,很难一开始就把业务理清楚,把数据库表设计好,因此数据表也会在迭代周期不断迭代。在Java应用程序中使用Flyway,能快速有效地用于迭代数据库表结构,并保证部署到测试环境或生产环境时,数据表都是保持一致的。flyway官方文档编辑https://flywaydb.org/documentation/
2024-08-16 17:44:23
1132
原创 npm install时报错 reason: connect ETIMEDOUT
由于访问国内访问npm的资源库地址(https://registry.npmjs.org)连接超时导致。设置完成后,重新执行npm即可。通过下面命令可查看当前的镜像源。
2024-08-05 10:23:44
910
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅