自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker配置nginx,及各种代理配置

在一些没有cookie的网站,或者不支持cookie(比如app端),在请求资源地址时,通过在资源路径后边加上json来保持会话,使用不同uri访问服务器,hash后的结果也不一样。在上面的示例中,server指令定义了一个虚拟服务器,监听端口为80,服务名为example.com和www.example.com,根目录为/var/www/example.com,在配置文件中添加以下内容即可。我们还可以通过设置权重(weight)的方式来控制每台机器的负载量,如果一台机器的带宽很大,可以将其权重设高一点。

2024-05-13 13:53:15 860 2

原创 SpingBoot常用的五个扩展点

本文前三个讲的是Spring Boot里面自己有的扩展点,后两个因为Spring Boot底层调的是Spring的源码,所以属于Spring里面的扩展点,所以如果这么算的话Spring里面的扩展点还有很多扩展点,比如InitializeBean、Aware等等。定义了这9个初始化器,那一定是有地方在调它们的,不然怎么会打印出来呢,那具体在什么地方调的,我们在自己的初始化器的地方打断点,看到已经进来了,然后看下方的堆栈信息,这个就是调用的地方。此时我们再看下扩展点图。

2024-02-23 14:28:58 868

原创 idea检出提示token解决

我们在拉取的时候,只需要gitlab生成token,将②改成带token的url,即③,最终拉取的地址为④。一次在拉取gitlab代码时提示Token问题,这里给出解决方法,下面给出几个url地址。

2024-02-19 15:45:54 2701

原创 docker中导出mysql binlog

no-defaults 可以避免 my.cnf 里配了 [client] 某些 mysqlbinlog 没有的参数导致 mysqlbinlog 失败。–skip-gtids 不保留 GTID 事件信息,这样回放 binlog 时会跟执行新事物一样,生成新的 GTID。加-v,从行格式中重建伪SQL(带注释),不显示 binlog_rows_query_log_events 参数效果。–base64-output 不显示行格式,如果同时加 -v 参数,可以从行格式中解码为带注释的伪SQL。

2024-02-19 15:40:01 458

原创 记录一次Linux磁盘满了处理过程

新年开工第一天,正在兴致勃勃的调试代码,由于正在开发的功能需要借助公司测试环境与第三方进行接口调用,但突然发现测试环境登录不了。最后发现是一个程序生成pdf文件目录比较大,进行删除无用pdf即可,或扩展磁盘空间,这里由于是测试环境,则进行删除了操作。查看实际的目录磁盘占用情况。目录占用磁盘空间比较大。进入指定目录后,执行。

2024-02-19 15:35:35 346

原创 使用docker部署jar包

配置好sftp后,指定Mappings后,即可选中文件然后,Deployment - Upload to。

2023-10-20 19:14:28 170

原创 Docker搭建Prometheus+Grafana监控系统

导入仪表盘模板ID:12423。

2023-10-14 17:40:24 94

原创 Docker、Docker-compose 入门教程

docker 是一个开源的应用容器引擎。启动容器参数:-d #后台运行-p #端口映射,-p 8080:80, 8080 表示宿主机端口,80 表示容器端口-v #目录映射,-v /data/nginx:/opt/nginx,/data/nginx表示宿主机目录,/opt/nginx,/opt/nginx表示容器目录–name #设置容器名称nginx #容器镜像查看正在运行的容器docker ps参数:-a #查看运行的所有容器,包括运行状态和停止状态的容器启动、停止、重启容器。

2023-10-05 12:46:56 249

原创 使用IntelliJ IDEA连接Docker

3、安装后,打开IDEA,依次进入File -> Settings -> Build,Execution,Deployment -> Docker -> TCP Socket -> Engine API URL,添加tcp://ip:2375。找到ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock。2、目标机器也需要先安装Docker,具体安装教程,可百度或看我的其它文章。9、 重新加载防火墙。

2023-10-05 12:08:01 594

原创 docker部署canal,并在springboot中使用

server_id=66 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复。第二个红框是你数据库的用户和密码,这个用户信息一定是要有全部权限的用户,非root用户;#找到文件位置后 exit退出容器 将容器内部文件copy到上面新建的目录中。log-bin=mysql-bin # 开启 binlog。binlog-format=ROW # 选择 ROW 模式。第一个红框是你需要监听数据库的地址和端口;#启动新容器,并挂载上面配置的相关目录。

2023-05-30 17:20:29 1097

原创 Tomcat是如何处理请求的(下)

再来看Htp11NioProtocol,和Http11Protocol非常类似,在它的底层有一个NioEndpoint,NioEndpoint中也存在一个Acceptor线程,但是需要注意的是,现在虽然是No模型,但是Acceptor线程在接收Socket连接时,并不是非阻塞的方式,仍然是通过阻塞的方式来接收Socket连接。也就是如何判断一个请求的请求体何时结束?所以,如果大家现在用的是Tomcat中的BIo模式,如果要进行性能调优,就可以调整该线程池的大小,默认10个核心线程,最大为200个线程。

2023-05-20 17:26:24 223

原创 Tomcat是如何处理请求的(上)

所以,我们发现,我们定义的某个Servlet,在Tomcat中可能会存在多个该类型的实例对象,所以Tomcat需要再抽象出来一层,这一层就是Wrapper,一个Wrapper对应一个Servlet类型,包装器中有一个集合,用来存储该包装器对应的Servlet类型的实例对象。2.假如,现在有一段逻辑,想让多个应用内的Servlet公用,就像切面一下,我们希望在请求被这些应用处理之前,能先执行公共逻辑。

2023-05-20 16:55:08 281

原创 使用PostMan进行接口、压力测试

下载地址:https://www.postman.com/选择对应系统版本选择Collections,创建测试窗口创建接口测试1. 创建测试集2. 编写脚本为了检查每次请求都能满足时延要求,需要对每次的请求,增加test脚本,用以检验请求的耗时在Tests中增加检测脚本,如下:脚本里首先检查方法执行正常,其次检查请求返回要求耗时小于200ms脚本是基于JavaScript语言的,具体可以学习可参考右侧说明同时,注意到上述的标签页中,还有一个Pre-request Script标签页,这里简单介绍一下,这

2023-05-07 12:10:35 4470

原创 记录一次线上OOM问题排查处理过程

项目为docker部署的springboot单体项目(非前后端分离),前端文件是集成在项目的类路径的resources路径下的。2. 接下来一顿度娘,发现可以使用Memory Analyzer做分析,于是到官网下一波: https://www.eclipse.org/mat/downloads.php。系统目前没什么用,主要是客户分公司在基础数据模块录入数据比较多,目前系统数据记录条数在122W+。以上就是自己总结的内存溢出排查方法,大家可以参考,欢迎大佬指正!

2023-04-17 22:36:35 363

原创 APP扫码登录实现流程

后续补充示例代码。

2023-04-17 22:24:34 187

原创 Java8 的时间库:检查日期字符串是否合法

Apache Commons 项目提供了一个校验器框架,包含多种校验规则,包括日期、时间、数字、货币、IP 地址、邮箱、URL 地址等。本文主要说检查时间,不过考虑到正则表达式的性能、输入数据的复杂性,一般能用别的方式,就不选正则表达式。这次说一下,怎样检查给出的字符串,是否是合法日期字符串。类是不可变的,也就是天然的线程安全,我们可以在不同线程使用同一个校验器实例。接口方法接收一个字符串,返回布尔类型,表示字符串是否是合法的时间格式。说了 JDK 自带的实现,接下来说说第三方组件的实现方式。

2023-04-13 11:31:21 1878

原创 8天入门GO语言

1.网络概述、socket编程)2.socket编程3.案例:并发聊天服务器。

2023-04-13 00:36:35 55

原创 日常使用ChatGPT能做些什么

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D2WvLNv4-1681316377372)(images/chatGpt/解释代码.png)]

2023-04-13 00:27:40 107

原创 学习使用RocketMQ

官方说明:随着使用越来越多的队列和虚拟主题,ActiveMQ IO模块遇到了瓶颈。我们尽力通过节流,断路器或降级来解决此问题,但效果不佳。因此,我们那时开始关注流行的消息传递解决方案Kafka。不幸的是,Kafka不能满足我们的要求,特别是在低延迟和高可靠性方面。看到这里可以很清楚的知道RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。

2023-04-12 20:31:57 1738 1

原创 SLF4J原理与实践

图元素说明。

2023-04-12 20:02:35 263

原创 Java类加载器原理与实践

AppClassLoaderExtClassLoaderBootClassLoader三者的关系误解注意关系注:文中图片来自于b站某up主,感谢!

2023-04-12 19:58:26 101 1

原创 一文告诉你什么是SPI机制并使用它

SPI:服务提供者接口(Service Provider Interface)官方定义:直译过来是服务提供者接口,学名为服务发现机制,它通过在classpath路径下的META-INF/services目录中查找文件,并自动加载文件里所定义的类SPI机制能够使接口与具体的实现类解耦,可以根据实际的业务情况启用或替换具体组件。SPI机制为很多框架的扩展提供了可能。SPI机制更多的是一种思想。

2023-04-12 19:29:23 228 1

原创 通过IDEA进行远程服务调试DEBUG

1. 打开IDEA,进入Run/Debug Configurations2. 由于我的服务是通过Docker部署的,故这里需要在Dockerfile文件中加入启动配置3. 需要注意在启动容器时,应将对应端口暴露出去4. 在IDEA中启动远程debug即可接下来可以快乐的远程调试服务器端代码了

2023-04-12 19:13:50 485 1

原创 Java中的泛型

java中的泛型分为三种:泛型类、泛型接口、泛型方法一、泛型类public class AuthToken<T> {public T getToken(T o) { return null; }}二、泛型接口public interface Comparable<T> { public int compareTo(T ...

2020-01-01 20:00:29 248

空空如也

空空如也

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

TA关注的人

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