自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 收藏
  • 关注

原创 我是如何进行日常时间管理的

运用四象限工具对任务分为: 紧急重要、紧急不重要、不紧急重要、不紧急不重要。帕金森定律: 你有多少时间完成工作,工作就会自动变成需要那么多时间。不紧急不重要: 杂事,合理授权给相应的人。紧急重要: 最高优先级任务。紧急不重要: 救火类的任务。不紧急重要:长远有益时间。

2022-11-26 10:36:40 232

原创 nginx 499错误处理及nginx的配置参数

近期响应集团降本增效,节省ci,stg机器,我们项目开始容器化,在改造过程中,链路的访问发生了变化,导致出现了499,解决方如下访问链路: 域名—> ELB (内网访问) —> openrestry (stg环境,支持自定义lua脚本) —> ELB(提供服务固定ip) —> (容器集群)POd。

2023-06-18 15:12:24 10907

原创 postgrepsql字符串分函数、数组长度函数、分割符分割字符串为数组

某张表里有存储字符传为文件名(如下),现在有一个数据需求,要求查询文件的都有那些后缀。

2023-05-25 15:38:16 2297

原创 db脚本持续集成: flyway创建、管理和版本化数据库

Flyway 是一种开源的数据库迁移工具,可以帮助开发者将数据库的版本管理集成到应用程序中。它使用简单的 SQL 脚本来管理数据库的版本和升级。Flyway 支持多种主流的数据库(如 MySQL、PostgreSQL、Oracle、SQL Server 等),使得在不同数据库之间进行迁移变得更加容易和灵活。Flyway 是基于约定优于配置的原则,提供了一系列命名规范和组织结构,使得创建、管理和版本化数据库变得更加可预期和可重复。

2023-05-24 15:40:03 1309

原创 应用假死排查过程及OutOfMemory问题定位及处理

相关关键词: java8、jmap、jstack、jstat、netstat、less 、grep、 jvm。

2023-05-11 21:36:12 1178

原创 redis热key的发现管理淘汰

本地–> nginx —> web服务 ----DB —> dfs —> 网络代理npm的tgz包请求特点: 高并发、热点包、读多写少需要发现热点包,缓存到本地,减少web服务和db、dfs的交互,减少网络链路。直接从本地ssd下载文件。

2023-04-20 18:42:15 79

原创 nginx常见分发算法实现

根据流量类型的不同,选择合适的均衡算法;常用的均衡算法: 轮询、加权轮询、随机、ip_hash、 url的hash分发、根据机器性能实时计算分发。

2023-04-14 07:52:15 591

原创 HTTP缓存机制

HTTP有两种缓存机制:强制缓存和协商缓存,强制缓存cache-control比expires的语义丰富的多;协商缓存:Last-Modified比etag生成性能好,但是只能秒级。技术方案没有最好,只有最适合当前场景的解决方案,技术也是一直发展的,我们也需要与时俱进,脑中存储各个场景在具体能拿到最大资源下的最合适的方案。

2023-04-11 20:59:15 557

原创 令牌桶限流通过信号量实现

由于是我们限制自己的发起请求,对方限制我们的结果,因此根据对方给的限制每分钟300个请求的限制,使用令牌桶,来控制我们的请求。非上面限流算法,既然对方限流我们,那我们只要一直请求,请求结果如果是限制请求,那么我们sleep一段时间,再继续发起请求。场景2服务方对我们限流,为了能正确获得服务结果,我们也需要对我们的请求进行限流发起。1.为了防止第三方无节制的调用打垮我们的系统,需要对重要的请求进行限流。计数限流、固定窗口、滑动窗口、漏桶算法、令牌桶。2.服务方对我们调用的接口有每分钟限流。

2023-03-30 14:41:21 301

原创 logback输出日志区分所属线程:方便运维排查问题

生成每次请求的唯一标识/*** @description logback拦截器} }1.preHandle:在业务处理器请求之前被调用。预处理可以可以进行编码控制、安全控制、权限校验等2.postHandle:在业务处理器处理请求完成之后,在生成视图之前执行。3.afterCompletion:在DispatcherServlet完全处理完请求后被调用,可用于清理资源等。

2022-12-30 17:32:50 1746

原创 观察者模式:spring的事件监听

之前,我在设计模式专栏里写过观察者模式,感兴趣的同学,可以去看看。spring为我们提供了事件监听机制,可以帮助我们解耦代码。

2022-12-30 17:28:54 129

原创 ehcache使用及缓存不生效处理方法

ehcache是一个纯java的进程内的缓存框架, 具有快速,精干等特点。java中最应用广泛的一款缓存框架(java’s most widely-used cache)ehcache是一个基于标准、开源的高性能缓存,扩展简单。因为它健壮、经过验证、功能齐全、方便的和第三方框架与库集成。Ehcache 从进程内缓存一直扩展到具有 TB 大小缓存的进程内/进程外混合部署。

2022-12-13 21:18:27 1714 1

原创 拥抱TDD吧,节省30%开发时间

TDD:test-driven-development即测试驱动开发,是指在实际开发逻辑代码前,先写好测试用例。整个TDD开发流程:开发(定义顶层抽象)-> 编写用例 -> 准备数据 ->跑用例->失败->开发->跑用例->成功->交付非TDD开发开发->手工测试->失败->开发->手工测试->成功->交付。

2022-11-26 10:13:13 125

原创 maven的一些命令

【代码】maven的一些命令。

2022-11-26 10:10:52 106

原创 maven的pom没有指定包的版本

输出依赖树包有具体的版本parent有定义版本https://stackoverflow.com/questions/12315746/what-will-the-version-be-when-i-dont-specify-it-in-the-mavens-pom-xml/12316462#12316462https://blog.csdn.net/kang389110772/article/details/106497338

2022-11-26 10:08:24 1509

原创 npm ERR! code EINTEGRITY处理

方法三: 打开你项目的package-lock.json 用上面的sha512搜索,找到对应的包,替换integrity的值(原因:已发布包unplish后再次publish,导致sha512的值改变了)表示某个包的当前下载sha512与之前记录的不一致,这种可能情况是:本地下载过某个包,然后对应的被unpublish后再次publish导致文件的sha512发生了变化。方法四: (如是自研仓库): 进入自研仓库库,如是远程下载的包,选择指定版本,删除包,从官网重新拉取包。

2022-11-26 10:07:35 1596

原创 npm简单介绍

如果被设置为: true 则拒绝发布到远程仓库。这是为了防止一个私有模块被无意间发布出去。

2022-11-26 10:06:48 1451

原创 flask与fastapi性能测试

apache ab性能测试。

2022-11-26 09:56:06 2803

原创 SM4、AES、DES加解密算法性能比较

【代码】SM4、AES、DES加解密算法性能比较。

2022-11-26 09:52:17 5500 1

原创 mysql主备同步配置

mysql主备同步配置mysql8.0。

2022-11-26 09:30:11 327

原创 nginx的一些配置与运维

nginx的一些配置与运维。

2022-09-24 14:46:53 818

原创 一个字符占多少字符及varchar与char的区别

一个字符占多少字符,不同的编码规则占用字节不同。ASCII: 一个英文字符占用一个字节,一个中文汉字占用两个字节UTF-8: 一个英文字符占用一个字符,一个中文(含繁体)占用三个字节unicode: 一个英文字符占用两个字符,一个中文(含繁体)占用两个字节。

2022-09-24 14:34:11 2536

原创 java并发包的基石:AbstractQueuedSychronier及synchornized

了解AbstractQueuedSychronier 以及一些锁概念

2022-09-08 18:26:40 237

原创 一次生产死锁问题的处理

存储制品库maven包,有两张表meta_maven存储groupId、artifactId、version信息,meta_maven_file存储GAV下的具体文件jar、pom、sha1、meta_maven.xml。场景1: deploy上传snapshot的maven包,用新的meta_maven.xml替换之前的,之前的删除。场景2: 下载GAV包,检查是否有漏洞:开始更新组件状态为扫描中,从黑鸭子获取扫描结果(超长时间等待),更新组件的扫描结果,有漏洞禁止下载。

2022-09-02 11:08:58 345

原创 redis key的删除淘汰策略

被动删除: 当读写key的时候检查是否过期,过期删除,无法处理冷数据主动删除: redis有1s10次的定时任务,检查key是否过期,过期则删除LRU: least recently use LRU淘汰最长时间没有使用的LFU: least frequently use LFU淘汰使用次数最少的。...

2022-09-01 11:04:40 281

原创 分布式锁的3种实现

我们在线上部署只有一个应用实例的时候,我们可用sychronized、lock来加锁,但是当部署了多个实例,实例间要对资源进行加锁,就要使用分布式锁了。

2022-09-01 09:55:05 984

原创 分布式理论基础:CAP与BASE理论

分布式系统在遇到部分节点或网络分区故障时,仍然能够对外提供满足一致性和可用性的服务。mysql传统数据库时追求强一致性模型的,所以他的性能不高,每秒只有几千个QPS。分布式系统天然满足分区容错性,cap只能同时满足两者,那么也就只能是CP,AP。服务一直可用,即使部分节点故障了,整体服务还是能提供正常的响应。如果部分节点失效,允许损失部分可用性,保证核心可用。允许系统存在中间状态,而该状态不影响系统整体可用性。所有子节点,经过一定时间,数据最终能够达到一致性。zk是CP保证强一致性、分区容错性。...

2022-08-26 15:47:31 235

原创 mysql悲观锁是行锁还是表锁?

悲观锁在非主键、非索引时是表锁,在主键、索引时是行锁。

2022-08-26 14:30:16 1168

原创 入职中国平安三周年的一些总结

制品库承担支撑着平安集团30+子公司的3万研发人员日常持续集成。作为CI/CD制品库系统负责人,参与制品库从无到有的架构设计、开发、运维以及版本管理。

2022-07-02 13:21:03 2129 1

原创 testtesttesttest

算法位一个整形数组中除了两个数字之外,其他都出现了两次,请找出两个只出现一次的数字树1.树的后序排列2.判断数组是否是 树的后序遍历结果链表数组1.把数组排成最小的数2.找出数组中重复的超过一般的数字其他问题mysql1:MySQL 的逻辑架构了解吗?2:谈一谈 MySQL 的读写锁3:MySQL 的锁策略有什么?4:数据库死锁如何解决?5:事务是什么?6:事务有什么特性?7:MySQL 的隔离级别有哪些?8:MVCC 是什么?9:谈一谈 InnoDB10:谈

2022-04-23 23:50:59 1513

原创 linux随机生成文件

linux随机生成文件有些时候我们需要随机生成文件来做测试:如对系统存储文件进行压测,docker仓库压测,需要使用不同的文件,不同大小的镜像来进行压力测试。脚本# 脚本随机生成指定大小($1)一个(i<=1 如需要多个可修改这里或使用变量传入控制>)文件# $1 指定文件大小,单位MB#!/bin/shfor ((i=1; i<=1; i++))do dd if=/dev/urandom of=$i".txt" bs=1048567 count=$1done*

2021-10-18 14:15:57 1700

原创 docker客户端拉包逻辑及优化思路

docker客户端拉包逻辑及优化思路docker pull xxxxxxConcurrent downloadsBy default the Docker daemon will pull three layers of an image at a time. If you are on a low bandwidth connection this may cause timeout issues and you may want to >>lower this via the --m

2021-09-16 18:20:05 1766

原创 spring中的循环依赖

spring中的循环依赖循环依赖的场景1.构造器的循环依赖2.field属性的循环依赖如果两个对象是构造器的循环依赖,这中是没有什么办法解决,当A构造器依赖B,B构造器依赖A,无法提前实例化,以及缓存,因此无法处理。spring对bean的创建是分三个步骤:1.通过构造器new出对象;2.设置属性;3.执行设置的初始化函数。field属性的循环依赖时,我们可以完成构造器的执行,得到对象的引用地址,传给依赖的属性,后面再对这个对象设置相关的属性。就处理了field属性的循环依赖。filed循环依

2021-08-25 11:48:56 154

原创 mybatis之builder包处理mybatis初始化

mybatis之builder包处理mybatis初始化mybatis有两种xml的文件,一种是Mybatis-config.xml负责配置mybatis的各种配置以及指定映射文件;一种是xml映射文件负责sql。其中配置文件有很多子节点,各自有各自的功能,xml也有多种子节点resultMap、sql、select、insert、update要解析这些复杂的配置为对象,一个简单的类肯定是不够的,这个时候就需要各个不通职责的子类合作来解析配置和映射文件。mybatis通过建造者模式来解析配置文件和映射

2021-08-20 16:50:58 472

原创 编写单元测试,测试你的代码

编写单元测试,测试你的代码编写单元测试三步骤:1.准备数据:db、mock第三方服务、MQ、redis、dubbo2.调用测试方法3.验证期望结果依赖junit包<dependency> <groupId>org.jmockit</groupId> <artifactId>jmockit</artifactId> <version>1.38</version> <scope>test</

2021-08-17 17:28:01 275

原创 harbor关闭异常问题处理

harbor关闭异常问题处理错误信息当执行 docker-compose down -d 关闭harbor 时,提示无法关闭,提示信息如下:ERROR: network harborv21_harbor id a65b5375c996c2ac54cbbc69c66aa169cd69b0c583ee0f1e1d913d591c3b19a2 has active endpoints这是因为有组件的网络链接无法关闭,执行以下命令关闭组件的网络连接。1.查看harbor组件之间的网络通信 docke

2021-08-16 10:01:40 1404

原创 spring中bean创建过程中的扩展点

spring中bean创建过程中的扩展点spring中bean的生命周期Spring中的bean在创建过程中大概分为一下几个步骤:实例化 --> 填充属性 --> 执行aware接口 --> 初始化 --> 可用状态 --> 销毁1.实例化就是调用类的构造器进行对象创建的过程,比如:new Object();就实例化了一个Obejct对象;2.填充属性是指注入bean的依赖或者给属性赋值;3.Aware接口是Spring中的“觉醒”接口,是Spring容器通过

2021-08-11 20:26:05 708

原创 通过fidder抓npm拉包协议

通过fidder抓npm拉包协议npm使用fidder抓包1. 查看fidder的端口打开fidder–> Tools —> Connections —> fidder listens on port默认8888端口2.设置npm代理通过fiddernpm config set proxy http://127.0.0.1:8888npm config set https-proxy http://127.0.0.1:88883. 打开fidder抓包打开fidder

2021-08-11 20:25:07 270

原创 mybatis之bind模块

mybatis之bind模块mybatis通过定义接口mapper,不需要继承或实现接口,Mapper接口中的方法定义select|update|insert|delete方法,通过关联映射文件中定义的sql来执行查询。 .....org.apache.ibats ....................binding ...........................BindingException ...........................MapperMethod .....

2021-08-03 09:24:15 439

原创 mybatis之缓存模块

mybatis之缓存模块mybatis中存在一级(默认开启)、二级缓存。缓存可以加快查询速度,减少连接db的次数。cache模块属于mybatis的基础支持层。位于org.apache.ibatis.cache包下。--------org.apache.ibatis.cache-------------------------------decorators-----------------------------------------BlockingCache----------------

2021-07-28 09:17:17 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除