- 博客(173)
- 收藏
- 关注
原创 k8s中的工作负载是什么,都有哪几种类型的工作负载
工作负载工作负载 = K8s 管理 Pod 的不同“运行模式”Deployment:托管无状态服务StatefulSet:托管有状态服务DaemonSet:托管节点全局组件Job/CronJob:托管一次性/定时任务DeploymentDaemonSetJobCronJob。
2026-06-07 12:56:34
376
原创 【高德面试题】如果redis挂了怎么办?应用端如何预防和故障处理
预防核心:本地缓存兜底 + 超时熔断 + 集群避免单点;处理核心:快速熔断 + 限流削峰 + DB兜底 + 异步补偿;恢复核心:预热数据 + 逐步放量 + 监控兜底。
2026-02-23 12:00:46
597
原创 给我简述下线程间通信方式
生产消费模型优先选 BlockingQueue:代码简洁,无需手动处理等待/唤醒,是工业界主流;精准唤醒选 Condition:替代,灵活性更高;简单顺序协调选 join():适用于主线程等待子线程完成;批量同步选 CountDownLatch/CyclicBarrier:适配多线程分阶段执行;线程内数据共享选 ThreadLocal:避免同步问题,注意内存泄漏。
2026-02-17 17:09:08
806
原创 在高并发场景下,java和go有什么区别,比如go语言的channel机制
核心差异:Java 是“线程+共享内存+锁”的并发模型,依赖内核调度,高并发下资源开销大;Go 是“Goroutine+Channel+CSP”模型,用户态调度,轻量级协程支撑百万级并发,Channel 替代锁实现安全通信。Channel 价值:作为 Go 并发的核心,Channel 让 Goroutine 之间的通信更安全、简洁,从设计上规避了共享内存带来的竞态、死锁等问题。选型关键:高并发、低资源占用选 Go;生态丰富、复杂业务选 Java。
2026-02-16 11:38:06
1014
原创 程序员应该如何关注磁盘和网络指标
现象可能原因检查命令关键指标CPU 低,接口慢磁盘 I/O 阻塞%util> 90%,await> 10msCPU 高,接口慢代码死循环/GCtop -H%us高偶尔超时 (P99高)网络丢包/重传retrans/s> 0连接拒绝端口耗尽/连接满TIME_WAIT几万日志写不进磁盘满了df -hUse%100%
2026-02-09 11:55:33
397
原创 做稳定性保障都需要哪些知识
摘要:业务稳定性保障(SRE)是一套涵盖代码、架构和流程的防御体系,核心包括:1)兜底与容灾(降级、熔断、限流);2)容量规划与压测(全链路压测、弹性伸缩);3)可观测性(监控指标、全链路追踪);4)变更管理(灰度发布、回滚机制);5)故障演练(混沌工程、红蓝对抗);6)应急响应(On-Call制度、故障复盘)。目标是实现系统在故障后不仅恢复,还能变得更健壮(反脆弱)。
2026-02-09 11:41:08
537
原创 nodejs有几种模块模式
模块类型语法方式是否同步环境是否现代推荐CommonJS同步Node.js✅(旧项目)ES Module异步Node.js + 浏览器✅(推荐)UMD通用函数封装兼容通用✅(发包)AMD异步浏览器❌(过时)IIFE函数封装同步浏览器❌(古早)
2025-10-30 22:52:49
431
原创 python的包管理工具
Python版本管理工具主要有三种:pyenv类似Go的gvm,支持多版本安装和项目隔离;conda适合科学计算,能同时管理Python和包依赖;asdf是通用工具,支持多种语言版本管理。pyenv最接近gvm,conda适合数据分析,asdf则适合多语言开发者。根据需求选择合适工具即可轻松管理Python版本。
2025-10-11 16:41:51
411
原创 有哪些常用的抓包软件
✅:功能强大,可抓取所有网络流量,包括 HTTP、HTTPS(配合 SSLKEYLOGFILE)等。❌:界面较复杂,新手需要学习基本的过滤规则。
2025-03-19 10:22:20
1126
原创 简述一下grpc和dubbo的区别
gRPC 和 Dubbo 都是高性能的远程调用(RPC)框架,但它们的设计理念、使用场景、通信协议等方面有很大的区别。
2025-03-14 10:26:49
1390
1
原创 Prometheus是如何从otel-collector收取数据的
收集 OpenTelemetry 采集的 Metrics。监控 Java 服务的 Metrics 了!Prometheus 需要配置。✅ Prometheus 通过。✅ 配置 Prometheus。让它定期拉取 Metrics。🚀 这样,你就可以用。
2025-03-13 11:33:39
949
原创 介绍一下skywalking中的三种类型的span
它们分别表示不同的调用场景。理解它们的区别有助于更好地分析和监控分布式系统的调用链。如果有更具体的使用场景,可以告诉我,我可以帮你更详细分析 😊 🚀。(API 请求、RPC 调用)➡ EntrySpan。(HTTP、数据库、MQ)➡ ExitSpan。(计算、日志处理、缓存)➡ LocalSpan。(通常是 HTTP、RPC 等请求)进入。,请求其他微服务、数据库、缓存等。,帮助分析系统性能和排查问题。希望这个解释能帮你理解。假设一个用户请求进入。在分布式追踪系统中,
2025-03-07 11:20:26
825
原创 docker run和exec有什么区别
docker run用来创建和启动一个新的容器,并执行指定的命令。用来在已经运行的容器内执行命令,可以多次对一个容器执行操作。
2025-02-11 12:21:38
1588
原创 yum安装依赖时发现依赖冲突该如何解决
使用跳过冲突的依赖。使用--nobest安装可用版本。升级系统和冲突的包。清理yum缓存。查看冲突的包并手动解决依赖问题。这些方法可以帮助你解决常见的yum依赖冲突问题。
2025-02-11 10:23:46
2274
原创 如何理解云原生
云原生并不是单纯指在云中运行的应用,而是一种现代应用的开发和部署方式,它依赖于容器化、微服务、自动化管理、声明式架构等技术。云原生应用具备灵活性、可扩展性、自动化和高可用性,能够帮助企业更快地响应市场需求,提高开发效率和系统稳定性。
2025-02-10 17:27:12
982
原创 k8s如何查看pod占用的资源
直接查看 Pod 的 CPU 和内存使用情况。:查看 Pod 的资源请求和限制。:定制化输出 Pod 的资源请求信息。:查看节点的资源使用情况,检查 Pod 是否因资源不足无法调度。Prometheus 和 Grafana:使用 Prometheus 收集指标,通过 Grafana 进行可视化和监控。:与 Prometheus 配合使用,提供更多的资源状态信息。通过这些方法,你可以有效地监控和管理 Kubernetes 中 Pod 的资源使用情况,从而优化集群的性能和资源分配。
2025-02-10 15:20:14
3851
原创 如何理解MYSQL中的分区
(称为“分区”)的技术,它能提升查询性能,优化存储管理,适用于。,但数据在底层被分散存储到不同的分区中。MySQL 主要支持以下。
2025-02-07 15:50:43
1237
原创 如何理解数据库中的Cardinality
这样 MySQL 会重新计算索引的 Cardinality,使查询优化器的决策更准确。,用于帮助数据库优化器选择最佳的查询计划。它对索引优化和查询性能有重要影响。命令,可以用来查看索引的基数(级别,基数衡量的是索引列中。主要用于描述数据集合中。,即某个列(或索引)中。性别(gender)性别(gender)索引的基数,而是通过。
2025-02-07 15:02:33
1840
原创 springboot的jar包为什么可以直接运行
Spring Boot 的 包能够直接运行,主要是因为它采用了 Spring Boot Loader 作为自定义类加载器,并且使用了 可执行 JAR(fat jar) 的结构。以下是详细的技术原理:Spring Boot 生成的 JAR 包不是传统的 Java JAR,而是 fat jar(可执行 JAR),它包含:一个典型的 Spring Boot JAR 结构:其中, 目录存放了应用依赖的所有 JAR,而 目录存放应用的代码和资源文件。Spring Boot 的核心组件 提供了一个自定义的类加载
2025-02-06 21:24:39
1014
原创 http状态码5开头和4开头的都有什么区别
网关错误,通常发生在代理服务器或反向代理服务器中,表示从上游服务器接收到无效响应。:服务器内部错误,服务器无法完成请求处理,通常是由于服务器的配置或程序错误。:HTTP 版本不受支持,表示服务器不支持客户端请求的 HTTP 协议版本。:服务不可用,服务器暂时无法处理请求,通常是由于过载或服务器维护。:请求超时,客户端没有在服务器指定的时间内发送完整请求。:客户端发送了过多的请求,超出了服务器的限制。:找不到资源,服务器无法找到请求的资源。:请求无效,服务器无法理解请求的语法。形式表示,每个状态码的。
2025-02-05 18:17:05
1471
原创 四层日志是什么
(用户数据报协议),它们负责在网络中传输数据,并为数据的传输提供可靠性(TCP)或简单的无连接服务(UDP)。OSI 模型是一个标准的网络通信模型,分为七层,而第四层是。它通常用于网络层级的监控、故障排查、流量分析等。(Layer 4 Logs)通常指的是与。,主要负责端到端的通信和数据传输的可靠性。在传输层中,最常见的协议是。主要记录与传输层相关的。
2025-02-05 17:46:47
917
原创 七层日志是什么,和nginx的accesslog是什么关系
中的第七层(应用层)所产生的日志数据。OSI 模型(Open Systems Interconnection Model)将网络通信分为七个层次,其中第七层是。,它记录了应用层(HTTP 协议)中的客户端请求和服务器响应的相关数据。它帮助运维人员和开发者了解 Web 服务器的运行状况,分析用户行为、排查系统问题。是用于记录 HTTP 请求日志的文件,主要用于记录与 Web 服务器相关的。的一种形式,主要记录应用层的访问数据。,负责数据交换、应用程序的通信等。在 Nginx 中,可以通过。
2025-02-05 16:53:56
582
原创 如何优化spark执行效率
Spark 优化是提升分布式计算效率、降低资源消耗和缩短任务执行时间的关键。通过合理使用这些优化策略,可以显著提升 Spark 作业的性能,并充分利用集群资源。优化时应结合业务需求、数据特点和硬件配置进行权衡,避免过度优化带来的复杂性。
2025-01-28 18:24:14
775
原创 eureka介绍
如果你的项目使用微服务架构,并且需要实现服务的自动发现与动态调用,Eureka 是一个非常不错的选择。在微服务架构中,每个服务可能会部署多个实例,Eureka 可以实现自动服务注册和发现,从而使得服务之间能够自动识别并调用。Eureka 客户端在查询服务时,如果发现服务不可用,Eureka 会尝试从集群中选择其他可用的服务。随着负载的增加,Eureka 可以帮助动态添加新的服务实例并更新注册信息,支持服务的自动扩展。框架,通常用于微服务架构中。它主要用于帮助微服务在分布式环境中相互发现并进行通信。
2025-01-21 10:35:08
1509
原创 mac上有没有什么硬盘u盘测速工具
Blackmagic Disk Speed Test 是一款非常流行的硬盘测速工具,它提供简单、直观的界面,能够实时显示硬盘的读写速度。虽然 SpeedTest 是用于测试网络速度的工具,但它也可以测试通过网络连接的存储设备(如 NAS)的带宽和读写速度。AJA System Test 是一款专业的硬盘性能测试工具,特别适用于视频编辑和处理,能够测试硬盘的读写速度。如果你不想安装额外的软件,也可以通过 Finder 和 macOS 的终端来简单测试磁盘的读写速度。根据你的需求,选择合适的工具进行测试。
2025-01-21 10:22:05
8339
原创 Go如何进行垃圾回收
Go 语言的垃圾回收(Garbage Collection,GC)是由其内置的垃圾回收器负责的,它是一种并发标记-清除垃圾回收器,旨在减少开发者手动管理内存的负担,同时提供较高的性能和效率。Go 的垃圾回收器以简单高效著称,开发者无需手动管理内存,大大降低了程序中内存泄漏和悬空引用问题的风险。虽然 Go 的垃圾回收器需要在某些阶段暂停应用程序,但停顿时间通常很短(亚毫秒级),并随着 Go 版本的更新逐渐优化。Go 的垃圾回收器主要负责回收不再被程序使用的内存(即无法访问的对象),以避免内存泄漏。
2025-01-10 10:28:30
1148
原创 空白标识符 _在go语言中有什么作用
在 Go 中的主要作用是占位符,用于表示“我不关心这个值”或“我只需要占个位置但不会使用它”。通过使用,可以让代码更加简洁,避免编译器关于未使用变量或未使用包的报错。
2025-01-09 16:03:53
386
原创 Go语言和哪种语言比较类似
并发模型:Go语言的并发模型受到了Erlang的影响,使用轻量级的goroutines和channels进行并发编程,类似于Erlang的进程和消息传递。错误处理:Erlang的“let it crash”哲学影响了Go语言的错误处理机制,Go语言强调明确的错误处理,鼓励开发者在代码中处理可能的错误情况。设计初衷:Go语言的设计初衷之一是提供一种现代化的、简洁的编程语言,同时保留C语言的简洁性和高效性。标准库:Java和Go语言都有丰富的标准库,提供了大量的工具和功能,可以大大提高开发效率。
2025-01-09 15:34:24
614
原创 如何查看minikube的资源占用大小
通过以上方法,你可以全面了解 Minikube 的资源占用情况,确保其运行在适当的资源配置范围内。这会启动一个 Web 界面,显示集群的实时资源使用情况,包括 CPU、内存和存储。在 Minikube 中运行的 Kubernetes 资源占用情况可以通过。此命令显示当前 Minikube 的配置,包括分配的 CPU 和内存。的容器,观察其 CPU 和内存的实时使用情况。来获取实时的资源使用情况。
2025-01-09 11:02:51
605
原创 如何使用minikube在mac上安装k8s
在 macOS 上使用 Minikube 安装和运行 Kubernetes 是一个方便的方式,因为它可以快速设置一个本地 Kubernetes 集群。通过以上步骤,你应该能够在 macOS 上成功安装和运行 Minikube,并开始学习和使用 Kubernetes!应返回 Kubernetes API server 和其他组件的信息。如果你在中国大陆,可能需要配置镜像加速器,例如使用阿里云的镜像地址。打开返回的 URL,你应该会看到一个简单的网页响应。如果返回版本信息,说明安装成功。
2025-01-09 10:44:02
1333
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅