logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

milvus helm k8s开启监控

文章写的很清晰 ,我这边做一下个人补充,初版可能只是配置,具体的grafana 监控报表后期补一下。values.yaml 配置enabled: true 改为true。生产的可执行yaml (可直接手动部署)

#milvus#kubernetes#容器
Docker 镜像打的包有1.3个G 多阶段构建缩小镜像体积(不算成功)

实际的场景:harbor 主备双战,每次拉取的时候拉到备战导致镜像拉取失败,最终排查是因为镜像包太大了,主站在往备战同步的时候失败或者太慢,导致K8s 拉不到镜像。运维建议缩减镜像的大小。: .venv 中的 Lib (准确说是 site-packages )是混合体,但核心涉及系统兼容性的部分是“动态链接库”。Docker 构建时,会按顺序执行每个 FROM 开始的“独立小世界”,最后只保留最后

#docker#容器#运维
小白从 Milvus 开始了解稠密向量、稀疏向量、稠密索引、稀疏索引、混合搜索

在电脑里: 它就是把稠密向量搜索和稀疏向量搜索的结果合并起来,让你可以同时根据“语义意思”(稠密)和“关键词”(稀疏)来查找信息,得到更准确、更全面的结果。比如,你问“一只可爱的猫”,电脑既能理解“猫”的样子(稠密),也能识别“可爱”这个关键词(稀疏),然后给你最好的答案。在电脑里: 它也是一个长长的数字列表,但里面大部分数字都是 0,比如 [0, 0, 0, 5.2, 0, 0, 0, 0, -

#milvus
Spring Boot 实战:@PostConstruct + Caffeine 缓存初始化与定时刷新

自动执行:无需手动调用初始化方法,Spring 容器会自动执行。时机准确:在依赖注入完成后执行,确保所有依赖都已就绪。代码简洁:将初始化逻辑集中在一个方法中,便于维护。通过结合 Caffeine 缓存,我们可以在 Spring Boot 应用中轻松实现高性能的本地缓存。本文的案例展示了如何初始化异步加载缓存,并通过定时任务主动刷新过期数据,确保缓存数据的新鲜度。这种模式适用于配置信息、字典数据、菜

#spring boot#缓存#后端
Spring Boot + Lettuce 实现 Redis 集群读写分离(从库优先读)

整套方案的核心是"双连接工厂 + 专用方法名主库连接工厂由 Spring Boot 自动装配,保持MASTER,所有现有方法零改动新建副本连接工厂,注册配套副本模板工具类按需暴露方法,调用方显式选择优点是渐进式、可控、零回归风险:想分流哪个调用点就改哪个,出问题随时回退到主库方法,不影响其他业务。

#spring boot#redis#后端
一个被 Spring Boot 静默吞掉的 Redis 连接池:主从读写分流的隐形 Bug

项目里本想做 Redis 主从读写分离——主库读写走主、只读场景走从。代码看着没毛病,跑起来也不报错,但实际上。这篇记录一下这个静默 Bug 的定位过程与修复方案。

#spring boot#redis#bug
Redis Key 压缩反模式:为什么 GZIP 压缩 Value 安全,压缩 Key 却会致命?

项目结论压缩 Key 是否标准❌ 严重反模式压缩 Value 是否安全✅ GZIP 解压跨版本兼容Key 出问题的根因两次压缩产生不同字节,非解压失败OS 字段为何不参与计算RFC 1952 定义为纯元数据,DEFLATE 解码不依赖它紧急修复读取端双读兼容(明文优先 + 压缩兜底)长期方案Key/Field 改明文,仅压缩大 Value如有其他 Redis 序列化踩坑经历,评论区交流!

#redis#安全#数据库 +1
JDK 8 → JDK 17 升级踩坑:GZIP 头 OS 字节差异导致 Redis Key 不匹配

本次 JDK 8 → JDK 17 升级中,一个 GZIP 头部的 OS 字节差异(0xFF→0x00)导致所有 gzip 压缩的 Redis key 查询失效。排查过程从"连错集群"到"序列化器异常"再到"逐字节对比",最终定位到 GZIP 格式第 9 字节的 JDK 版本差异。修复方案简单而有效:在中强制将 OS 字节归一化为0xFF,与 JDK 8 写入的存量数据保持一致,实现零数据迁移修复

#java#redis#bootstrap
一文搞懂 K8s ConfigMap 挂载:path、subPath 与 Spring Boot 配置加载全链路

ConfigMap 的 key 通过items.path改名 → 进入 Volume → 被subPath选中 → 贴到mountPath指定的完整路径 → Spring Boot 按路径读取。每一步都是独立映射,不存在隐那些事儿!

文章图片
#kubernetes#spring boot#容器
Java GZip 压缩实践 +实践思考 +进一步压榨性能和存储方案思考:Protobuf+ GZip

考虑到GZip是为了压缩数据,减少redis 存储压力,那之前使用过Protobuf和Gzip 有什么差异了,其实这个数据同事真实的测过,gzip 压缩的大小更大,protobuf 压缩的没那么大,但是效果很好。大多是由团队数据同事写入的,根据数据人员提供的信息,当前的redis 数据已经通过Gzip 压缩过了,所以需要我将数据读取,反序列化的时候应该手动转换成String。这说明:Protobu

#java#spring boot
    共 20 条
  • 1
  • 2
  • 请选择