- 博客(24)
- 收藏
- 关注
原创 SpringBoot集成接口Retry 重试机制
在工作中,我们经常会碰到需要调用远程方法的业务,这时候,如果超时了,或者异常了,我们都会让其重试几次,达到一定的重试次数以后,就返回异常信息,今天我们就来了解下Spring-Retry的用法以及实现原理是怎么样的。
2024-01-08 16:10:38
469
原创 SpringBoot集成Redisson分布式锁
A、B线程争抢一把锁,A获取到后,B阻塞B线程阻塞时并非主动 CAS,而是PubSub方式订阅该锁的广播消息A操作完成释放了锁,B线程收到订阅消息通知B被唤醒开始继续抢锁,拿到锁。
2024-01-08 16:06:09
946
原创 SpringBoot详细整合MQTT消息
消息队列遥测传输 (MQTT) , 是一种常用的轻量级 "发布-订阅"消息协议 , 非常适合通过互联网连接物联网(LOT) 或者机器对机器 (M2M) 设备与应用.MQTT可在低带宽或者低功耗环境中高效运行,因此是有众多远程客户端应用的理想之选,适合用于多个行业,包括消费类电子产品,汽车,运输,制造及医疗行业.
2024-01-08 15:58:38
2664
3
原创 SpringBoot引入Hystrix
典型的分布式系统由许多协同工作的服务组成。这些服务容易出现故障或延迟响应。如果一个服务失败,它可能会影响其他服务,影响性能,并可能使应用程序的其他部分无法访问,或者在最坏的情况下使整个应用程序瘫痪。当然,有一些解决方案可以帮助应用程序具有弹性和容错性——Hystrix就是这样一个框架。Hystrix框架库通过提供容错性和延迟性来帮助控制服务之间的交互。它通过隔离故障服务和阻止故障的级联效应来提高系统的整体弹性。
2024-01-08 15:46:25
1336
原创 Consul详细教程(SpringBoot案例)
consul是google开源的一个使用go语言开发的服务发现、配置管理中心服务。内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都需要运行agent,他有两种运行模式server和client。每个数据中心官方建议需要3或5个server节点以保证数据安全,同时保证server-leader的选举能够正确的进行。👀️。
2024-01-08 15:38:38
2162
原创 Redis实现延迟队列
redis作为一款高性能的NoSQL数据库,具备快熟读写,高并发,数据持久化等特点,非常适用与实现延迟队列 ,redis提供了丰富的数据结构.其中利用redis的ZSET集合 (有序集合)数据结构就可以实现一个简单的延迟队列redis的zset数据结构中的每个元素都有一个分数score和一个值value,我们可以将任务的执行时间戳作为score,将任务数据作为value,将任务插入到zset中,每个任务有一个唯一的id(比如订单id),以及任务执行时间(比如30min),
2023-11-03 15:45:15
4225
原创 Docker搭建Maven私有仓库Nexus--配置讲解,Spring Boot 集成
我们在Spring Boot项目中配置Nexus,并把项目发布到远程仓库呢 , 并且把远程的jar包下载到本地呢。一般我们刚安装了Nexus之后 , 会自带一些默认的仓库 , 这些仓库已经够我们进行使用了。查看本地仓库的依赖(和远程仓库的一模一样)
2022-12-30 18:30:30
1553
原创 Docker搭建Maven私有仓库Nexus--安装
Nexus 是一个专门的 Maven 仓库管理软件,它不仅能搭建 Maven 私服,还具备如下一些优点使其日趋成为最流行的 Maven 仓库管理器 ,提供了强大的仓库管理功能,构件搜索功能,它基于 REST,友好的 UI 是一个 ext.js 的 REST 客户端 , 它占用较少的内存 , 基于简单文件系统而非数据库。
2022-12-30 18:27:28
1505
原创 使用dcoker搭建wiki
我们这里使用docker拉取wiki镜像 , 启动镜像服务来达到安装wiki。命令 : mysql类型数据库驱动wiki命令 (扩展)
2022-10-12 18:54:37
1343
原创 tomcat服务的安全解决方案
请删除Tomcat示例程序和目录、管理控制台等,即从Tomcat根目录的webapps目录,移出或删除docs、examples、host-manager、manager目录。
2022-10-11 19:29:47
1374
原创 nginx服务的安全解决方案
备注:配置此项请确认nginx支持OpenSSL,运行nginxv -V 如果返回中包含built with OpenSSL则表示支持OpenSSL。如果不支持,请重新编译nginx。
2022-10-11 19:28:13
2020
原创 分布式任务调度框架XXL-JOB --使用教程(SpringBoot项目集成)
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2022-10-11 19:24:45
1875
原创 分布式任务调度框架XXL-JOB --配置部署
执行器”项目:xxl-job-executor-sample-springboot (提供多种版本执行器供选择,现以 springboot 版本为例,可直接使用,也可以参考其并将现有项目改造成执行器)docker run -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:{指定版本}调度中心支持集群部署,提升调度系统容灾和可用性。调度中心项目:xxl-job-admin。
2022-10-11 19:18:50
7738
原创 分布式任务调度框架XXL-JOB -- 下载安装
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2022-10-11 19:17:00
850
原创 SpringBoot接口防刷(限制指定用户对指定接口指定时间范围内的访问次数)
在你请求的时候,服务器通过redis记录下你的请求次数,如果次数超出限制,则不给访问,在redis保存key是有时效性的,过期就会删除。这次我们使用 注解 拦截器 缓存 来实现这个功能。
2022-10-11 19:10:16
3653
原创 SpringBoot集成Shiro权限管理框架
*** 自定义Realm用于查询用户的角色和权限信息并保存到权限管理器:/*** @Description 权限配置类//获取登录用户名 String name =(String) principalCollection . getPrimaryPrincipal();//查询用户名称 User user = MySqlTool . getUser(name);
2022-10-11 19:06:04
535
原创 Gradle构建多模块项目 (工程拆分与聚合)
Gradle构建多模块项目(工程拆分与聚合)首先创建一个Gradle项目的父工程项目删除父工程的src目录根据指定的父工程 , 来创建一个子工程 , 右键父工程创建完子工程后 ,在父工程的setting.gradle文件中 , 就会自动生成如下配置rootProject.name = 'Gradle_demo'<!-- 表示该父工程中的所有的子工程的工程名称 -->include 'gradle_dao'include 'gradle_server
2021-08-27 17:57:29
2267
原创 idea创建Gradle的Spring Boot项目
以下是使用Gradle来创建Spring Boot项目的步骤link注 : 项目创建成功后 , 这里面一定要配置以下Gradle两点说明说明一 (关于下载)初次使用Gradle创建项目 , 本机明明已经下载了Gradle , 可是创建项目时还是会自动下载Gradle , 这个不用担心 , 让其下载完就好了 , 这是项目构建需要 , 这次下载完了 , 以后创建项目就不再下载了。刚开始使用Gradle , 很多依赖没有添加过 , 下载可能会花一点时间 , 下载之后 这些依赖会缓存在本机
2021-08-27 17:53:58
294
原创 Windows -- Gradle安装教程 -idea创建配置Gradle项目 , 以及Gradle案列
什么是GradleJava作为一门世界级主流的编程语言 , 有一款高效易用的项目管理工具 , 是java开发者共同追求的心愿和目标 , 先是2000年的Ant , 后2004年的Maven两个工具的诞生 , 都在java市场上取得了巨大的成功 , 但是二者都有一定的不足和局限性 。2021年基于Ant和Maven产生的Gradle , 弥补了Ant和Maven的不足 , 带来了一些更高效的特点 , 它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置 , 抛弃了基于XML的各种繁琐的配置 ,
2021-08-27 17:47:24
581
原创 JDBC编程
JDBCmain方法package jdbcs;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * <br> * 2019年12...
2019-12-07 10:57:07
141
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人