自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

matrixlzp的博客

当机器像人一样思考,编程技巧将会过时

  • 博客(100)
  • 资源 (1)
  • 收藏
  • 关注

原创 Nacos config 配置中心 基于 profile 配置

在使用 Nacos 配置中心的时候,如果遇到多套环境下的不同配置,其实有很多种解决办法:1、一种是基于命名空间的方案。2、另一种,则是基于 profile 的方案。

2025-04-01 16:10:11 614

原创 Nacos config 配置中心权限管理

记得 开启 权限校验,其他的在界面操作就可以,很简单。

2025-04-01 11:00:04 213

原创 Nacos config 配置中心 快速开始

spring.cloud.alibaba.com 已移步到 sca.aliyun.com,所以官方案例。的基础上新建一个子模块,名字叫 nacos-config。可以看到配置信息几乎实时被修改。可以看到配置信息被正确读取到。记得在父工程添加模块。注意选择自己的版本。

2025-04-01 10:55:31 934

原创 IDEA 接入 Skywalking Agent ClassNotFoundException

使用 VM options:第一次启动报:改为:上报成功》》

2025-03-27 17:13:31 483

原创 不负热爱--10 万次访问纪念~~

所以,对于一些主流的微服务技术,把它们学好、学精,写写博文,做做笔记,既方便知识的传播,又方便自己以后查阅,还是很有必要的。不同的是,淘宝店卖的是商品,博客卖的是你这个人。有些东西,如果我们自己写出来的时候,都一知半解的,那么分享出来,轻则贻笑大方,重则误人子弟。当时公司叫我落地Sonarqube,优快云 找了一圈,发现都是基于流水线的,后来自己尝试基于 Git hook 实现了一版,发现效果不错,所以写了一篇博文记录了一下,没想到有 2 千多的访问量,后面就开始陆陆续续、认认真真地写博客了。

2025-03-19 16:41:12 369

原创 Java 生成图形验证码

图形验证码是一种广泛应用于互联网领域的安全验证机制,它通过向用户展示包含字符、数字、图形等信息的图片,要求用户正确识别并输入其中的内容,以此来区分用户是人类还是机器程序。今天,我们来分析一下 vue3-element-admin 前后端代码,以便抽离出一套通用的图形验证码实现。vue3-element-admin 的前后端环境搭建,可以看。让我们致敬开源的力量!

2025-03-11 16:46:06 709

原创 vue3-element-admin 前后端本地启动联调

点击验证码,能进入后端 com.youlai.boot.shared.auth.controller.AuthController#getCaptcha 断点中,就证明前后端启动成功,可以愉快地玩耍拉~~脚本完成数据库创建、表结构和基础数据的初始化。修改MySQL、Redis连接为本地配置;的 main 方法完成后端项目启动;验证项目启动是否成功。

2025-03-11 12:28:30 520

原创 Docker 安装 Nacos 2.1.1(单机版)

例如,在上面的例子中,Nacos 容器可以通过 mysql 这个名称来访问 MySQL 容器,而不需要知道其具体的 IP 地址。此外,当某个容器重启后,它的 IP 地址可能会改变,但是容器名称不会变,因此使用名称来进行容器间通信更加稳定可靠。这里的 mysql_nacos_network 是你的自定义网络的名字,你可以根据需要更改它。这种方式适合于 mysql 容器已经创建,且没有创建网络的情况,当 mysql 容器重启时,IP 是会变的,这个时候,nacos 就连不上了。注意不能写 127.0.0.1。

2025-03-06 23:56:50 1076

原创 Docker 安装 Mysql 8.0.30

【代码】Docker 安装 Mysql 8.0.30。

2025-03-06 16:22:15 181

原创 Docker 安装 minio

【代码】Docker 安装 minio。

2025-03-06 15:33:25 308

原创 Docker 安装 Redis 7.0.10

因为该配置和 docker run 中 -d 参数冲突,会导致容器一直启动失败,所以要设置为 no,默认也是 no。1、允许 redis 远程连接,开启表示绑定本机IP,所以必须注释掉。2、开启 redis 验证,开启表示远程连接 redis 需要密码。daemonize yes 表示后台运行。持久化,默认 no,可打开。

2025-03-06 14:06:36 914

原创 Docker 安装常用软件集合

Docker 安装 Mysql 5.7Docker 安装 RabbitMQ 3.12.0

2025-03-06 10:29:47 155

原创 Docker 安装 Rabbitmq

【代码】Docker 安装 Rabbitmq。

2025-03-06 10:03:23 521

原创 Python 课堂点名桌面小程序

人生苦短,我用 Python

2025-02-28 17:43:08 442

原创 Java 调试模式下 Redisson 看门狗失效

前几天在做分布式锁测试:在调试模式下,lock.lock() 之后打上断点,想测试一下在当前线程放弃锁之前,别的线程能否获取得到锁。发现调试模式下,看门狗机制失效了,Redis 上 30 秒后,锁就没了:看门狗失效尝试改为 Thread.sleep 之后就可以了:看门狗正常会现有一个 30 秒的锁,倒计时到 20 秒的时候,又续期为 30 秒,就这样跑了 40 秒以后,锁释放。

2025-02-27 13:58:11 296

原创 Spring Retry 实现乐观锁重试

一张简单的秒杀商品SKU表。使用 version 字段做乐观锁。使用 unsigned 关键字,限制 int 类型非负,防止库存超卖。该方法的目的,是为了进行库存更新,当乐观锁版本号有冲突时,对方法进行休眠重试。该方法在测试环境还能正常跑,到了生产环境,却频繁报"请刷新后重新取消!仔细分析后发现,测试环境的MYSQL数据库全局隔离级别是,READ-COMMITTED(读已提交)。而生产环境是 REPEATABLE_READ(可重复读)。

2025-02-26 17:49:49 711

原创 K8S Deployment 实现 金丝雀(灰度) 发布

Deployment pause 的金丝雀发布是一种伪金丝雀发布。在滚动升级过程中,想要在⼀个确切的位置暂停滚动升级无法做到。无法实现流量的按比例分配。需要恢复更新才能执行回滚。相当于将有问题的版本全部更新完才能回滚,将影响面扩大化了。在现代云原生环境中,有许多其他工具和技术可以帮助实现金丝雀发布,如Kubernetes的服务网格Istio、负载均衡器配置等。这些工具允许细粒度控制流量分配,使得从A/B测试到完整的金丝雀发布变得更为容易实现。

2025-02-06 12:30:48 1027 2

原创 K8S Deployment 控制器 理论+代码+图例=深入浅出

今天我们来实验 Deployment 控制器(也叫工作负载)。Deployment 是一个非常重要的资源对象,它为 Pod 和 ReplicaSet 提供了,常用于管理无状态应用程序的部署和更新。为 Pod 和 ReplicaSet 提供了声明式的更新能力。所谓指的是用户只需描述,比如定义 Deployment、Service 等资源的 YAML 文件,详细说明资源的属性、副本数量、使用的镜像等信息。Kubernetes 系统会自动对比当前资源的和,然后采取必要的操作,使逐渐趋近并最终达到。

2025-02-05 22:30:41 856

原创 K8S Deployment 实现 蓝绿 发布

蓝绿发布(Blue - Green Deployment)是一种软件部署策略,旨在最大程度减少应用程序停机时间,确保新老版本系统平稳过渡。

2025-02-05 15:18:09 1112

原创 K8S ReplicaSet 控制器

metadata:spec:selector:template:metadata:labels:spec:ports:replicas: 3 副本为3image: hellok8s:1.0 镜像的版本是 1.0selector.matchLabels 必须跟 template.metadata.labels 相匹配。执行并查看# 查看 rsDESIRED 表示期望的副本数是 3。CURRENT 表示当前在运行的副本数是 3。READY 表示当前就绪的副本数是 3。查看 Pod。

2025-01-31 12:03:03 1077 1

原创 K8S 启动探测、就绪探测、存活探测

官网介绍如下1、启动探测 startupProbe检查容器内的应用是否已启动。如果配置了启动探测,它会禁用存活探测和就绪探测,直到启动探测成功为止。如果启动探测失败,kubelet 会将容器杀死,并依据容器重启策略进行重启。如果容器没有提供启动探测,则默认状态为 Success(成功)。这类探针仅在启动时执行,不像存活探针和就绪探针那样周期性地运行。2、就绪探测 readinessProbe决定何时容器准备好开始接受流量。

2025-01-23 16:07:54 1467 1

原创 K8S 容器重启策略

今天我们来实验容器重启策略。如下:Pod的spec中包含一个字段,其可能取值包括Always、OnFailure和Never。默认值是Always。Pod的重启策略(restartPolicy)应用于Pod中的应用容器(也叫主容器,spec.containers定义的容器)和常规的Init容器(初始化容器)。AlwaysOnFailureNever所谓容器终止,就是指容器内运行的主进程终止。假设有如下三个节点的K8S集群:k8s31master是控制节点。

2025-01-19 22:57:29 1244

原创 K8S 亲和性与反亲和性 深度好文

今天我们来实验 pod 亲和性。官网描述如下:一、镜像准备1.1、镜像拉取docker pull tomcat:8.5-jre8-alpinedocker pull nginx:1.14.21.2、镜像导出docker save -o tomcat-8.5-jre8-alpine.tar.gz docker.io/library/tomcat:8.5-jre8-alpinedocker save -o nginx-1.14.2.tar.gz docker.io/lib

2025-01-16 21:29:11 1128 1

原创 K8S 节点选择器

给某个资源打上标签语法:kubectl label [pod|node] 资源名称 key1=value1 key2=value2nodeName 使用节点名称进行匹配nodeSelector 使用节点标签进行匹配同时使用 nodeName 跟 nodeSelector 需要都满足,pod 才能被正确调度删除资源的标签语法:kubectl label [pod|node] 资源名称 key-

2025-01-15 14:57:17 1458 1

原创 Docker save load 镜像 tag 为 <none>

使用docker save -o 镜像文件 镜像ID容易丢失 tag 信息。推荐使用docker save -o 镜像文件 镜像TAG的方式来导入导出镜像。

2025-01-14 20:44:40 551

原创 Linux 给命令创建别名 alias,提高运维效率

最简单和最常用的方法是使用 alias 和 shell 函数来创建命令的缩写。对于大多数用户来说,这两种方法已经足够满足日常需求。

2025-01-08 17:17:47 992

原创 CentOS7 kubeadm 安装 k8s1.31.3

不过需要注意的是,ntpdate 已经被认为是过时的工具,在较新的 Linux 发行版中推荐使用 chrony 或 systemd-timesyncd 来代替,这些工具提供了更先进的特性和服务管理功能,可以持续保持系统时间的准确性。kubelet: 安装在集群所有节点上,用于启动Pod的,kubeadm安装k8s,k8s控制节点和工作节点的组件,都是基于pod运行的,只要pod启动,就需要kubelet。taints: 控制节点的 taints,即节点的标记,用于限制哪些 Pod 可以调度到该节点。

2025-01-06 18:03:45 622

原创 Linux 中 sysctl 和 systemctl 有什么区别?

sysctl主要用于调整内核参数,影响的是操作系统的核心行为。systemctl则是 systemd 的接口,用于控制系统和服务的状态及生命周期。两者虽然名称相似,但功能和应用场景完全不同。

2025-01-02 22:45:57 578

原创 Linux 系统中 .d 目录有什么用?

d目录是 Linux 系统设计中的一个重要概念,它体现了 Unix 哲学中的“一切皆文件”原则,并促进了配置管理的灵活性和可维护性。理解.d目录的工作方式可以帮助你更好地组织和管理系统的配置,同时也让你更容易理解和调试复杂的系统设置。

2025-01-02 20:50:12 747

原创 Linux 中 > 和 >> 的区别 一文搞懂

要搞清楚 > 和 >> 的区别,首先要先搞清楚,什么是文件描述符?

2024-12-31 17:35:36 2250

原创 Linux 笔记 SELinux 常见操作与介绍

SELinux(Security-Enhanced Linux)是 Linux 操作系统中的一种安全模块,旨在提供更细粒度的访问控制。它最初由美国国家安全局(NSA)开发,目的是增强 Linux 系统的安全性。SELinux 通过强制访问控制(MAC, Mandatory Access Control)来补充传统的自主访问控制(DAC, Discretionary Access Control),从而限制进程和用户只能访问它们明确被允许访问的资源。

2024-12-29 22:14:59 969

原创 Linux 笔记 /etc 目录有什么用?

etc 全称是杂项的意思。etc 目录是一个专门存放配置文件的标准位置。

2024-12-27 15:36:26 447

原创 Java 责任链模式 减少 if else 实战案例

先说缺点:责任链的缺点,是造成类的膨胀。大家仔细观察上面的代码,会发现,责任处理类,好像是把刚开始的 if else 伪代码,分到一个个处理类里面去了而已。而且使用设计模式,它甚至并没有提高代码的执行效率。优点:写代码并不是做外包,写完就扔,它还得考虑可读性、可维护性和可扩展性。可维护性和可扩展性的前提,就是可读性。一段代码如果过几天,连自己都看不明白,那这种代码,它基本就没有什么可维护性了。

2024-11-14 10:59:54 1117

原创 Java Iterator 实现杨辉三角

【代码】Java Iterator 实现杨辉三角。

2024-11-03 23:59:37 426 1

原创 Python generator 生成杨辉三角

先看来自于。

2024-11-03 21:43:16 494

原创 Python 常见 Iterable 可迭代对象(建议收藏)

我们知道,可以直接作用于for循环的对象,像 list,tuple,dict 等;统称为 可迭代对象:Iterable。那 Python 中有哪些常见的 可迭代对象呢?可以通过模块的Iterable类型判断。

2024-11-02 00:05:03 1642

原创 Python 中 {} 是 set 还是 dict

魔鬼隐藏在细节。1、{} 是 dict2、可以使用 x = set() 创建一个空集合。

2024-10-28 11:43:30 316

原创 Python 判断键是否存在字典中(新手入门、实战案例)

过尽千帆,依然算法。1、在Python3中,方法已经被废弃,不能再被使用。2、在实际开发中,可以使用in关键字或dict.get()方法来判断键是否存在。3、推荐用 in 关键字,简洁、高效,不容易出错。

2024-10-26 21:50:18 716

原创 Python URL编码

在 Python 中,可以使用模块对 URL 进行编码。

2024-10-24 23:06:10 637

原创 Python list 数据去重 (新手入门、实战案例)

如果按列表原来的顺序,输出应该是 [5, 4, 3, 2, 1],结果是 [1, 2, 3, 4, 5]假设有这么一个列表 ['厦门中山路', '厦门医学院', '厦门鼓浪屿', '厦门软件园']['厦门', '中山路', '医学院', '鼓浪屿', '软件园']这种方法简单快捷,但会改变列表中元素的顺序,因为集合是无序的。希望找出列表中的中文分词,并输出无重复分词。

2024-10-24 09:41:24 427

sonar-scanner-cli-5.0.1.3006-linux.zip

sonar scanner linux

2024-03-11

datax Cassandra 导入 lindorm 引擎

github上的 datax lindorm 引擎的 writter 暂时不支持 BIGINT 类型导入,这个包是找阿里客服定制的。

2024-02-03

自己动手写Struts.pdf

自己动手写Struts.pdf 只有从第四章开始,挺好的一本书。如果大家喜欢的话,可以去当当网买,我本人也买了一本,就是工作的时候看pdf不教快。对于有兴趣研究Struts源码的朋友很有帮助。

2013-05-04

空空如也

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

TA关注的人

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