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