- 博客(115)
- 收藏
- 关注

原创 【图文详解】入职必备——SVN使用教程
文章目录前言1、SVN简介2、SVN仓库3、SVN客户端4、SVN基础操作5、撤销和恢复6、添加忽略7、解决冲突8、分支9、代码暂存前言又是一年毕业季,不少小伙伴纷纷入职,我也找到了理想的工作。正式进入公司后并不会像我们自学时自己一个人随心所欲地写代码,需要我们和同事进行协同开发,此时代码管理工具是必不可少的,目前常用的两款工具是:SVN 和 Git,今天我们就来学习一下SVN的使用!该技术博客是关于B站SVN视频教程的笔记总结,希望能为大家带来帮助,视频链接如下:https://www.bili
2021-07-04 11:32:39
133207
19

原创 轻松理解前后端分离(通俗易懂)
文章目录一、前言二、前后端分离本质三、1.前后端分离2.不使用前后端分离会有什么问题一、前言该技术博客是关于楠哥教你学Java的前后端分离课程笔记总结,希望可以为大家带来帮助!二、前后端分离本质大家往往会陷入一个误区,试图用具体的技术来描述什么是前后端分离这个一个概念,这是答非所问的。一提到前后端分离就是SpringBoot + Vue,这并不是正确的理解!我们问的是:你为什么采用这种方式解决问题回答却是:你是如何去具体做这件事前后端分离是:软件技术和业务发展到一定程度,在项目管理工作上必须进
2021-03-28 21:18:01
123767
7
原创 如何分析 JVM OOM 内存溢出 Dump 快照日志
参数配置,即便是发生OOM也不会生成对应Dump文件。这种情况就需要排查定位内存溢出的原因(总不能任由他宕机),不过默认情况JVM内存溢出导致宕机并不会生成。方式来启动Java进程,所以需要先构建Docker镜像,我这里使用。,不过我个人不习惯使用MAT(还得单独安装),不如直接通过。企业开发过程中,如果系统服务客户量比较大,偶尔会出现。问题,导致服务发生宕机,停止对外提供访问。,开发就很难找到本次内存溢出的原因。上述构建配置文件,如果没有。此时,就可以把容器内的。
2025-04-14 20:29:06
440
原创 Kubernetes(K8S) + Harbor + Ingress 部署 SpringBoot + Vue 前后端分离项目
最后,在浏览器上通过访问域名,可以看到 K8S 部署 SpringBoot + Vue.js 项目成功!Ingress 域名解析用的是阿里云的真实域名地址,如果地区是大陆服务器还需要。模式可以完成服务对外提供访问的要求,但是真正企业级场景来说,更多的是使用。主要是用于 K8S 集群中资源隔离的,所以在这里我为项目创建一个命名空间。通过 IDEA 打开后端项目,记得调整一下配置文件,将。节点上,否则无法进行正确的访问,所以还需要修改。具体配置内容如下,注释写的很清楚,不多解释啦!
2024-10-28 21:52:11
1853
7
原创 Kubernetes(K8S) 1.28 一键部署 Ingress-Nginx 1.9.1
我这里使用的是CentOS 7.9的服务器部署的K8S 1.28集群,请参考该链接,亲测成功。
2024-10-25 20:57:56
1088
原创 FlinkCDC 实现 MySQL 数据变更实时同步
Flink CDC 是 Apache Flink 提供的一个功能强大的组件,用于实时捕获和处理数据库中的数据变更。FlinkSQLFlink DataStream 和 Table API(本文使用该方式)
2024-10-17 21:05:46
2828
6
原创 Prometheus + Grafana 监控 MySQL 数据库
阿里云ECS1:2核2G,Ubuntu 22.02,内网ip:172.16.0.178,开放端口:3306,9104阿里云ECS2:2核2G,Ubuntu 22.02,内网ip:172.16.0.179,开放端口:9090,3000。
2024-10-08 17:24:52
2562
原创 Prometheus + Grafana 监控 SpringBoot 应用
服务器(开放 8080、9090、3000 安全组),不舍得花钱的小伙伴可以使用虚拟机,服务器上环境主要分为。经过上述操作,Prometheus + Grafana 监控 SpringBoot 应用的搭建流程就完毕了!此时想要 Grafana 整合 Prometheus,完成指标数据的监控,需要先。项目流程操作这里就省略了,我创建的 SpringBoot 版本是。,可以看到 Prometheus 的页面,说明部署成功了。这里不详细说明如何安装,流程参考该博客第。
2024-06-27 20:10:14
1506
原创 百万级 QPS 接入层网关架构方案演进
随着PC、移动互联网的快速发展,越来越多的人通过手机、电脑、平板等设备访问各种各样APP、网站系统。国民级的产品应用接入层QPS甚至能够达到百万、千万级别,那么针对这么大请求量,系统接入层该如何设计才能确保能够承载大请求的同时,保证可用性、拓展性呢?通过该文章我们来梳理一下接入层架构方案。
2024-06-20 21:33:49
1552
原创 【K8S】CentOS 7.9 通过 kubeadm 搭建 Kubernetes 集群
等待3分钟后,查看 Pod 运行状态,发现 pods 全部状态为 Running 成功,这样就说明 k8s 集群部署完毕了!下载完毕后,修改 calico.yaml 文件中的。2.1 章节每步操作需要 3 台服务器都执行。2.2 章节每步操作需要 3 台服务器都执行。
2024-06-18 18:03:51
2265
4
原创 手把手搭建 Nginx + VIP + Keepalived 高可用集群
集群中,有一个为主Nginx,多个备Nginx,整个集群对外提供一个VIP,通过VIP访问主Nginx,备用Nginx负责监控主节点运行状态,如果发现主节点宕机,则选举其中一个备用Nginx接管主节点的工作,VIP绑定到新选举的主Nginx节点上,这个流程俗称IP漂移,从而实现了高可用。在之前单体架构开发时,是一个用的较为频繁的高可用技术,比如MySQL、Redis、MQ、Tomcat等都会通过。就能够看到Nginx首页,停止掉某台机器上的keepalived就会出现故障转移,VIP漂移现象!
2024-06-14 15:26:52
3036
原创 Docker 部署 Redis Cluster 高性能高可用分片集群
阿里云的Redis集群服务方案,采用的就是 Redis Cluster 集群模式Cluster 模式是 Redis 3.0 之后推出的集群方案,采用多主多从的应用集群,承载大量应用缓存数据,由于采用无中心结构,集群中每个节点保存数据和集群的状态,每个节点之间都是互相连接的,采用gossip协议相互通信、交换节点数据信息。(企业首选Redis集群方案 👍)Redis官方推荐 Cluster 集群最低配置是3主3从。
2024-06-05 18:00:27
1384
原创 ProxySQL + MySQL MGR 实现读写分离实战
万字详解 MySQL MGR 高可用集群搭建ProxySQL 和 ShardingJDBC 属于竞品关系,国内使用ShardingJDBC更多,国外使用ProxySQL更多。当我们搭建好了MGR集群,由于组复制的存在,保证每个节点的数据都是强一致的。不会出现主节点有数据,而从节点没有数据的情况。
2024-06-03 21:45:49
1458
1
原创 万字详解 MySQL MGR 高可用集群搭建
MGR(MySQL Group Replication)是MySQL 5.7.17版本诞生的,是MySQL自带的一个插件,可以灵活部署。保证数据一致性又可以自动切换,具备故障检测功能、支持多节点写入。集群是多个MySQL Server节点共同组成的分布式集群,每个Server都有完整的副本,它是基于ROW格式的二进制日志文件和GTID特性。在单主模式下, 组复制具有自动选主功能,每次只有一个 server成员可以作为主节点。单主模式 group 内只有一台节点可写可读,其他节点只可以读。
2024-06-01 18:07:09
6588
1
原创 【MySQL】深入解析事务与MVCC
指的是:事务执行前后,数据库中的数据是一致的。此时可以看到,由于记录的事务id为1,不论是事务A还是事务B的事务id都是 > 记录的trx_id,所以事务A和事务B都能够读取到这行数据。,该机制是InnoDB存储引擎特有的,它解决了并发事务场景下的读写性能问题,完全不需要加锁。,所以对于事务B来说就可以看见事务A修改并提交的数据,由于每次查询操作都会创建最新的。此时事务B再次读取记录信息时,就会发现这条记录的事务id为2,在事务B的。指的是:数据库中多个事务操作之间不会互相干扰,并发执行的事务之间是。
2024-03-23 13:24:44
1103
原创 【MySQL】深入解析索引实现原理
对于MySQL数据库来说,有个非常重要的概念就是索引,索引的用途是:加速我们对MySQL数据库的查询操作性能,减少磁盘IO操作。注意这里说的是查询,而不是新增、修改、删除。索引不仅对新增、修改等操作没有性能提升,并且还会降低这类DML(非查询SQL)操作的性能,原因很简单,因为DML操作还需要我们对索引结构不断进行维护…表数据量少字段重复数据多频繁进行DML操作的表如果把MySQL比喻成一本书籍,那么索引。
2024-03-14 20:26:44
1097
原创 【MySQL】深入解析日志系统:undo log、redo log、bin log
MySQL数据库提供了功能强大的日志系统,今天来深入学习下这三个日志实现细节。
2024-03-05 13:02:46
2164
2
原创 【MySQL】深入解析 Buffer Pool 缓冲池
MySQL数据库具有可拔插的存储引擎,其中最常用的是InnoDB,而Buffer Pool缓冲池是InnoDB存储引擎中特有的内存结构,MySQL向操作系统内存申请一块内存空间用于缓冲池使用,因为硬盘和内存性能差距大,所以Buffer Pool缓冲池用于协调CPU速度和硬盘速度的鸿沟,大幅度提升MySQL数据库的读写性能。按照我们的惯性思维,这里会有一个疑问:不都说MySQL的数据是基于硬盘存储吗,为什么这里会提到缓冲池内存这概念?MySQL当然是通过硬盘持久化存储。
2024-02-28 20:56:01
1849
原创 TCP如何保证传输可靠性?
在开始阅读该博客之前,先要好好了解一下TCP报文头部到底有那些信息,阅读后续内容时有任何模糊的地方都可以回来这里查看梳理发送方端口:发送网络包程序的端口号接收方端口:接收网络包程序的端口号序列号:也叫序号(seq),发送数据的顺序编号。发送方告知接收方数据包有多少个字节。确认号:也叫ACK号(ack),接收数据的顺序编号。接收方告知发送方已经收到所有数据的第几个字节。首部长度:也叫数据偏移量。表示数据部分的起始位置。保留:暂时没用控制位:也叫标志位。上图中蓝色部分,又叫标志位。
2024-02-19 18:11:22
2036
1
原创 面试官:说说Redis的SDS底层实现原理
该文章已面试场景进行叙述,场景纯属编造,请勿当真!大家好,我是徐志斌。现在找工作真的好难,今天我早早的来到了面试现场,这家公司的HR小姐姐也是很热情的接待了我。正当在会议室中沉浸在和HR姐姐聊天的喜悦中时,沉重的脚步声慢慢走来。只见一个身穿格子衫的秃头大哥抱着笔记本走进来,一看就是公司的技术大佬,我就知道今天的面试怕是凶多吉少。
2023-11-07 22:04:06
437
1
原创 Docker部署SpringBoot +Vue项目流程详解(含域名 + HTTPS)
本次整体部署操作使用阿里云服务器,这里我选择的是香港地区的2核2G ECS(可以省略域名备案操作)。NginxMySQLRedis后端项目前端项目。
2023-10-22 17:17:31
3073
1
原创 【LarkDay】UE开发者沙龙活动回顾
更进一步说,随着技术的迅速进步,现代的3D/XR应用开始集成更加复杂的物理效果、真实的光线追踪、以及更高级的材质和纹理,这无疑进一步增加了渲染的复杂性。在下面的分享中,首先,我会从实时云渲染解决方案LarkXR的系统架构入手,为大家简要介绍实时云渲染的技术路线;第二,我会详细讲解LarkXR根据多年的行业实践沉淀的多场景功能组件,最后我会与大家分享LarkXR与UE的合作以及像素流送插件的产品化、商业化的实践,并展示LarkXR的多样丰富的交付方式及交付体验。此模式非常适合教育场景。
2023-09-05 15:58:37
410
原创 【‘Not enough space‘ (errno=12)】通过swap扩容,解决内存溢出
扩容可用的运行内存空间,首先声明扩容的内存容量(本次我扩容大约。今天使用Docker部署Kafka时,发现启动失败,通过。删除swap空间,然后重新设置上述流程!注意:如果之前配置设置错误,可以通过命令。
2023-05-13 16:59:55
1931
3
原创 【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解
低于3个月使用期的服务器不可以备案(不可以使用域名访问),我购买的是7天有效期,服务器地址为。:中国大陆的阿里云服务器(套餐为3个月以上),想要使用域名访问服务器需要。将下载好的 SSL 证书上传到服务器中。,具体购买流程这里不做过多讲解。将下载好的 SSL 证书放到。(SSL证书和域名进行绑定)(域名和IP进行绑定)
2023-05-01 18:01:00
2474
原创 【本地项目】上传到【GitLab】流程详解
文件,该文件中存放了SSH密钥内容,将密钥内容粘贴到GitLab中,点击。注意:本篇文章中提到的上传流程所需要的命令,几乎在GitLab的。这样,我们的本地项目就成功上传到GitLab中了。执行完命令后,需要连续回车三次,最后会在。
2023-02-09 20:32:59
16326
3
原创 解析JVM类加载器
类加载过程中,加载阶段第一步操作就是通过一个类的全限定名获取此类的二进制字节流。实现这个动作的代码就是类加载器。任意一个类都必须由加载它的类加载器和这个类本身共同确定类在JVM中的唯一性,每个类加载器都拥有独立的类名称空间;所以即使两个类来自于同一个Class文件,被同一个JVM加载,只要加载它们的类加载器不同,这两个类就必定不相等。站在Java虚拟机角度来看,只存在两种不同的类加载器:JDK9之前,绝大多数Java应用都会使用一下三个系统提供的类加载器进行加载:当然还可以加入自定义类加载器进行拓展,例如
2023-01-26 19:39:34
487
1
原创 深入剖析JVM垃圾收集器
深入理解Java虚拟机》垃圾收集器是GC的实践者,目前常用经典的垃圾收集器有7款,如下图所示:收集器之间的连线说明可以搭配使用,JDK9标识代表在该版本官方已经不支持配合使用了!接下来逐一介绍这几款垃圾收集器。
2023-01-23 20:56:21
748
原创 Arthas诊断追踪性能案例
阿里巴巴开源的Java诊断工具,基本使用场景是定位复现一些生产环境比较难以定位问题。可以在线排查问题,以及动态追踪Java代码,实时监控JVM状态等等。
2023-01-01 15:08:22
1561
原创 【K8S】NFS网络文件系统搭建流程
前置环境:三台云服务器,部署了1Master 2Worker的K8S集群。接下来,我们将要搭建NFS文件系统(类似于主从同步的方式)出现下图,说明/nfs/data目录暴露在外,上述配置成功。每个Worker节点执行。
2022-10-13 20:27:27
977
原创 【K8S】部署Ingress流程详解
如果看到这样的场景,说明Ingress部署成功了!集群配置:1Master,2Worker。编辑文件过程中搜索命令:" / "
2022-10-12 21:50:00
1406
1
原创 Worker节点加入K8S集群报错:error execution phase preflight: couldn‘t validate the identity of the API Server
Kubernetes的Bug场景
2022-10-08 22:47:37
2134
原创 线程锁(ReentrantLock、synchronized)为何不能用作分布式锁
1、为什么使用分布式锁分布式锁主要应用在大型的分布式架构场景,分布式架构可以简单理解为将一个Web应用,部署在多个应用服务器上:分布式锁适用于分布式架构场景,例如:商品秒杀抢优惠卷如果没有保证线程安全,就可能会出现商品超卖、优惠卷发超等现象,例如下图代码:我们会判断商品库存是否大于0,如果有库存就会将库存 - 1,不过有个问题,如果同时有多个用户(多线程)同时发送请求给接口,例如三个用户同时请求接口,同时获取商品库存、扣除库存,很有可能商品库存最终只扣除1次,这时候数据安全性就得不到保障
2022-05-18 12:46:37
2704
原创 Tomcat肥猫越来越胖,干崩了我的云服务器
文章目录问题描述解决方法解决方式问题描述一个月前,我申请了一年的2核4G的腾讯云服务器,将一个单体架构Java应用部署到这台新开封的云服务器上面,就在今天,我依然一如既往的访问了一下服务器(想好好欣赏一下),但是事与愿违,它挂掉了。。接着我通过 ping 命令来访问自己的服务器ip地址,结果发现可以ping通(服务器正在运行),这就奇怪了,昨天还能访问的网站为什么今天就没办法访问了?不服气,我登陆了腾讯云官网,查看了一下自己的服务器状态,发现确实没有任何问题。突然我发现了一个醒目的地方,我的系统盘
2022-05-05 17:26:05
1979
7
原创 深入理解JUC之Synchronized原理
文章目录1、理解Synchronized2、理解Java对象头3、Monitor管程(监视器)4、Synchronized进阶原理4.1、偏向锁4.2、轻量级锁4.3、重量级锁1、理解SynchronizedSynchronized是JDK为我们提供的锁,主要用于处理线程安全问题,线程安全问题的根本原因是线程上下文切换,导致字节码指令的交错,我们通过Synchronized保护共享资源,在并发场景下,采用上锁的方式使得资源只能某个时刻只能被一个线程操作,这样防止多个线程同时操作共享资源导致的错误问题,保
2022-04-06 20:13:21
1165
原创 并发事务问题与事务隔离级别
文章目录1、什么是事务2、并发事务所遇到的问题2.1、脏读2.2、不可重复读2.3、幻读3、事务隔离级别该技术博客根据B站黑马MySQL教程做的笔记总结希望能为大家带来帮助!感谢你的三连1、什么是事务学习并发事务之前,需要理解什么是事务:事务:一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。例如转账案例,A账户给B账户转账1000元,那么A账户就会失去1000元,B账户增加1000元,那么这两
2022-03-18 18:34:31
2082
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人