数据脱敏:写给初学者的通俗解释
数据脱敏:写给初学者的通俗解释 前几天帮朋友排查他们测试环境的一个问题,顺手查了张用户表,好家伙,几十万条真实的手机号和身份证号直接躺在里面。一问才知道,是当初图省事从生产库整库导出来的。我说你们这么搞,测试库权限一放开,等于全公司都能看到用户隐私,出了事都没地儿哭去。后来跟他聊了半天数据脱敏,这篇就把那天聊的东西整理一下,写给刚入行的同学,懂的可以直接关了。 到底什么是数据脱敏 说白了,数据脱敏...
阅读更多数据脱敏:写给初学者的通俗解释 前几天帮朋友排查他们测试环境的一个问题,顺手查了张用户表,好家伙,几十万条真实的手机号和身份证号直接躺在里面。一问才知道,是当初图省事从生产库整库导出来的。我说你们这么搞,测试库权限一放开,等于全公司都能看到用户隐私,出了事都没地儿哭去。后来跟他聊了半天数据脱敏,这篇就把那天聊的东西整理一下,写给刚入行的同学,懂的可以直接关了。 到底什么是数据脱敏 说白了,数据脱敏...
阅读更多WebSocket 实时通信与 文件上传 应用 前阵子给一个内部小工具加需求:任务在后台跑,跑完了页面要能立刻收到通知,顺便还得支持把生成的日志文件传回服务器。一开始我图省事用的轮询,前端每两秒请求一次接口,结果多开几个页面后端 CPU 就开始飘红了... 于是老老实实换成了 WebSocket,文件上传也顺手走了同一条连接,中间踩了不少坑,这里把实测能跑的方案记一下,免得下次又从头摸一遍。 为什...
阅读更多WebSocket 实时通信与 热更新 应用 起因是这样的:最近在改一个小项目,纯静态的 HTML + JS,没上任何构建工具。每次改完代码都得切到浏览器按一下 F5,改一下午下来光刷新就按了上百次,人都麻了。想着 Vite 那个热更新用起来不是挺舒服的吗,一查资料才发现它底层靠的就是 WebSocket,那干脆自己动手写个乞丐版,顺便把 WebSocket 这东西摸熟一点。 为什么是 WebSo...
阅读更多PostgreSQL 索引与 配置中心 的正确姿势 前阵子把公司配置中心的存储从 MySQL 迁到了 PostgreSQL,刚切完那会儿一切正常,跑了两三个月之后,同事突然跟我说,发布配置的页面转圈越来越久,翻一下配置变更历史要三四秒才出来。我寻思配置中心能有多大数据,进库里一看,好家伙,变更历史表已经攒了八百多万行了... 行吧,当初偷的懒,迟早是要还的。 先搞清楚慢在哪,别急着加索引 加索引之...
阅读更多Kubernetes 消息队列 配置避坑指南 前阵子把消息队列从裸机迁到 K8s 上,本以为就是个写写 yaml 的事儿,结果 RabbitMQ 加 Kafka 前后折腾了一个多星期,中间踩的坑一个接一个,有些报错跟实际问题八竿子打不着,排查起来相当折磨(也可能是我太菜了...)。这里把印象比较深的几个坑记一下,没准儿能帮后来的人少走点弯路。 先交代一下环境:K8s 1.28,RabbitMQ 用...
阅读更多WebSocket 实时通信与 蓝绿部署 应用 前阵子给公司内部的一个实时看板升级后端,这玩意儿走的是 WebSocket 长连接,平时倒也相安无事,结果一发布就出事:旧实例一停,几百个用户的连接瞬间全断,前端虽然写了重连逻辑,但大家都是同一秒断的,重连请求跟约好了似的挤在同一秒打过来,新实例刚起来就被怼了一波,CPU 直接拉满。后来才想明白,这就是典型的重连风暴。普通 HTTP 服务用滚动发布没...
阅读更多Rust 所有权模型与 缓存一致性 的思考 前阵子优化一个多线程计数的小工具,逻辑特别简单:几个线程各写各的统计变量,最后汇总一下。结果性能死活上不去,用 perf 一看,热点居然落在根本没几行代码的地方。查了半天资料才反应过来是 false sharing——几个变量挤在同一条 cache line 上,硬件层面天天打架。顺藤摸瓜去补 MESI 协议的时候,看着看着突然愣住了:这套东西怎么越看越...
阅读更多正则表达式进阶:鉴权体系 匹配技巧 前段时间给公司的网关加统一鉴权,方案是 nginx authrequest + JWT,思路很简单:所有请求先被网关拦一道,丢给鉴权服务验签,通过了才放行到上游。听着挺美好,结果联调第一天就翻车了,健康检查、支付回调、还有一堆 /public 开头的静态资源全被 401 了,上游一个请求都没收到。一开始我的想法是给每个路径单独加 location,写到第十几个的...
阅读更多从零实现一个简易的任务调度
阅读更多限流 的十种打开方式:工程实践笔记 前段时间一个导出接口被人拿脚本刷了,QPS 瞬间冲到平时的几十倍,数据库连接池直接被占满,连带着一堆不相干的接口也跟着趴窝。事后复盘的时候发现,这服务裸奔快两年了,什么限流都没有...趁着修 bug 的功夫,把限流这摊子事从头捋了一遍,能想到的打开方式都记在这儿,省得下次再抓瞎。 一、固定窗口计数器 最直觉的做法就是数数:一分钟最多放 100 个请求,超了直接打...
阅读更多