技术分享3 分钟

Embedding Model

核心概念 向量数据库(如 Qdrant)不理解自然语言,只做数值相似度计算。让内容「可被检索」的能力完全来自 Embedding 模型的质量。 Dense Vector(语义向量) 512~4096 维稠密浮点数组 捕捉语义相似性,擅长同义词、跨语言、概念关联 例:「汽车」与「轿车」在向量空间中彼此…

技术分享3 分钟

Kueue

kueue

技术分享6 分钟

KEDA

KEDA 架构总结 KEDA(Kubernetes Event Driven Autoscaling)是一个开源的 Kubernetes 组件,用于基于外部事件(如消息队列长度、数据库指标或 Prometheus 查询结果)动态缩放工作负载。它与 Kubernetes 原生 Horizontal P…

技术分享3 分钟

Nginx

Nginx 的设计哲学是 事件驱动 + 异步非阻塞 + 模块化 ,这让它在单机上轻松处理 数十万并发连接 ,内存占用极低,CPU 利用率极高。 进程模型(Master + Worker + 辅助进程) Nginx 启动后会产生以下进程: Master 进程 (1 个,通常 root 启动) 读取、解…

技术分享3 分钟

阿里云核心服务概念梳理: FC / ECS /ECI / ACK /ACS

阿里云产品中有不少词汇,乍一看不知道什么意思,做一个小结。 FC:Function Compute (函数计算) FC 是阿里云提供的 事件驱动 的 无服务器计算服务 。 核心理念: 运行代码, 无需管理服务器 。用户只需编写和上传代码,FC 会自动管理计算资源。 按事件触发: 代码执行由事件触发(…

技术分享4 分钟

prometheus为代表的监控构建

背景 系统稳定性差,接口p99延时长;队列消费时间久;系统ttft久;亟需一个完整的监控系统来指导线上问题预测与排查。 相关的基础概念 时间序列(Time series) :由固定的 metric name + labels 唯一标识的一组(有时间戳的)样本点序列。 例: http requests…

技术分享5 分钟

限流、熔断与降级:微服务高可用性的核心保障机制

在分布式系统中,服务间依赖关系复杂,任何一点异常都可能引发连锁反应。限流、熔断、降级是应对流量冲击、故障传播和部分失效的三大利器,三者配合使用,能显著提升系统的稳定性和用户体验。本文结合实际代码,系统梳理三者的概念、关系、实践方法与最佳配置。 一、核心概念 1. 限流(Rate Limiting)…

技术分享4 分钟

SSE

SSE介绍 SSE(Server Sent Events,服务器发送事件)是一种基于 HTTP 的协议,允许 服务器主动向浏览器推送数据 。它常用于实时更新页面数据,比如消息推送、实时行情、通知等场景。 SSE 是一种 单向通信协议 : 服务器 → 客户端 ,只能由服务器发送数据到客户端; 使用的是…

技术分享8 分钟

kubebuilder 总结

kuberbuilder是什么 Kubebuilder 是一个用于构建 Kubernetes API 和控制器的框架 基本概念 为了更好的使用kubebuilder,可以先看看一下的基础概念。 CRD是什么 CRD(Custom Resource Definition)是k8s中扩展API的方式,它…

技术分享2 分钟

版本控制规范

版本号格式 版本号格式为:X.Y.Z(主版本号.次版本号.修订号) 版本号递增规则 1. 主版本号 (X) 当你做了不兼容的 API 修改时,递增主版本号 例如:从 1.0.0 变成 2.0.0 2. 次版本号 (Y) 当你添加了向下兼容的新功能时,递增次版本号 例如:从 1.0.0 变成 1.1.…

技术分享11 分钟

kafka学习笔记

kafka是什么 kafka是一个分布式的、基于日志流处理的系统,通过broker、topic、partition和replica的协同工作,实现了高性能、高可用和可扩展的消息传递,适合实时数据管道、日志收集、时间溯源等场景。 具体的使用,代码可以参考repo kafka example 基础概念…

技术分享2 分钟

如何构建一个短链系统

典型读多写少的场景,需要考虑高并发的读取的场景。所以缓存和恶意请求需要处理得当。 对于长链接转短链接的场景 参数校验 1. 判断长链接能够访问通 2. 判断长链接不是一个短链接(防止循环转链) 构造链接 1. 发号器发号(可以是redis的string、mysql的主键或雪花算法生成的id),给这个…

技术分享1 分钟

mac VMware Fusion 虚拟机安装

语言选择,默认英语即可,按回车 网络配置 设置主机的address为 192.168.54.100 选择安装 ssh server Reference bookmark

技术分享14 分钟

MongoDB 总结

MongoDB是什么 MongoDB 是一个基于 分布式文件存储 的开源 NoSQL 数据库系统,由 C++ 编写的。MongoDB 提供了 面向文档 的存储方式,操作起来比较简单和容易,支持“ 无模式 ”的数据建模,可以存储比较复杂的数据类型,是一款非常流行的 文档类型数据库 。 在高负载的情况下…

技术分享7 分钟

深入理解 IO 多路复用:从 select、poll 到 epoll 的演进

深入理解 IO 多路复用:从 select、poll 到 epoll 的演进 引言:C10K 问题与网络编程的挑战 在构建高性能网络服务的场景中,经典的 C10K 问题(即单台服务器同时处理一万个客户端连接)是核心挑战之一。 传统的“一个连接一个进程”或“一个连接一个线程”模型,在面对大规模并发时,…

技术分享4 分钟

常见的网络设备

交换机 是什么 交换机是一种网络设备,用于在局域网中连接多个网络设备(员工电脑、服务器、打印机等),基于mac地址转发数据帧。 其中,按照功能分类,有两种交换机: 1. 二层交换机 1. 基于mac地址转发数据 2. 主要用于局域网中的基本连接 2. 三层交换机 1. 继承了路由功能,可以基于IP地…

技术分享4 分钟

高可用的常见手段

高可用是一个复杂的命题。日常的运维操作例如服务升级、硬件更新、数据迁移等都会造成服务等宕机,尤其是在功能上线周期越来越短、发布越来越频繁的开发模式下,实现“4个9”或“5个9”高可用的难度不言而喻。简单来说,在设计时要避免单点故障:路由、防火墙、负载均衡、反向代理以及监控都得是冗余设计,以此来保证最…

技术分享5 分钟

基于Casbin的RBAC权限认证|权限管理

k8s中的权限管理 在k8s中的权限管理默认是使用的的RBAC,其中主要包含这四个核心概念:Role、ClusterRole、RoleBinding和ClusterRole,比如下面的案例就是创建一个 role ,允许读取development namespace下的pod,将这个role 赋予us…

技术分享6 分钟

从0到1,利用kubevirt构建ubuntu虚拟机

kubevirt是什么 一个开源项目,CNCF sandbox 将虚拟机(VM)运行引入了 k8s 集群中,使得用户可以在 k8s 中同时管理容器和虚拟机工作负载 帮助企业和开发者通过 k8s 统一管理虚拟机和容器,方便地运行和迁移传统的虚拟机工作负载到云原生环境中 特点 1. 虚拟机和容器共存 :…

技术分享4 分钟

iptables in linux

iptables 是什么 Linux 系统中用于管理和操作网络包过滤规则的工具,是 Linux 内核中的 Netfilter 框架的用户态接口。它的主要作用是配置防火墙、网络地址转换(NAT)和流量控制规则,从而实现对进出网络的数据包进行监控和管理。 基本概念 三个主要的chains input:处…

技术分享4 分钟

LVM

📎 入门LVM,简单说说LVM中的LV、VG和PV,以及如何创建它们 存储的分类 按照物理介质分类 机械硬盘 HDD 特点:磁盘旋转存储,成本低,容量大,速度较慢(寻道时间影响数据的访问速度 优点:适合海量数据的存储)(冷数据、归档 缺点:随机读写性能差 固态硬盘SSD 特点:基于闪存芯片,随机读…

技术分享1 分钟

在mac中,如何将标准输出保存到剪切板中

📎 背景 时常有这样的需求:复制xx pod 的yaml信息到剪切板中 pbcopy 是macos中内置的工具,可以将终端输出复制到系统剪切板 同时可以使用 pbpaste 将剪切板中的内容输出到终端

技术分享3 分钟

nvidia驱动和cuda安装记录

nvidia 组件安装 参考 CUDA Installation Guide for Linux https://developer.nvidia.com/cuda downloads 驱动选择的版本可以参考下载 NVIDIA 官方驱动 NVIDIA 安装必要依赖 禁用Nouveau 安装CUDA…

技术分享6 分钟

etcd

热身 etcd简介 是什么 分布式的kv存储系统 用于存储和管理分布式系统中的共享配置和服务发现信息 使用场景 1. k8s的存储后端 & 配置管理 & 存储原数据和状态 存储API对象的原数据,如Pod、ConfigMap、Secret等 记录k8s集群中所有的资源的实时状态变化,提供回滚能力 2…

技术分享2 分钟

正则表达式

限定符 用来表示 0 无限 + 用来表示1 无限 ? 用来表示 0 1 {2,6}用来表示2 6次 匹配符: d? d出现0/1次 a* a可以出现0/多次 a+ a出现一次以上 a{6} a出现6次 a{2,} a出现2次以上 a{2,6} a出现2 6次 匹配多个字符: (ab)+ ab出现一次…

技术分享2 分钟

内存对齐

为什么要内存对齐 平台原因 :各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如,有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐。 性能原因 :内存对齐可以提高存取效率。比如,有些平台每次读都是…

技术分享3 分钟

go中常见的内存泄露场景

什么是内存泄漏 程序运行中,动态分配的内存未能正确释放或回收,导致内存一直被占用不能被正确释放,可能导致最终内存耗尽 系统资源耗尽 :严重的内存泄漏可能会导致系统内存耗尽,进而引发系统崩溃或其他程序无法正常运行。 程序崩溃 :如果程序无法分配到足够的内存,它可能会崩溃,尤其是在没有进行异常处理的情况…

技术分享14 分钟

常用限流组件及其实现

分布式系统稳定性保障:限流、熔断与降级完全指南 在分布式系统中,服务间依赖关系错综复杂,任何一个节点的异常都可能引发连锁反应,最终导致整个系统雪崩。限流、熔断、降级是应对流量冲击、故障传播和部分失效的三大核心机制。本文将系统梳理这三者的概念、关系、算法原理、代码实践与最佳配置,帮助你构建真正健壮的后…

技术分享3 分钟

pprof的使用

什么是pprof pprof 是 Go 提供的性能剖析工具,允许开发者查看 CPU、内存、Goroutine 以及其他资源的使用情况 启动pprof 一旦你的应用程序运行并且 pprof 启用后,你可以通过浏览器或命令行工具访问 pprof 数据。常见的端点包括: CPU profile : htt…

技术分享4 分钟

sqlite内存模式下的性能测试

内存模式设置 测试环境 go环境安装 client 10.80.51.7 linux系统资源状况 数据格式 测试结果 数据规模 300w、500w 行数据规模下的sqlite的 内存模式下 的TPS、QPS 数据插入结束后,开始模拟真实的应用场景(读多写少) 查询1w次,每次查询100次 插入3k条…

技术分享4 分钟

全局唯一ID生成方案

uuid 是什么 uuid的全称是 universally unique identifier ,即通用唯一识别号,它由16字节(128byte)组成,可以用于唯一的标识信息。 格式为 8 4 4 4 12的16进制格式 使用 分隔 不同的UUID版本 1. UUID v1 (基于时间) UUID…

技术分享25 分钟

linux笔记

我的linux学习笔记~ linux目录结构 目录 说明 / 根目录,只能包含目录,不能包含具体文件。 /bin 存放可执行文件。很多命令就对应/bin目录下的某个程序,例如 ls、cp、mkdir。/bin目录对所有用户有效。 /dev 硬件驱动程序。例如声卡、磁盘驱动等,还有如 /dev/nul…