自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven随笔

Maven 是 Apache 旗下的一个开源项目,是一款用于管理和构建项目的工具,它基于项目对象模型(Project Object Model,简称: POM) 的概念,通过一小段描述信息来管理项目的构建、报告和文档。

2024-11-03 00:08:26 1424

原创 Linux命令

比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。通常情况下是采用“[n1[n2]]”操作参数的格式。为Linux中的文本编辑器,vim是vi的加强版,不仅能编辑文本而且还具有 shell 程序编辑的功能,可以用不同颜色的字体来辨别语法的正确性,极大方便了程序设计和编辑性;

2024-11-01 02:17:27 990

原创 Git 总结

希望本文可以更好的帮助你在工作中更加有效的使用Git。另外附上一张包含常用 Git 命令大全的表格(来源Chat,不一定准确)。命令名称描述用法示例其他相关信息git init初始化一个新的 Git 仓库git init在当前目录创建一个新仓库git clone克隆一个远程仓库到本地git add将文件添加到暂存区git add .git commit提交暂存区中的更改到仓库添加 -a 参数可以跳过暂存区直接提交所有更改git status显示工作目录和暂存区的状态git status。

2024-10-14 00:11:23 1610

原创 文件的上传下载

老文章,仅换为md格式

2025-05-24 01:07:42 681

原创 PostgreSQL数据类型

PostgreSQL 的数据类型系统是其强大灵活的基础之一,既覆盖传统 SQL 标准,也支持现代开发需求如 JSON、数组、范围、网络等。合理选择数据类型,不仅可以提升系统表达力和执行效率,还能提升数据一致性和开发体验。在实际设计表结构时,应结合业务需求、数据特点、未来可扩展性,选择合适的数据类型,不应该选择过于复杂的类型,相反,应该越简单越好(数值、字符、日期)。

2025-05-03 19:43:01 891 1

原创 PostgreSQL初试

PostgreSQL 是一个功能强大、开源的对象-关系型数据库系统,以其可靠性、数据完整性、可扩展性而著称,底层使用 C 语言实现。它采用与 Linux 内核相同的开源协议 ——BSD 协议。这一协议非常宽松,与 MIT 协议类似,允许你在遵守基础条款的前提下进行二次开发,甚至将其商业化并收费。自 1986 年起由加州大学伯克利分校开始开发,PostgreSQL 目前在全球范围拥有活跃的社区和商业支持。PostgreSQL 最初的前身是名为 Ingres 的数据库系统。

2025-05-02 01:08:15 890 1

原创 SkyWalking链路追踪

随着系统设计变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。往往前端的一个请求需要经过多个微服务、跨越多个数据中心才能最终获取到结果,如下图并且随着业务的不断扩张,服务之间互相调用会越来越复杂,这个庞大的分布式系统调用网络可能会变的如下图所示:那随之而来的就是我们将会面临的诸多困扰:问题定位:当某一个服务节点出现问题导致整个调用失败,无法快速清晰地定位问题服务。

2025-04-22 12:40:30 1127

原创 ELK日志系统

ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎;Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。Elastic Stack 是 ELK Stack 的更新换代产品。

2025-04-19 12:35:47 962

原创 RocketMQ5.0环境搭建

RocketMQ5.0为了更好地拥抱云原生,引入了全新的弹性无状态代理模式,将当前的Broker职责进行拆分,对于客户端协议适配、权限管理、消费管理等计算逻辑进行抽离,独立无状态的代理角色提供服务,Broker则继续专注于存储能力的持续优化。这套模式可以更好地实现在云环境的资源弹性调度。Master与 Slave 的对应关系通过指定相同的BrokerName,不同的Brokerld 来定义,Brokerld为0表示Master,非0表示Slave,Master也可以部署多个。

2025-04-14 06:00:00 783

原创 分布式文件存储系统FastDFS

FastDFS是余庆(国人,淘宝)开发的一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS是一个轻量级的开源分布式文件系统。

2025-04-09 18:24:25 1259

原创 大文件断点续传

根据上传视频流程,定义接口,与前端的约定是操作成功返回{code:0}否则返回{code:-1}。@Api(value = "大文件上传接口", tags = "大文件上传接口")@ApiOperation(value = "文件上传前检查文件")@ApiOperation(value = "分块文件上传前的检测")@ApiOperation(value = "上传分块文件")@ApiOperation(value = "合并文件")

2025-04-08 21:26:57 951

原创 Minio文件系统

MinIO是全球领先的对象存储先锋,是一个非常轻量的服务,可以很简单的和其他应用的结合使用。高性能,在标准硬件上,读/写速度上高达183GB/秒和171GB/秒,拥有更高的吞吐量和更低的延迟可扩展性,为对象存储带来了简单的缩放模型,通过添加更多集群可以扩展空间简单,极简主义是MinIO的指导性设计原则,即可在几分钟内安装和配置与Amazon S3兼容,兼荣亚马逊云的S3 API(接口协议/云存储服务接口)是在全球范围内达到共识的对象存储的协议,是全世界内大家都认可的标准数据安全。

2025-04-07 16:57:57 818 1

原创 Frame Of Reference压缩算法

Frame of Reference(FoR)压缩算法 是一种用于压缩数值数据的算法,特别是在处理大规模数据集时,利用数据的局部性和重复性来减少存储和传输的开销。该算法通常应用于数据库、数据压缩、信号处理、以及大数据分析等领域。Frame of Reference压缩算法 的核心思想是,通过将数据的最小值作为参考点,将所有数据与这个参考点进行偏移,然后存储相对值(即“偏移量”)。这样可以有效地减少需要存储的数字位数,尤其是在数据的范围比较小且有较多重复值时,能够显著提高压缩率。

2025-04-05 19:37:26 1088

原创 K8s的BackUP备份

同理,如果 Kubernetes API 中显示存在对应的备份资源,但存储桶中没有格式正确的备份文件,那么就认为资源备份失败或是产生错误,将其清理掉。确认文件消失后再执行恢复操作,如果一直监控当前命名空间 Pod 的恢复状态会发现存在 Init 状态,也就是说恢复数据的操作是一个 init 容器去做的,另外如果去观察 Minio 中备份文件的大小会发现仅有 4MB 左右的大小,这是因为 100MB 的数据文件是通过大量重复字段创建的,所以经过压缩算法压缩后的效果非常好。作为对象存储服务,存储备份信息。

2025-04-05 16:42:35 862

原创 K8S自定义CRD

例如,你想在 Kubernetes 集群中运行一个 messaging 代理,只需要创建一个队列资源实例,而自定义队列控制器将自动完成所需的 Secret、Deployment 和 Service。我们只需要根据监听到的消息做出动作即可,自定义案例逻辑:只需要提供 Website 类型资源清单文件,我们就直接自动创建好对应的 deployment、Service,还能根据给出的 gitRepo 准备好。我们能使用自定义控制器观察高阶对象,并在这些高阶对象的基础上创建底层对象。发起对当前接口的监听。

2025-04-03 11:45:00 1988

原创 使用状态机优化系统

状态机(State Machine)是一种数学模型,用于描述一个系统在不同状态之间的转移和行为。状态机由一组状态、状态间的转移(或称为“边”)以及触发这些转移的事件组成。它广泛应用于计算机科学、工程、自动化、编程语言等多个领域。

2025-02-26 18:34:17 1026

原创 PageHelper分页插件

pagehelp分页插件小记

2025-02-18 20:45:52 416

原创 HELM.

在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理Helm 本质就是让 K8s 的应用管理(Deployment,Service 等)可配置,能**动态生成**。通过动态生成 K8S资源清单文件(deployment.yaml,service.yaml)。然后

2025-02-18 20:27:54 774

原创 微信小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ex

微信小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json

2025-02-03 21:43:46 1336

原创 EhCache缓存

在查询数据的时候,数据大多来自数据库,咱们会基于SQL语句的方式与数据库交互,数据库一般会基于本地磁盘IO的形式将数据读取到内存,返回给Java服务端,Java服务端再将数据响应给客户端,做数据展示。但是MySQL这种关系型数据库在查询数据时,相对比较慢,因为有磁盘IO,有时没命中索引还需要全盘扫描。在针对一些热点数据时,如果完全采用MySQL,会存在俩问题。第一个MySQL相对很脆弱,肯能会崩,第二个MySQL查询效率慢,会采用缓存。

2024-12-28 12:15:00 943

原创 RockyLinux介绍及初始化

Rocky Linux 是一款开源的企业级 Linux 操作系统,旨在为用户提供一个功能强大、稳定可靠的企业级操作环境。它是 CentOS 项目停止稳定版本支持后(即 CentOS Stream 转型为滚动版本更新模型)诞生的替代品之一,由 Rocky Enterprise Software Foundation (RESF) 开发和维护。在 CentOS Stream 宣布成为一个滚动发布的操作系统后,许多企业和用户需要一个稳定、长生命周期支持的 Linux 发行版。

2024-12-27 12:30:00 1388

原创 Jenkins集成Kubernetess

在本文中,详细介绍了如何将 Jenkins 与 Kubernetes 集成,以实现自动化的 CI/CD 流程部署。通过这种集成,可以充分发挥 Kubernetes 的弹性扩展能力与容器化优势,以及 Jenkins 强大的任务管理和插件支持能力。Jenkins 与 Kubernetes 的集成适用于需要频繁交付、高并发构建任务的团队,特别是在微服务架构或云原生开发环境中。

2024-12-27 12:00:00 1491

原创 Gitlab私服管理员账户忘记密码

记得密码设置的是******,但是登录时一直出现错误,查看初始的密码也发现由于已经设置过了密码,初始密码文件也被删除了,只能重置了。如果密码忘记了登录不进入,可以先尝试点击登录框下方的忘记密码来通过邮箱的方式找回,但是要是就这么找回了也就不会有这篇博客了。虽然我的Gitlab是容器化部署的,但基本流程都是一样的,并不影响,查看当前容器。进入gitlab控制台,如果卡住可以多等一会。接下来就可以返回gitlab登录界面重新登录。重置密码并保存用户对象(设置自己的密码代替。切换到git用户目录下。

2024-12-26 12:30:00 1255

原创 Kubernetes快速部署(v1.31.4)

然后就是固定主机IP地址(略),设置主机名和地址映射,这里以一个master、一个worker为例。将系统升级到最新,可以使用阿里源镜像站,本教程使用CentOS7系统(考虑大量用户使用的版本)如果使用的是虚拟机最好不要拷贝,因为需要保证节点之中不可以有重复的主机名、MAC 地址或。,可以使用下面的方式对它们进行验证,还保证各个节点之间时钟同步。连接kubernetes集群,查看已运行节点,输出。应用资源清单文件,创建operator,注意使用。修改文件第13行,修改为使用。加入节点出现错误使用以下命令。

2024-12-26 12:00:00 1087

原创 SpringMVC的全注解开发

时,容器就会自动发现我们自己的类, 在该类中我们就可以配置 Spring 和 SpringMVC 的入口了。跟之前全注解开发思路一致,xml配置文件使用核心配置类替代,xml中的标签使用对应的注解替代。参照Spring的ContextLoaderListener加载核心配置类的做法,定义了一个。实现类,那么,当web容器启动时就会运行这个初始化器做一些组件内的初始化工作;目前,几乎消除了配置文件,但是web工程的入口还是使用的。接口,实现了该接口后,在对 应的类加载路径的。的类,Spring又提供了一个。

2024-12-25 12:30:00 532

原创 SpringMVC的响应处理

在讲解SringMVC接收请求数据时,客户端提交的Json格式的字符串,也是使用Jackson进行的手动转换成JavaBean ,可以当我们使用了@RequestBody时,直接用JavaBean就接收了Json格式的数据。@ResponseBody注解使用优化:在进行前后端分离开发时,Controller的每个方法都是直接回写数据的,所以每个方法上都得写@ResponseBody。,可以通过 @ResponseBody 注解显示告知此处的返回值不要进行视图处理,是要以响应体的方式处理的。

2024-12-25 12:00:00 1305

原创 SpringMVC的请求处理

手动将 RequestMappingHandlerMapping 也注册到 SpringMVC 容器中就可以了,这样 DispatcherServlet 在进行初始化时,就会从容器中同时获得 RequestMappingHandlerMapping 存储到 DispatcherServlet 中名为 handlerMappings 的 List 集合中,对@RequestMapping 注解进行解析。这么复杂繁琐的配置,是不是看上去有点头大?

2024-12-24 12:00:00 1936

原创 Spring整合第三方框架——自定义命名空间解析原理

1、Schema 文件(XSD 文件)定义自定义标签的语法和结构。用于约束配置文件中自定义标签的合法性。负责解析自定义命名空间的顶级标签。将自定义标签解析为对应的。负责解析具体的标签内容,将其转化为。4、Spring 提供的解析框架Spring 通过和文件注册解析逻辑。

2024-12-24 11:45:00 990

原创 Jenkins流水线

之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不同的方式设置,并且构建过程中整体流程是不可见的,无法确认每个流程花费的时间,并且问题不方便定位问题。Jenkins的Pipeline可以让项目的发布整体流程可视化,明确执行的阶段,可以快速的定位问题。并且整个项目的生命周期可以通过一个Jenkinsfile文件管理,而且Jenkinsfile文件是可以放在项目中维护。所以Pipeline相对自由风格或者其他的项目风格更容易操作。生成自定义镜像并推送到Harbor脚本pipeline {

2024-12-23 12:30:00 1840 2

原创 SpringMVC简介

SpringMVC是一个基于Spring开发的MVC轻量级框架,Spring3.0后发布的组件,SpringMVC和Spring可以无 缝整合,使用DispatcherServlet作为前端控制器,且内部提供了处理器映射器、处理器适配器、视图解析器等组 件,可以简化JavaBean封装,Json转化、文件上传等操作。以前单独就是一个框架与spring平级,现在只是作为一个spring的组件。

2024-12-23 12:00:00 1845

原创 MVC框架思想及其设计思路

原始Javaweb开发中,Servlet充当Controller的角色,Jsp充当View角色,JavaBean充当模型角色,后期Ajax异 步流行后,在加上现在前后端分离开发模式成熟后,View就被原始Html+Vue替代。负责共有行为的Servlet称之为前端控制器(DispatcherServlet),负责业务行为的JavaBean称之为控制器Controller。Java程序员在开发一般都是MVC+三层架构,MVC是web开发模式,传统的Javaweb技术栈实现的MVC如下。

2024-12-22 12:30:00 825

原创 Spring整合Web环境

我们能想到的 Spring 框架自然也会想到,Spring其实已经为我们定义 好了一个ContextLoaderListener,使用方式跟我们上面自己定义的大体一样,但是功能要比我们强百倍,所以 ,遵循Spring “拿来主义” 的精神,我们直接使用Spring提供的就可以了。Spring容器也重复被创建了,不能每次想从容器中获得一个Bean都得先创建一次容器,这样肯定是不允许。如果需要使用这种方式封装框架,还需要考虑上述代码有多处写死的部分,及其冗余,最好定义一个工具类进行封装。

2024-12-22 12:00:00 1284

原创 Spring基于XML配置声明式事务

基于 XML 配置声明式事务适用于老项目或对注解支持有限的环境,但在现代开发中,更多项目倾向于使用注解(如)来实现声明式事务。等价的注解配置文件import com/*** 配置数据源} /*** 配置 SqlSessionFactory} /*** 配置事务管理器。

2024-12-21 12:30:00 1167

原创 Jenkins集成Harbor

前面在部署项目时,我们主要采用Jenkins推送jar包到指定服务器,再通过脚本命令让目标服务器对当前jar进行部署,这种方式在项目较多时,每个目标服务器都需要将jar包制作成自定义镜像再通过docker进行启动,重复操作比较多,会降低项目部署时间。我们可以通过Harbor作为私有的Docker镜像仓库。让Jenkins统一将项目打包并制作成Docker镜像发布到Harbor仓库中,只需要通知目标服务,让目标服务统一去Harbor仓库上拉取镜像并在本地部署即可。

2024-12-21 12:00:00 2063

原创 Jenkins集成SonarQube

Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来Sonar Qube的UI界面。

2024-12-20 12:30:00 1854

原创 CI、CD入门操作

基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署。

2024-12-20 12:00:00 164

原创 Jenkins(Integrate工具)

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现DevOps的核心工具。Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。常态下的Jenkins像个管家安装了大量插件后就会变得很强大Jenkins最主要的工作就是将GitLab上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发布到测试环境或是生产环境。

2024-12-19 12:30:00 1146

原创 GitLaba安装(Code阶段工具)

在编码阶段,我们需要将不同版本的代码存储到一个仓库中,常见的版本控制工具就是SVN或者Git,这里我们采用Git作为版本控制工具,GitLab作为远程仓库。

2024-12-19 12:00:00 703

原创 DevOps介绍

基于现在的互联网现状,更推崇敏捷式开发,这样就导致项目的迭代速度更快,但是由于开发团队与运维团队的沟通问题,会导致新版本上线的时间成本很高。这又违背的敏捷式开发的最初的目的。最终可以给DevOps下一个定义:DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。DevOps的方式可以让公司能够更快地应对更新和市场发展变化,开发可以快速交付,部署也更加稳定。虽然字面意思只涉及到了开发团队和运维团队,其实QA测试团队也是参与其中的。

2024-12-18 12:30:00 570

原创 Docker集成Containerd实现容器管理

目前Containerd主要任务还在于解决容器运行时的问题,对于其周边生态还不完善。所以可以借助Docker结合Containerd来实现Docker完整的功能应用。修改Docker服务文件,以便使用已安装的Containerd。能够查看到一个正在运行的容器,既表示。准备Docker安装YUM源。再观察,发现容器被删除。安装Docker-ce。启动并设置其开机自启动。命令查看正在运行的容器。,本案例中发现添加一个。运行的容器包含在其中。已经成功使用我们自己的。查看是否添加一个新的。

2024-12-18 12:00:00 136

空空如也

空空如也

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

TA关注的人

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