小Cの已经记不起来的博客

↓ 向下滚动

一次线上 熔断 故障的复盘记录

一次线上 熔断 故障的复盘记录 先说结论 这次线上 熔断 故障,表面看是“下游价格服务慢”,实际看更像是“我们把保护开关当保险丝用了,结果保险丝自己把自己熔断器焊死了”。 真正出问题的是一个遗留配置: 这个 forceOpen: true 是上周压测前为了让所有请求直接走 fallback 配的,本来想测“价格服务完全不可用时前端怎么展示”。结果压测结束,配置中心里这个值忘了改回来。上线后正常流量...

阅读更多

深入理解 Linux 连接池 的工作机制

深入理解 Linux 连接池 的工作机制 先说句实话,Linux 里没有“连接池”这个内核组件 很多人搜 Linux 连接池,脑子里可能觉得内核偷偷帮你缓存了一堆 TCP 连接,随用随取,贼方便。结果真去翻 man 7 tcp,翻半天没看到这个概念,挺容易怀疑人生的。 其实通常说的“连接池”,是应用层/中间件在用户态维护的一组已经建立好的 socket。比如数据库驱动、Redis 客户端、HTTP...

阅读更多

Kubernetes 缓存一致性 配置避坑指南

Kubernetes 缓存一致性 配置避坑指南 一开始我还以为是 Redis 的问题 上周把一个配置服务从单副本扩到三副本,接口一上线就发现一个很玄学的问题:同一个配置项,一会儿返回新值,一会儿又返回旧值。 我第一反应是 Redis 没更新,于是去翻 Redis 日志、连接池、过期策略,甚至怀疑是不是网络抖动导致部分 Pod 连到了别的实例。结果忙了一轮,发现 Redis 里其实一直是正确的。 后...

阅读更多

微服务架构下 配置中心 的设计与权衡

微服务架构下 配置中心 的设计与权衡 一开始我也觉得配置中心这玩意儿挺玄乎,文档上一上来就讲 namespace、集群、灰度、推模型、拉模型、审计、回滚,看着好像少了几个功能就不配叫配置中心。后来真上了线,发现最要命的不是“有没有功能”,而是半夜配置中心挂了,服务到底能不能启动,改一个超时时间会不会把整条链路拖崩。 然后我开始把思路往回收,尽量只保留那些真能救命的设计。下面这些不一定适合所有团队,...

阅读更多

文件上传:写给初学者的通俗解释

文件上传:写给初学者的通俗解释 最近在折腾一个小功能,页面里放个头像上传框,浏览器点一下,服务器那边没动静,日志里只看到一句 413 Request Entity Too Large。我当时还以为是文件太大,结果改完 Nginx 配置,过两分钟又发现上传成功了一半,文件在临时目录里躺着,业务代码却拿不到。 后面我把整个流程从头捋了一遍,发现文件上传这个事,很多初学者卡住的地方其实不是“不会写代码”...

阅读更多

给遗留 Java 系统增加指标埋点而不改变业务代码的尝试

最近接手一个挺老的 Java 系统,业务跑得还行,但基本没什么可观测性。接口慢不慢、哪个方法经常抛异常、某条链路是不是被重复调用,全靠自己 grep 日志猜。领导说先加点指标看看,我心里第一反应是:那还不简单,Micrometer 一套接上,Controller 上加注解,Service 里埋点,完事。 结果打开源码才发现,这玩意儿是真的难搞。项目没有统一构建,业务包耦合得很,有些模块还是内部仓库...

阅读更多

Nginx 反向代理 数据脱敏 配置详解

Nginx 反向代理 数据脱敏 配置详解 代理层脱敏的合理预期 在真实系统里,Nginx 做数据脱敏通常不是为了替代业务安全,而是为了兜底和统一治理。比如后端接口已经稳定运行多年,突然要求所有手机号在返回给前端时统一打码;再比如测试环境日志里经常记录到 token、password、身份证等字段;又或者某个第三方接口会返回敏感调试信息,你不希望它透传到外部调用方。 这种场景下,在反向代理层做一层过...

阅读更多

如何导出Frigate可用的yolo-NAS.onnx 顺带提供已导出的onnx文件下载

Frigate升级过后,发现启动不了了,结果看了一眼更新文档,发现从0.16开始,官方文档明确表示 针对 Nvidia GPU,TensorRT 检测器已被移除,请改用 ONNX 检测器。 然后就开始去下载这个onnx文件,结果发现这玩意儿是真的难搞啊,得自己用代码导出,为什么官方不直接提供一个下载地址呢?可能是我瞎没找到吧... 下面是实测可用的导出方式,需要借助docker,不然你就慢慢配置环...

阅读更多

MP插件 飞牛影视自动刷新媒体库 secret和api_key获取方法

飞牛影视好用呀,但是有一个不足之处:NFS挂载的时候无法及时更新媒体库信息,像是plex,jellyfin之内的可以借助MP的插件进行刷新,今天看飞牛官方更新了 支持从媒体库的“文件夹视图”中扫描子目录,新增文件无需扫描全库; 这个功能,于是准备自己撸一个MP插件 前言 注意:这个插件并没有经过MPV2验证,我还是V1 由于官方暂时并未提供API,所以这个插件都是使用抓包的方式获取的网页版接口,可...

阅读更多

OpenWRT Dnsmasq DNS记录设置过后没有生效

公司路由器重新刷了最新的iStoreOS系统, 因为业务需求,会将一些域名固定解析到某一台内网机器上,在网络-DHCP/DNS-DNS记录-主机名映射里面设置好解析过后,然后使用ping测试,一切正常... 然而在第二天,也就是今天,增加新的解析过后却没有生效...倒腾了大半天,原来只需要刷新路由器的DNS缓存即可 解决方案 路由器进入终端(我用的iStoreOS是在服务-终端) > 登录过后使用...

阅读更多
未在播放