自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s 中 cpu 核数的理解

在 Kubernetes(k8s)编排文件(如 Pod 或 Deployment 的 YAML 文件)中设置的 CPU 核数,。这种抽象设计是为了屏蔽底层硬件差异,,确保资源配额在不同节点上是一致的。的 Pod,在 3GHz 和 2GHz 节点上均获得“相当于 1 个标准核”的算力承诺。

2025-06-12 01:14:26 189

原创 cpu、物理核数、逻辑核数、超线程

以下为核心术语的定义、关系及在 CentOS 中的查看方法:逻辑核1逻辑核2逻辑核3逻辑核4物理核1物理核2CPU芯片超线程技术计算公式:启用超线程:禁用超线程:性能本质:1 个物理核的算力 > 1 个逻辑核(如开启超线程时,2 个逻辑核共享 1 个物理核算力)🔍 三、在 CentOS 中查看命令1. 查看 CPU 型号与物理架构关键输出解析:2. 查看物理核数3. 查看逻辑核数4. 确认超线程状态5. 检测物理核与逻辑核的绑定关系输出示例:

2025-06-12 00:36:10 660

原创 超线程与应用线程的区别

分属硬件层和软件层。

2025-06-12 00:31:54 613

原创 k8s 部署服务常见错误原因

我们可以通过命令来查看 Pod 详情(包括 Probe 配置、事件、容器状态、重启次数等关键信息)。如果采用的健康检查方式是http。

2025-06-11 20:23:54 630

原创 nc、telnet、curl 命令对比

支持应用层协议(主要 HTTP/HTTPS),能够发起完整的请求,得到完整的响应。是否开放(监听),不涉及应用层协议。此时可手动输入 HTTP 请求(如。(常用于调试明文协议)。

2025-06-01 15:10:33 979

原创 telnet 基本用法

是 Telnet 连接成功的明确标志!端口开放 ✅服务可用 ✅连接已建立 ✅您可以开始发送应用层协议数据了下一步操作完全取决于您连接的服务类型。对于 HTTP 服务,建议发送测试请求;对于其他服务,等待协议提示或发送协议命令。

2025-06-01 15:07:56 976

原创 nc 命令示例

nc -zv。

2025-06-01 14:19:00 496

原创 Vim 常用命令

然后按 i 进入插入模式(避免粘贴时丢掉开头部分的文本内容),进行粘贴。

2025-05-27 23:33:39 646

原创 网络段、主机段、子网掩码

简单来说,把 IP 切割成了和两部分。同一网段下的不同主机之间可以互通网络。

2025-05-25 16:45:33 507

原创 ss、lsof 命令

ss(Socket Statistics),用于查看 socket 相关的统计信息。:关联的进程名称和 PID(非 root 权限时,可能有些进程查看不到)。,通过增加 grep <端口号> 命令可以查看应用服务是否正常启动或停用。都是 Linux 系统中用于查看网络和进程信息的工具,但它们的。:代表当前主机的 ip 和端口号。:代表远程主机的 ip 和端口号。示例:Web 服务器监听端口。,可快速定位占用端口的进程。:未建立连接,显示通配符。:服务监听所有网络接口(示例:客户端访问远程服务。

2025-05-22 22:16:45 619

原创 docker容器暴露端口的作用

EXPOSE ≠ 实际开放端口。EXPOSE 仅声明意图,不会自动开放端口到宿主机。必须通过 -p 或 -P 显式映射才能从外部访问。

2025-05-22 22:13:24 413

原创 通过 curl 精准定位问题

建议在遇到 HTTP 接口问题时,优先使用 curl 或 Postman 工具直接测试接口,这将大幅提升排查效率。

2025-05-21 21:55:04 648

原创 ConfigMap 和 Secret 是否支持热更新

在 Kubernetes 中,取决于它们的和。

2025-05-14 22:29:54 353

原创 livenessProbe 和 readinessProbe 最佳实践

在 Kubernetes 中,livenessProbe 和 readinessProbe 是确保应用高可用性的关键机制,但配置不当可能导致应用频繁重启或流量中断。:适合 Web 服务,通过状态码(2xx/3xx 表示成功)判断。对于启动时间较长的应用(如 Java 服务),使用。:仅检查端口是否开放(适用非 HTTP 协议)。

2025-05-13 23:09:40 924

原创 Ingrees 控制器与 Ingress 资源的区别

可以将 Ingress Controller 理解为 nginx,将 Ingress 资源理解为对 nginx.conf 的定义。Ingress 的作用是定义路由规则(如将外部流量路由到集群内的服务),而实际处理流量的 Pod 是由。在 Kubernetes 中,

2025-05-11 23:40:33 836

原创 k8s的节点是否能直接 curl Service 名称

若需让节点直接通过 Service 名称访问服务,需。,使其指向集群的 DNS 服务(如 CoreDNS)。如果不想配置 DNS,可以直接通过。DNS 解析成功后,节点可通过。在 Kubernetes 中,

2025-05-11 17:08:43 694

原创 wget、curl 命令使用场景与命令实践

专注于,支持递归下载、断点续传,适合批量或自动化下载任务。:支持,适合调试 API、上传文件、自定义请求等复杂操作。示例:检查的响应状态码和延迟。

2025-05-11 14:19:40 367

原创 HTTP 错误状态码以及常用解决方案

通过此表格可快速定位问题方向,结合日志和工具进一步分析具体原因。

2025-05-11 13:59:24 607

原创 k8s 资源对比总结

【代码】k8s 资源对比总结。

2025-05-11 12:30:10 1215

原创 k8s 中 deployment 管理的多个 pod 构成集群吗

在 Kubernetes (k8s) 中,,而是属于同一个的多个副本实例。它们的角色是,而非独立的集群节点。

2025-05-07 21:58:21 655

原创 为什么需要启动探针(StartupProb)?

这句话要怎么理解呢?启动探针和存活探针的探针参数都是一样的(例如都有 initialDelaySeconds、periodSeconds 等),那为什么我们还需要启动探针呢?直接用存活探针不行吗?这是由于它们的核心设计目标和行为逻辑存在本质差异,导致存活探针无法完全替代启动探针的配置。

2025-05-03 21:40:18 737

原创 k8s 探针

Kubernetes 中的探针(Probes)用于检测容器的健康状态或就绪状态,确保应用在运行时的可靠性。Kubernetes 提供三种探针类型,它们的核心区别在于。

2025-05-03 20:30:27 679

原创 Oracle 租户、用户、模式之间的关系

Oracle从12c版本开始引入了多租户架构,也就是CDB(容器数据库) + PDB(可插拔数据库)的结构。租户对应​​可插拔数据库(PDB)​​,代表一个独立的数据库实例。所有的这些租户构成了整个容器数据库(CDB)。一个租户又可以包含一个或多个用户,每个用户对应一个模式,而模式可以看做是一个容器,这个容器中包含了各种数据库实体对象,比如表、视图、存储过程等。

2025-04-26 14:32:10 203

原创 Linux 复制、移动命令总结

target 目录不存在时,会生成一个 target 目录,目录下存放的是源 source 目录下所有内容。target 存在时,会将 source 目录及目录下的内容放到 target 目录下。2.移动当前目录下所有内容(不包含当前目录本身)2.复制当前目录下的所有内容(不包含目录本身)1.复制当前目录以及所有内容。1.移动当前目录以及所有内容。3.复制文件到另一台服务器。

2025-04-26 13:42:45 368

原创 Dbeaver 执行 SQL 语句和执行 SQL 脚本的区别

执行 SQL 语句执行 SQL 脚本可以同时执行的 SQL 数量执行单个 SQL执行多个 SQL报错信息是否能定位到行否能建议直接采用 “执行 SQL 脚本” 这种方式。

2025-04-23 00:44:13 562

原创 自定义错误码的必要性

为什么要使用错误码,直接返回一个错误信息不好么?下面介绍一下,在程序开发中使用错误码的必要性~

2025-04-21 22:53:25 296

原创 Oracle 字符类型对比

类型前缀为 “N” 代表使用的是国家字符集,且字符存储时采用 Unicode,且在多语言情况下相同字符所需的存储空间可能更小。类型前缀不带 “N” 代表采用数据库默认的字符集,可能会导致字符存储时不采用 Unicode 编码方式。但一般数据库默认的字符集都是 UTF8 类型的。因此一般用不带 “N” 的类型就可以了。前缀带 “N” 的类型长度 M 代表的都是字符长度,不带 “N” 的类型长度 M 默认都是指字节长度。查看当前数据库默认字符集和国家字符集的方式如下:输出为:可以看到此时默认字符集为 AL

2025-03-08 16:52:18 476

原创 正向代理、反向代理

比如某公司需要从公开网站抓取数据进行分析,但目标网站对同一 IP 的频繁请求有访问频率限制(例如每分钟最多 100 次请求)。为此,开发团队可以部署多个正向代理服务器(如使用 Squid、Nginx 等),每个代理拥有不同的公网IP地址。以下是一个使用 ​Nginx 作为反向代理的典型例子,用于将客户端请求转发到后端服务器,同时隐藏后端服务器的真实 IP 地址并提供负载均衡。这样做的好处是:目标网站看到的是代理服务器的 IP,而非公司内网的真实 IP。而且通过轮换代理IP,避免了单一 IP 被检测和封禁。

2025-03-02 15:25:59 628

原创 MySQL 日志:undo log、redo log、binlog 概述

undo log:记录的是逻辑日志,比如对某一行数据进行了 insert 操作,那么 undo log 就记录一条与之相反的 delete 操作;redo log:记录的是物理日志,记录了某个数据页做了什么修改,比如对 XXX 表空间中的 YYY 数据页 ZZZ 偏移量的地方做了AAA 更新;binlog:记录的是逻辑日志,记录内容是语句的原始逻辑,类似于 “给 ID=2 这一行的 c 字段加 1”;undo log:①用于事务的回滚,保证事务的原子性;②用于 MVCC,实现事务的隔离性;

2025-01-25 10:51:55 888

原创 简单工厂模式、工厂模式、抽象工厂模式、工厂方法模式

工厂模式提供了一种创建对象的方式,而无需指定要创建的具体类,这使得创建对象的过程与使用对象的过程实现了分离。一句话概括工厂模式简单工厂:一个具体工厂类,一个产品抽象类。普通工厂:多个具体工厂类,一个产品抽象类。抽象工厂:多个具体工厂类,多个产品抽象类。生活中的工厂模式简单工厂:一个鼠标工厂,只生产鼠标(可以是不同品牌)。普通工厂:多个不同品牌的鼠标工厂,只生产鼠标。抽象工厂:多个不同品牌的 PC 工厂,即可以生产鼠标、又可以生产键盘。简单工厂模式、普通工厂模式、抽象工厂模式的关联。

2025-01-25 10:51:20 859

原创 Java8 - flatMap() 介绍

在 Java8 中引入了 SteamAPI,其中有一个功能是 flatMap()。它的作用是将一个二维数组处理成一维数组,或者说是将一个 2 级 Stream 处理成 1 级 Stream。举例来说,下面的二维数组可以通过 flatMap() 处理成一维数组。这一过程也可以理解为将 2 级的流展平成了 1 级的流。从语法上来看,我们在 flatMap 中要写的是一个 lambda 表达式(或上图中的方法引用),而这个表达式要做的是将一维数组(比如 Integer[])转成流形式。更多的例子可以参考。

2025-01-24 20:52:25 359

原创 实时、准实时、离线事件

批式事件是指以固定时间间隔(如每日、每小时)处理和分析一批积累的事件数据。批处理对时效性的要求较低,更多用于离线分析、数据聚合或报表生成。准实时事件是指数据从产生到处理和反馈之间允许一定的延迟,通常为。内完成处理和反馈的业务事件。

2024-12-26 21:02:47 810

原创 MySQL 锁概述

InnoDB 的表级锁比较鸡肋,一般不会被用到,重点在于理解 InnoDB 的行级锁。悲观锁:悲观锁是一种思想,顾名思义,就是很悲观,对数据被其他事务的修改持保守态度,会通过数据库自身的锁机制来实现,从而保证数据操作的排它性。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会锁,这样别人再去操作这个数据时就会被阻塞直到它拿到锁(比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁,当其他线程想要访问数据时,都需要阻塞挂起。

2024-12-26 20:44:56 924

原创 InnoDB 事务并发问题

​ 如果我们的一些业务场景不允许读取记录的旧版本,而是每次都必须去读取记录的最新版本,比方在银行存 款的事务中,你需要先把账户的余额读出来,然后将其加上本次存款的数额,最后再写到数据库中。在将账 户余额读取出来后,就不想让别的事务再访问该余额,直到本次存款事务执行完成,其他事务才可以访问账 户的余额。这样在读取记录的时候也就需要对其进行加锁操作,这样也就意味着读操作和写操作也像写-写操 作那样排队执行。所以在多个事务相继对同一条记录进行写操作的时候,需要让他们排队执行,这个过程是通过在内存中创建一个。

2024-12-26 20:42:40 275

原创 InnoDB 查询成本

与之对应的是「基于索引统计数据」来预估记录条数,一般是发生在使用 IN 进行范围查询,且 IN 里面的条件较多时。,然后再计算这两条记录之间有多少记录(记录条数少的时候可以做到精确计算,多的时候只能估算)。如果是走索引,则需要计算需要回表的记录数量,来计算 CPU 成本。记录数量的计算方式为:先获取索引对应的。表的成本常数,可以引导 MySQL 去生成倾向于全表扫描或倾向于搜索索引的执行计划。这里的扇出数实际上就是驱动表经过条件过滤后剩余的记录数。树来计算某个范围区间对应的索引记录条数的方式称之为。

2024-12-19 20:22:32 263

原创 谓词下推、逻辑优化、列剪枝

是数据库查询优化中的一种技术,它将查询中的(通常是WHERE子句、JOIN条件等)尽早地应用到或的过程中(这个过程即),以减少需要处理的数据量,从而提高查询效率。谓词下推的目标是通过在数据访问的早期阶段就过滤不必要的数据,避免从数据源加载大量不符合条件的行,最终减少 I/O 操作和提高性能。优化过程:如果表employees是一个大表,数据库优化器会将这个谓词推到扫描操作之前。优化后的执行计划会首先扫描employees表,并且只读取满足条件的行。优化器推导出查询不需要加载。

2024-12-15 19:49:50 1481

原创 精准率、准确率、召回率

(1)若一个实例是正类,但是被预测成为正类,即为真正类(True Postive TP)(2)若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN)(3)若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP)(4)若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN)

2024-12-15 19:10:03 572

原创 同步调用、异步调用、同步回调、异步回调

在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员帮你买了叫做调用回调函数,送到了你家叫做响应回调事件。其实 3 中方法 b() 能调用方法 callback(),即可以是把类 A 的实例对象传给方法 b(),也可以是把 callback() 方法传给 b()。在方法 a() 中调用方法 b(),方法 b() 中又回过来调用 A 类中的方法 callback()。这里的 funB(),就被称为回调函数。可见,异步调用的好处是:不阻塞线程。

2024-12-15 19:05:21 384

原创 物化视图与普通视图

物化视图与普通视图的主要区别在于:

2024-12-15 18:56:21 393

原创 唯一索引、普通索引的使用场景

对于需要频繁更新的字段,建议用普通索引,因为他能通过使用来提升更新表的性能。此外,如果所有的更新后面,都马上伴随着对这个记录的查询 ,那么你应该关闭。如果数据需要保证唯一性,但业务无法保证,即需要数据库来保证唯一性。那为了业务的正确性,就必须要用唯一索引。对于联表查询的情况,可以考虑将被驱动表的连接字段设置为唯一索引,因为 InnoDB 在选择执行计划前会去计算成本,而唯一索引的成本一般被认为是更低的,那生成的执行计划就会更加偏向于走索引。

2024-12-09 21:23:20 522

druid 和 druid-spring-boot-starter 1.1.13 版本和 1.2.8 版本的 jar 包

本地的电脑一时没法从 maven 仓库直接下下来 druid 的 jar 包,一查全是要积分下载,甚至还有说免费下载结果一进去又要验证码的。。。真恶心人

2023-06-24

空空如也

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

TA关注的人

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