- 博客(183)
- 资源 (2)
- 收藏
- 关注
原创 java 应用 cpu 过高故障排查
前两天写了一个订阅消息队列程序传递到 Flink,将订阅到的每个数据添加到 Queue 队列中,使用了 while(true) 从消息队列取数据,程序能正常运行,后来发现 CPU 使用率过高,通过排查发现时 while(true) 引起的,现在模拟 cpu 过高排查过程。
2023-07-21 01:19:21
3140
原创 Fiddler 简单抓包
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。Fiddler抓包的原理。
2023-06-26 22:36:37
5430
原创 springboot 2.6.12 自定义解析 yaml 加密数据
为了保证项目的配置文件的安全性,需要对第三方组件 mysql、redis、es、mq 等用户名密码进行加密处理,可以使用现成的三方包 jasypt-spring-boot-starter 实现,可参考我另一篇文章由于项目需要使用国密算法, jasypt-spring-boot-starter 实现不太方便,下面简单介绍自定义实现解析 yaml 加密数据springboot 版本 2.6.12自定义 yaml 解密解析器 DecryptYamlPropertySourceLoader。
2023-06-07 13:08:39
3733
原创 MySQL 恢复误删数据
通过 vbs 脚本转换 sql 语句,当然也可以使用其他的语言,window 执行 vbs 不需要额外的环境,你只需要修改下面 vbs 文件中输入输出文件名以及编码类型即可。MySQL 恢复误删数据,针对 window 和 Linux 均适用,只需要找到对应的 binlog 目录文件,默认就是 MySQL 安装目录下的 data 文件夹。接下来只需要将上面的 delete 语句转换为 inert 即可恢复误删数据,如果需要转换的多可以通过代码自定义实现,主要就是将。转换结果如下,自行选择新增恢复数据。
2023-06-02 10:31:30
7664
2
原创 Flink 定时加载数据源
flink 自定义实时数据源使用流处理比较简单,比如 Kafka、MQ 等,如果使用 MySQL、redis 批处理也比较简单如果需要定时加载数据作为 flink 数据源使用流处理,比如定时从 mysql 或者 redis 获取一批数据,传入 flink 做处理,如下简单实现注意 flink 好多包从 1.15.0 开始不需要指定 Scala 版本,内部自带下面 pom 文件有 flink 两个版本 1.16.0 和 1.12.7(Scala:2.12)三、自定义数据源使用 Timer 定时任务(当然
2023-03-11 09:00:00
5447
2
原创 线程安全 List 效率测试
读多写少的情况下,推荐使用 CopyOnWriteArrayList 方式读少写多的情况下,推荐使用 Collections.synchronizedList() 和 Vector 差距不大。
2023-03-10 18:12:44
3665
原创 docker 搭建 flink 并上传任务
1.16.0-scala_2.12-java8 镜像版本说明,flink 1.16.0,flink 内置 scala 版本 2.12,Java 版本 8。如下两个容器启动成功,可以看到 web 端口为 18081,taskmanager 启动一个,包含 5 个任务槽。如下:注意运行需要设置启动参数,否则启动会找不到类,因为 pom.xml 文件 flink 相关包都添加了。打包项目:可以在 pom.xml 修改启动类,也可以在命令启动或者 ui 界面上传设置启动类参数。下面代码用来统计单词出现的的次数。
2023-02-23 16:27:00
14206
5
原创 根据参数位置解析多层 JSON 支持多维数组
最近有一个需求,需要用定时任务调用第三方接口,第三方接口前面可能有多层,即第三层传递的参数来自第二层接口返回的结果,参数需要在前台配置,参数是灵活配置的,如:第二层需要第一层返回结果的 token,需要通过 A.B.C 去解析 JSON 获取 token。直接上代码,代码比较简单,目前暂时满足需求,后续有修改再追加。比如如下 JSON,前端传递位置就能获取具体的值。
2022-11-14 18:57:51
4883
3
原创 jwt 保证前端刷新不掉线
JWT 本身是一个字符串,可以保存一些信息并设置过期时间,下面将用户名加密生成 token 字符串,token 用来校验登录状态是否过期,刷新不掉线原理,数据格式如下:以 token-1 为例说明JWT 详细使用可参考 https://yixiu.blog.csdn.net/article/details/118409124springboot 项目简单示例如下三、新增 jwt 工具类jwt 工具类包含,创建 token、校验 token、从 token 获取用户名
2022-11-09 18:23:45
4837
原创 线程池 ThreadPoolExecutor 简单使用
/* RejectedExecutionHandler 拒绝策略提供了如下四种* java.util.concurrent.AbortPolicy 抛出异常* java.util.concurrent.CallerRunsPolicy 交给主线程执行* java.util.concurrent.DiscardPolicy 丢弃不做任何处理* java.util.concurrent.DiscardOldestPolicy 移除队列第一个任务,添加当前任务。统计多线程运行时长
2022-10-29 14:55:19
4405
原创 autopoi-web 导入 excel 解决二级表头重复问题(含前端示例)
autopoi-web 实现导入重复二级表头,支持 .xls 和 .xlsx 导入、多 sheet 页导入、支持含密码导入、支持字段过滤
2022-10-28 19:42:32
6351
原创 autopoi-web 导出 excel 自定义样式(含前端示例)
实现导出重复列头,自定义 excel 样式,先看最终导出效果,导出含有特殊情况二级列头
2022-10-28 17:24:06
7547
原创 knife4j 美化 swagger 文档
spring.mvc.pathmatch.matching-strategy=ant_path_matcher 作用:spring 升级到 5.3.0 之后路径通配的配置发生了变化,我的 springboot 2.6.12, spring 5.3.23,需要配置,否则会报如下错误。knife4j 主要美化 swagger API 文档,Knife4j 3.0.3 向下兼容支持 swagger2 和 swagger 3,下面简单聊下 springboot 2.6.12 使用 swagger 2(
2022-10-18 15:04:46
5362
原创 springboot 可执行 jar 转 exe(含有前端页面)
将 B/S 架构的前后端分离项目制作成 exe 适合 window 系统双击运行的软件,服务端使用 springboot ,前端使用静态页面,最终制作的 exe 文件不需要配置 java 环境即可运行。
2022-10-17 18:54:08
5672
1
原创 jasypt-spring-boot 加密敏感信息
在后端开发中有很多敏感信息,比如数据库用户名密码,第三方 Apikey,云服务商的 secretKey 等、如果不希望用明文在 application.yml 配置的,可以使用 jasypt 加密这些字段。还有很重要的一点,如果你自己开源一些东西,将代码上传一些代码托管平台,肯定需要隐藏敏感信息,用 jasypt 加密可以简化每次上传下拉代码修改敏感信息。, 官方文档使用方法描述得很清楚适用于各种情况,下面我简单记录一下加密 MySQL 用户名密码方法。
2022-09-27 18:56:49
5690
原创 window mysql 8.0忘记密码
管理员身份打开 CMD,进入 MySQL 安装目录,我的安装目录 F:\mysql-8.0.29-winx64。修改密码前,关闭刚才通过 cmd 命令行启动的 mysqld,需要启动系统的 mysql 服务。(如果 mysql 5.7 可输入 mysqld --skip-grant-tables),应该是一个以 DESKTOP- 开头的文件。启动系统服务,管理员进入 cmd,输入。关闭 mysql 服务有以下两种。...
2022-08-18 11:47:36
7055
原创 window 10 局域网同步时间(解决错误:This scheduler instance is still active but was recovered by another instanc)
在内网机使用 Quartz 时,一直在打印警告:错误原因:该 Quartz 定时任务被多台机器执行,各个机器之间时间不同步,Quartz为保证数据一致性,后启动的定时任务不会执行注意:下面操作在内网机实现,有些过程没有贴图解决办法如下保证 Quartz 定时任务只有一台机器执行,可在 Quartz 配置文件 quartz.properties,添加 或者在 springboot 配置文件 application.yaml 添加 参考 https://www.jianshu.com/p/9bd350dcd1
2022-07-08 20:26:03
13087
原创 Grafana+Prometheus+Windows_exporter+Mysql_exporter
接上一篇: k8s入门:kube-prometheus-stack 全家桶搭建(Grafana + Prometheus),监控 k8s 集群所有资源,我的集群是虚拟机搭建的,下面监控本机(window系统)资源 (可以选择不安装,直接使用 kube-prometheus-stack 全家桶自带的 Grafana),安装如下下载地址:https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1&platform=windows
2022-07-05 19:57:07
9628
原创 k8s入门:kube-prometheus-stack 全家桶搭建(Grafana + Prometheus)
第一章:✨ k8s入门:裸机部署 k8s 集群第二章:✨ k8s入门:部署应用到 k8s 集群第三章:✨ k8s入门:service 简单使用第四章:✨ k8s入门:StatefulSet 简单使用第五章:✨ k8s入门:存储(storage)第六章:✨ K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间第七章:✨ k8s入门:配置 ConfigMap & Secret第八章:✨ k8s入门:k8s入门:Helm 构建 MySQL第九章:✨ k8s入门:kuberne
2022-07-01 22:18:27
14744
9
原创 k8s入门:kubernetes-dashboard 安装
第一章:✨ k8s入门:裸机部署 k8s 集群第二章:✨ k8s入门:部署应用到 k8s 集群第三章:✨ k8s入门:service 简单使用第四章:✨ k8s入门:StatefulSet 简单使用第五章:✨ k8s入门:存储(storage)第六章:✨ K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间第七章:✨ k8s入门:配置 ConfigMap & Secret第八章:✨ [k8s入门:k8s入门:Helm 构建 MySQL]https://yixiu.blog
2022-07-01 18:34:53
17232
3
原创 k8s入门:Helm 构建 MySQL
Helm 类似 npm,pip,docker hub, 可以理解为是一个软件库,可以方便快速的为我们的集群安装一些第三方软件。Helm 是查找、分享和使用软件构建 Kubernetes 的最优方式。使用 Helm 我们可以非常方便的就搭建出来 MongoDB / MySQL 副本集群,YAML 文件别人都给我们写好了,直接使用Helm 官网:https://helm.sh/zh/docs/Helm chart 仓库 Artifact Hub :https://artifacthub.io/packages/
2022-06-27 19:51:53
12262
原创 k8s入门:配置 ConfigMap & Secret
ConfigMap 是一种 API 对象,用来将非机密性的数据保存到键值对中。ConfigMap 将你的环境配置信息和容器镜像 解耦,便于应用配置的修改。很多应用在其初始化或运行期间要依赖一些配置信息, 存在要调整配置参数所设置的数值的需求,ConfigMap 可以向 Pod 中注入配置数据。ConfigMap 不提供保密或者加密功能,加密数据可以使用 Secret 或其他第三方工具。ConfigMap 中保存的数据不可超过 1 MiB。ConfigMap 使用 data 和 binaryData 字段。这
2022-06-21 19:21:30
10338
原创 K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间
本篇文章使用 PersistentVolumeClaim (pvc) 结合资源对象 StorageClass (SC) 去动态申领 PersistentVolume (PV)本地 nfs 共享文件系统存储空间,SC 的根本作用就是根据 pvc 的定义来动态创建pv,不仅节省了我们管理员的时间,还可以封装不同类型的存储供 pvc 选用。每个 StorageClass 都包含以下三个重要的字段,这些字段会在sc需要动态分配pv时会使用到:每个 StorageClass 都有一个制备器(Provisioner
2022-06-20 23:01:51
12188
5
原创 k8s入门:存储(storage)
参考文章:接上篇 StatefulSet 管理有状态的应用,例如数据库时,当 pod 重启,重新创建会导致数据丢失,这篇博客介绍存储,主要介绍 Volumes、Persistent Volumes、Storage ClassesContainer 中的文件在磁盘上是临时存放的,这给 Container 中运行的较重要的应用程序带来一些问题。Kubernetes 卷(Volume) 能够解决上面这两个问题。可用:cephfs, configMap, downwardAPI, emptyDir, fc (光纤
2022-06-16 21:09:21
13143
1
原创 k8s入门:StatefulSet 简单使用
第一章:✨ k8s入门:裸机部署 k8s 集群第二章:✨ k8s入门:部署应用到 k8s 集群第三章:✨ k8s入门:service 简单使用StatefulSet 是用来管理有状态的应用,例如数据库。前面我们部署的应用,都是不需要存储数据,不需要记住状态的,可以随意扩充副本,每个副本都是一样的,可替代的。而像数据库、Redis 这类有状态的,则不能随意扩充副本。StatefulSet 会固定每个 Pod 的名字创建 redis-StatefulSet.yaml 文件,添加如下内容,配置文件添加了
2022-06-09 10:27:37
12481
1
原创 k8s入门:service 简单使用
✨ k8s入门:部署应用到 k8s 集群✨ k8s入门:裸机部署 k8s 集群利用 Deployment 可以创建一组 Pod 来提供具有高可用性的服务。虽然每个 Pod 都会分配一个单独的 IP,然而却存在如下两问题,可以通过 service 解决在 K8s 的 yaml 配置文件中,name 属性只能包含小写字母数字字符 和 -,并且端口名称还必须以字母数字字符开头和结尾。参考:https://www.jianshu.com/p/1a75963b5814四、ClusterIP 类型新建 test-
2022-06-08 16:29:20
12231
原创 k8s入门:部署应用到 k8s 集群
部署应用到 k8s 集群如果 dockerhub 上传为公共仓库,那么不需要下面验证,可以直接 docker pull 拉取,而不需要登陆准备 DockerHub 私人仓库,docker login 登陆仓库 ~/.docker/config.json 报错验证文件将准备好的 jar 上传到私人仓库,可参考我另一篇博客 https://blog.csdn.net/qq_41538097/article/details/106861717上传成功可以拉取镜像测试一下k8s集群,从 DockerHu
2022-06-07 18:27:55
14976
原创 VMware 安装 Linux(centos)系统
学习 k8s 时,租用云服务器便宜的性能不行经常卡,贵的划不来,想着本地搭建三个 Linux 虚拟机玩玩基础环境VMware:VMware-workstation-full-16.2.0-18760230Linux:CentOS-7-x86_64-DVD-2009下载 iSO 镜像VMware 下载地址(自行安装):https://customerconnect.vmware.com/en/downloads/details?downloadGroup=WKST-1621-WIN&pro
2022-05-24 19:00:46
12115
原创 k8s入门:裸机部署 k8s 集群
文章目录一、裸机部署 k8s 集群1、基础环境2、添加域名映射①、设置主机名 HostName②、三台服务器添加域名映射3、关闭相关服务①、关闭SELinux②、关闭防火墙3、添加 yum 源①、添加 k8s 的yum源②、添加 docker 的 yum源4、安装 k8s 组件启动 docker、kubelet 服务修改 docker 配置kubeadm 初始化集群(只需要在主节点跑)授权 node 节点访问集群工作节点加入集群安装网络插件部署应用到 k8s 集群k8s集群,从 DockerHub 拉取镜像
2022-05-20 15:32:31
20489
1
原创 Gateway 简单使用
文章目录简介核心概念导入核心依赖Predicate 常用参数配置filter 配置Default FiltersGlobal Filterssentinel + gateway 网关限流1、sentinel 添加网关流控项目2、route 维度①、yaml 配置②、代码配置③、sentinel 控制台④、添加 route 限流3、自定义 API 维度①、代码添加 API②、sentinel 控制台添加 API 分组③、sentinel 控制台④、添加 API 限流sentinel 网关限流处理逻辑1、yam
2022-05-09 21:22:48
15912
原创 zipkin 简单使用
简介zipkin 官网:https://zipkin.io/Zipkin 是一个分布式链路追踪系统。它有助于收集解决服务架构中的延迟问题所需的时间数据1、Sleuth 和 Zipkin 异同Sleuth 和 Zipkin 都是用来做分布式链路跟踪的,Zipkin 包含了 sleuth (指的 spring-cloud-starter-zipkin 包含 spring-cloud-starter-sleuth),Zipkin 分为服务端和客户端,服务端提供了一个 UI 监控界面,服务端指的每个服务2
2022-04-28 17:20:31
47429
原创 Sentinel 简单使用
该文章主要介绍 Sentinel 概念、 springcloud 对 Sentinel 的简单使用官方网站:https://github.com/alibaba/Sentinel/wiki/控制台概述Sentinel 是面向云原生微服务的流量监控,熔断降级组件。能够监控并保护你的微服务。1、Sentinel 的主要特性:2、Sentinel 分为两个部分核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等
2022-04-25 00:39:03
62998
原创 OpenFeign 简单使用
文章目录一、源码简单分析1、导入依赖2、自动导入类3、OkHttpFeignLoadBalancedConfiguration 类4、DefaultFeignLoadBalancedConfiguration 类5、小结二 、OpenFeign 配置 Http 连接池1、配置 Apache httpclient 连接池2、配置 OkHttpClient 连接池三、OpenFeign 简单测试1、SPRING-CLOUD-SERVICE-OPENFEIGN 服务 bootstrap.yaml 配置2、调用测试
2022-04-18 18:49:30
16709
1
原创 spring-cloud-starter-alibaba-nacos-discovery 启动服务发现
Springcloud的RestTemplate 使用服务名报异常 java.net.UnknownHostException添加 @LoadBalanced 注解@Configurationpublic class RestTemplateConfig { @LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); }} Respo
2022-04-08 11:50:51
19953
2
原创 spring-cloud-starter-alibaba-nacos-config 启动配置管理
nacos spring-cloud 参考地址: https://nacos.io/zh-cn/docs/quick-start-spring-cloud.htmlSpring Cloud Alibaba Nacos Config 参考地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config版本对应说明: https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明说明
2022-04-07 21:01:35
17686
原创 nacos-discovery-spring-boot-starter 实现服务的注册与发现
nacos-discovery-spring-boot-starter 实现服务的注册与发现
2022-04-07 12:51:54
17238
原创 nacos-config-spring-boot-starter 配置动态变更
官方地址:Nacos Config Spring Boot 0.3.1nacos-config-spring-boot-starter 配置动态变更1、命名空间如果命名空间(namespace)是默认的 public 则可以不指定,如果是其他命名空间必须在 application.properties 中指定如: nacos.config.namespace=2022-4-1-dev,一个项目只能引用一个命名空间,命名空间一般常分为 默认(public 不可删)、自定义(dev、prod、test)
2022-04-01 16:02:11
16609
7
原创 Nacos 下载启动、配置 MySQL 数据库
官方网站:https://nacos.io/zh-cn/docs/quick-start.htmlNacos 快速开始下载地址:https://github.com/alibaba/nacos/releases开启 nacosLinux/Unix/Mac启动命令(standalone代表着单机模式运行,非集群模式):sh startup.sh -m standalone如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:bash startup.sh -
2022-03-30 22:02:42
19165
1
原创 Apache HttpComponents 简单使用
官网 https://hc.apache.org/参考 https://www.cnblogs.com/lrzy/articles/15667814.html简介Apache Commons HttpClient(或被称为 Apache HttpClient 3.x)、Apache HttpComponents Client(或被称为 Apache HttpClient 4.x)HttpComponents 项目就是专门设计来简化 HTTP 客户端与服务器进行各种通讯编程。现在的 HttpComp
2022-03-28 21:45:05
19357
Xmanager Power Suite 7 压缩包,包括Xshell,Xftp,Xlpd。
2022-08-15
Wireshark-win64-3.0.10.exe
2020-05-12
InfluxDBStudio-0.1.0.rar
2020-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人