随笔分类 -  springboot

摘要:RateLimiter 令牌限流 限流算法 常见限流算法有两种:漏桶算法和令牌桶算法。 漏桶算法 漏桶算法(Leaky Bucket)是网络世界中流量整形(Traffic Shaping)或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上 阅读全文
posted @ 2022-07-18 16:30 Mr*宇晨 阅读(183) 评论(0) 推荐(1)
摘要:RabbitMQ 消息幂等性&顺序性&消息积压&面试问题 幂等性概念 幂等性,简单来说就是对于同一个系统,在同样条件下,一次请求和重复多次请求对资源的影响是一致的,就称该操作为幂等的。比如说如果有一个接口是幂等的,当传入相同条件时,其效果必须是相同的。在RabbitMQ中消费幂等就是指给消费者发送多 阅读全文
posted @ 2022-03-24 17:09 Mr*宇晨 阅读(1247) 评论(0) 推荐(0)
摘要:RabbitMQ 消息投递以及ACK机制 项目地址 https://gitee.com/Sir-yuChen/website.git 投递出现问题 生产者弄丢了数据 RabbitMQ 自己丢了数据 消费端弄丢了数据 生产者丢失数据 生产者将数据发送到 RabbitMQ 的时候,可能在传输过程中因为网 阅读全文
posted @ 2022-03-23 11:35 Mr*宇晨 阅读(2498) 评论(0) 推荐(1)
摘要:ThreadPoolTaskExecutor 背景 需求: 项目二期,需要对某一张表的字段进行扩展,为了兼容二期业务代码逻辑,现需要将一起数据,进行统一计算补充该字段,满足二期逻辑 数据量:50w 解决方案 二期上线初,使用lts -JOB定时任务,统一批量处理老数据,代码实现思想:考虑到,数据量比 阅读全文
posted @ 2022-03-17 19:05 Mr*宇晨 阅读(377) 评论(0) 推荐(0)
摘要:springboot 循环依赖问题 背景 项目联合开发,也不知道谁制造的BUG 异常详情 This means that said other beans do not use the final version of the bean. This is often the result of ov 阅读全文
posted @ 2022-03-17 16:50 Mr*宇晨 阅读(959) 评论(0) 推荐(0)
摘要:springboot 整合 RabbitMQ 背景 多线程读取大文件后需要分时段进行第三方接口的调用【由于外部接口限制API30s才可以调用一次】,所以我们将使用RabbitMQ的延时消费的方式进行外部接口的调用,以保证项目程序的正常运行 RabbitMQ介绍 RabbitMQ介绍 RabbitMQ 阅读全文
posted @ 2022-03-09 14:25 Mr*宇晨 阅读(606) 评论(0) 推荐(0)
摘要:springboot 大文件处理 业务背景 定时任务初始化,调用第三方API 接口获取数据,第三方接口为模糊查询,业务会将需要查询的大量关键词提前,放到TEXT文件中,一行一条数据,项目中是使用定时任务去操作我们的文件,读取获取需要关键字,调用API,获得数据,数据加载到本地DB中。 业务上传到文件 阅读全文
posted @ 2022-03-07 15:09 Mr*宇晨 阅读(1303) 评论(0) 推荐(1)
摘要:nginx 转发配置 背景 在秒杀活动功能点上,后端服务并不是单机完成,有多个服务集群部署,解决大量请求,前端统一请求到ngixn,有nginx做代理转发,负载均衡,默认轮询策略。 秒杀主要使用技术 nginx + springboot + redis + lua + LinkedBlockingD 阅读全文
posted @ 2022-02-21 16:23 Mr*宇晨 阅读(170) 评论(1) 推荐(0)
摘要:接上文...... (7) XXL-JOB环境搭建 (7.1) 源码结构 通过上面给出的源码下载地址,我们将源码clone到IDEA中,如下: (7.2) 初始化数据库 初始化脚本在上面源码目录的 /doc/db/tables_xxl_job.sql ,将此脚本在MySQL数据库中执行一遍。 执行完 阅读全文
posted @ 2021-05-24 13:51 Mr*宇晨 阅读(1681) 评论(0) 推荐(0)
摘要:XXL-JOB 【轻量级分布式任务调度平台】 (1) 基本介绍 XXL-JOB是一个轻量级分布式任务调度平台,主打特点是平台化,易部署,开发迅速、学习简单、轻量级、易扩展,代码仍在持续更新中。 调度中心: 任务调度控制台,平台自身并不承担业务逻辑,只是负责任务的统一管理和调度执行,并且提供任务管理平 阅读全文
posted @ 2021-05-24 13:46 Mr*宇晨 阅读(7995) 评论(0) 推荐(2)
摘要:接上文...... (三) LTS简单集成springboot项目 特别说明:本示例的主要目的仅仅是告诉大家如何使用LTS,所以偷了个懒,将所有节点都揉合到了一个工程,实际项目是分开部署的,因需而定。 整个工程其实很简单:(一定要先搞明白这个项目结构) (1) 准备工作 新建SpringBoot工程 阅读全文
posted @ 2021-05-24 11:14 Mr*宇晨 阅读(1904) 评论(0) 推荐(0)
摘要:接上文...... (7) 项目编译打包 项目主要采用maven进行构建,目前提供shell脚本的打包。环境依赖:Java(jdk1.6+) Maven 使用一般分为两种: (7.1) Maven构建 可以通过maven命令将lts的jar包上传到本地仓库中。在父pom.xml中添加相应的repos 阅读全文
posted @ 2021-05-24 11:10 Mr*宇晨 阅读(1203) 评论(0) 推荐(0)
摘要:LTS 【轻量级分布式任务调度框架(Light Task Schedule)】 (1) LTS简介 LTS(light-task-scheduler)主要用于解决分布式任务调度问题,支持实时任务,定时任务和Cron任务。有较好的伸缩性,扩展性,健壮稳定性而被多家公司使用,同时也希望开源爱好者一起贡献 阅读全文
posted @ 2021-05-24 10:55 Mr*宇晨 阅读(5709) 评论(0) 推荐(0)
摘要:@Async实现异步调用 阅读目录: 序言:Spring中@Async 何为异步调用? 1.0、同步调用:顺序执行,需等待上一个任务执行完毕 1.1、异步调用:接收到指令就执行,无需等待 常规的异步调用处理方式 如何在Spring中启用@Async? 3.0、@Async介绍 3.1、启用@Asyn 阅读全文
posted @ 2021-05-24 10:50 Mr*宇晨 阅读(480) 评论(0) 推荐(0)
摘要:接上文...... 五、定时任务框架Quartz (1) 介绍Quartz Quartz框架是Java领域最著名的开源任务调度工具,也是目前事实上的定时任务标准,几乎全部的开源定时任务框架都是基于Quartz核心调度构建而成。 (2) Quartz 框架的特点 (2.1) Quartz 优点 作为一 阅读全文
posted @ 2021-05-21 16:51 Mr*宇晨 阅读(5909) 评论(0) 推荐(1)
摘要:接上文...... 四、JDK原生定时工具:Timer (1) Timer介绍 所在包: java.util.Timer java.util.TimerTask Timer(后台执行线程)对TimerTask(业务线程)的定时调用 Timer是一个定时器类,通过该类可以为指定的定时任务进行配置。Ti 阅读全文
posted @ 2021-05-21 16:46 Mr*宇晨 阅读(1149) 评论(0) 推荐(0)
摘要:JAVA定时任务 阅读目录: 序言 一、静态:基于注解 二、动态:基于接口 三、多线程定时任务 序言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一、基于注解(@Scheduled) 二、基于接口(SchedulingConfig?urer) 前者相信大家都很熟悉,但 阅读全文
posted @ 2021-05-21 16:42 Mr*宇晨 阅读(2939) 评论(0) 推荐(0)
摘要:springboot打war包部署 简介 最近写项目,发现springboot部署时,无法打成war方式扔给tomcat,运行。 苦苦,让我这个小白和度娘讨教了一上午,终于找到springboot打war的方式,记录一下。 springboot部署的方式 日常开发中springboot项目有两种方式 阅读全文
posted @ 2021-01-22 09:20 Mr*宇晨 阅读(424) 评论(0) 推荐(0)