Swgger3 接入
摘要:
接入 引入依赖 引用 Knife4j 的 starter <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
设计模式之代理模式
摘要:
定义 代理模式(Proxy Pattern)是软件工程中的一种设计模式,它属于结构型模式,用于在不直接访问实际对象的情况下,通过一个或多个代理对象来间接访问某个对象或执行某些操作。 目的 这种模式的主要目的是: 控制访问:代理可以在访问真实对象之前或之后添加额外的操作,如权限检查、延迟初始化、日志记
PGSQL数据膨胀问题排查
摘要:
背景 不知道从何时开始,数据库空载时的性能消耗越来越高,当业务高峰期,CPU 和内存都处于高负载的情况下,观看 AWS 的监控,发现负载空载时占用很高。 并且占用较高的 Top5 分为为: autovacuum: VACUUM ANALYZE pg_catalog.pg_attribute auto
PGSQL快速生成模拟数据
摘要:
背景 有时候,我们为了测试数据库的性能,通常需要快速构建测试数据,PgSql 提供了快速构建数据的工具,方便我们能够快捷的构建模拟数据。 生成函数 顺序生成 生成 SQL -- 生成一批顺序值 SELECT id FROM GENERATE_SERIES(1, 10) t(id); 结果 id 1
PGSQL 批量更新
摘要:
概述 在我们的平常业务中,经常需要批量更新数据,例如:现阶段需要更新 1000 个包裹的上网时间,每个包裹的上网时间是不一样的,假如我们一个一个包裹更新,则需要与数据库进行 1000 次的交互,很大的消耗数据库的性能,并且更新的速度也很慢,因此,我们通常需要进行批量更新数据。 数据生成 首先,我们需
从0开始搭建博客
摘要:
1. 概述 本篇博客,我教大家从0开始搭建一个 bolo博客,bolo 博客 和 solo 博客的区别是皮肤更加多,并且可以帐号密码登录。 本篇博客主要的内容如下: linux 安装 docker,设置docker镜像加速 docker 安装 nginx docker 的一些常用的命令 docker
Spring Aop 获取入参和出参
摘要:
1. 概述 本次,我利用 Spring Aop 的注解方式获取切入点的入参和出参,因为比较简单,所以就直接上代码了。 2. 代码编写 注解类 /** * 日志注解 * * @author Jiantao Yan * @title: Log * @date 2021/1/5 20:33 */ @Tar
Spring AOP 切面执行顺序
摘要:
1. 概述 1.1 术语 Spring AOP 的相关术语: Aspect:切面,由一系列切点、增强和引入组成的模块对象,可定义优先级,从而影响增强和引入的执行顺序。事务管理(Transaction management)在java企业应用中就是一个很好的切面样例。 Join point:接入点,程
zuul 网关超时优化
摘要:
1. 概述 前段时间,线上的服务不知道为啥,突然全部的服务都超时,所有的请求经过网关都超时,后来进行链路追踪排查,发现有一个服务链接 RDS 数据库,一个查询花费了 20S 的查询时间,导致后续调用该服务的应用都超时。然后超时的连接占满了 zuul 的转发池,最终导致了所有经过 gateway 的服
Hibernate Type源码解析
摘要:
type 的类图 AssociationType: 关联类型的 type,主要用于外键等相关 IdentifierType: 主键相关的类型 type BasicType: 基础类型,例如 long,int,string 等基础类型 type 注册 基础类型的注册器 /* * Hibernate,
idea 修改 git 提交用户名
摘要:
本项目 修改配置文件 修改当前项目目录下的 config 文件 添加以下数据 [user] name = ** email = **@gmail.com 全局修改 git config --global user.name 'gitlab注册用户名' git config --global user
链表常见算法
摘要:
1. Java 实现链表的数据结构 主要的实现方式是在类中设置一个 Node 的内部类,用来存储链表的节点 /** * 链表数据结构联系 * * @author Jiantao Yan * @title: MyLink * @date 2020/3/23 18:32 */ public class
Gateway 聚合swagger文档
摘要:
在微服务架构下,通常每个微服务 都会使用 Swagger 来管理我们的接口文档,当微服务越来越多,接口查找管理无形中要浪费我们不少时间,因此,我们需要把其它系统的 Swagger 文档聚合到 Gateway ,方便我们统一查看接口文档。 1. 核心实现 1.1 OMS 端实现 1.1.1 swa
zuul 源码解析
摘要:
1. RefreshableRouteLocatorRouteLocator 路由定位器,在 Spring Cloud Zuul 中,RouteLocator 的主要作用是加载 zuul 路由配置信息(如yml配置文件或数据库)到zuul中,再由过滤器将这些信息一步步去匹配,主要的 RouteLoc
转-Java 异常处理的 20 个最佳实践,你知道几个?
摘要:
作 者:武培轩 出 处:https://www.cnblogs.com/wupeixuan 原文链接:https://www.cnblogs.com/wupeixuan/p/11746117.html 异常处理是 Java 开发中的一个重要部分,是为了处理任何错误状况,比如资源不可访问,非法输入
ZUUL超时配置
摘要:
zuul相关问题 connect-timeout-millis和socket-timeout-millis的区别 connect-timeout-millis 连接服务的时间 connect-timeout-millis=1 socket-timeout-millis 服务器连接及响应时间 sock
shading-jdbc数据库读写分离
摘要:
官方文档 1. ShardingSphere 1.1 ShardingSphere简介 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。
Crontab定时任务更新SOLO以及备份数据库
摘要:
Linux定时执行任务Crontab 1. 安装Crontab 1.1 安装命令 # vixie-cron软件包是cron的主程序 yum install vixie-cron # crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序 yum install cro
【转】-多线程之Callable
摘要:
Java并发编程:Callable、Future和FutureTask 该博客转载自Matrix海 子的Java并发编程:Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种
Jenkins集成部署SpringBoot
摘要:
Jenkins集成部署SpringBoot 1. 前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致。基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化。因此,传统的人工部署已经心有余而力不足。 持续集成,持续部