创业公司后端架构生死线:政策、数据、安全缺一不可
|
告警响的那一刻,我正把泡面桶从键盘旁边挪开——汤洒了半截,面坨在碗底,热气早没了。屏幕右下角跳着七个未读钉钉,中间那个是法务群,标题写着“GDPR补充协议今晚必须签”,左边三个窗口分别是监控平台、证书续期页面、还有开发扔过来的灰度配置diff。没点开,先划掉。反正告警声是红色的,不是黄色的,不是CPU飘红,是数据库连接池崩了——直接全链路503。 我原以为是主从同步断了,顺手敲了句show slave status\\G,结果发现连不上从库:密码报错。又试主库,连上了,但SELECT COUNT() FROM users卡住三秒没回。再查processlist,二十多个sleep状态挂着,全是INSERT INTO user_audit_log——审计日志表,上周才被合规部强推加的字段,开发说“就多写一行”,上线前连压测都没跑。我没备份那张表的DDL。真的没。当时嫌迁移脚本太啰嗦,说“等忙完这波再归档”,结果忙完这波,它已经长到七百多万行,索引重建要四小时。 机房很冷,空调出风口直吹我后颈,穿了两件卫衣还是发僵。同事老陈在隔壁工位喊:“你那边DB挂了没?我们接口打不通了!”我没回头,只抬手比了个OK手势,其实心里知道OK不了——DB没挂,是它在装死。它在执行一条带函数索引的UPDATE,而那个函数调的是外部鉴权服务,那个服务上个月就被安全部砍掉了,留了个404 stub,没人告诉DBA这事。所以UPDATE锁住,锁住之后所有后续请求排队,队列满,连接池耗尽,然后…全链路跪。跪得特别安静,连熔断器都没来得及吐日志,因为日志模块自己也卡在写audit_log里。 窗外天快亮了,路灯还亮着,泛黄的那种光,照在窗玻璃上像一层隔夜茶渍。电话响了,是开发组长,语气挺急:“是不是你把主库限流了?我们查不到慢SQL啊!”我说:“你去看看你们昨天merge的那个PR,里头有个AuditLogService.postWithRetry(),retry三次超时是90秒。”他顿了两秒,说:“哦……那个啊,测试环境用Mock,没切生产鉴权。”我火大,但没骂出来——骂不出,因为三个月前我签过那份《数据分类分级清单》初稿,里面明明白白写着“用户操作审计日志属于三级敏感数据,须经安全评审+法务背书方可接入外部服务”。我签了,还写了“同意”,字儿特潦草。现在那张清单还钉在公共文档里,最新修改时间是去年冬天,署名是我。
文章配图,仅供参考 后来回滚了,不是回代码,是回数据库——删了审计表上的触发器,临时把insert语句注释掉,重启应用。三台机器,恢复得很快。可那天早上八点,法务部的人来了,不是视频会议,是真人,拎着个黑包,坐在我对面看了十分钟屏幕,问:“去年三季度用户注销数据清除记录,你们存哪儿了?”我说:“Mongo里有个tombstone集合,TTL设了180天。”他点头,翻开笔记本,翻了三页,说:“去年春天你们改过GDPR数据主体权利响应流程,对吧?那次改完,有没有同步更新备份策略和归档SLA?”我愣住了。没更新。根本没想起来这事要跟备份扯上关系。我们只记得备份要全量,要加密,要异地——没人想起“备份的内容本身也要符合删除指令”。那批注销用户的加密备份,还躺在冷备库里,解密密钥在KMS里,有效期十年。认了。真认了。不是认错,是认命。创业公司后端架构生死线:政策、数据、安全缺一不可。这话说出来像口号,但我现在信,因为它活活咬过我一口。优胜劣汰站得住,是因为淘汰的从来不是某个组件,是整条链路里最弱的那个“人设”——比如我,比如那个写postWithRetry的开发,比如法务群里天天催却没人搭理的实习生。谁都没错,但合起来就是错。错在我们都觉得“技术能兜住一切”,结果政策卡脖子,数据卡喉咙,安全卡心脏,三根绳子一起勒,勒得你连喘气都要查RBAC权限。 家里孩子昨晚发烧,我没接老婆电话,她发微信说:“退烧贴贴反了,你下次回来教我。”我没回。今天值班表排错了,本来该我休,结果系统自动填了“on-call”,估计又是哪个API回调失败没重试。晚饭吃的是自动售货机里的饭团,冷的,馅儿是梅子和海苔,咬一口酸得皱眉。反正酸着酸着也就习惯了。 其实最绝的不是那个没关的触发器,也不是漏删的冷备,是开发昨天下午提的上线单,备注写着“紧急修复登录态丢失”,审批人一栏空着——运维、安全、法务,三个人的电子签章位置都是空白。没人拦。不是他们不拦,是我们所有人早就不拦了。就像看到泡面汤洒了,第一反应不是擦,是赶紧喝完。反正今晚又要熬通宵,洒了就洒了吧。 我接下来想补一份《跨职能红线清单》,就一页纸:什么动作必须三方会签(不是抄送),什么字段改一次等于重审一次合规,什么备份必须定期验证销毁而非仅验证存在。不过……大概率又搁浅。下周有融资尽调,尽调清单第12条是“请提供近三年全部数据出境评估报告”,我现在连“出境”到底指什么都不知道——是指Redis实例跨AZ,还是指日志进ES集群算不算?没搞清。先干着吧。反正泡面桶还在桌上,面还没吃完,告警灯也没灭,只是暗了,红变橙了,等着下一拨红起来。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


服务端驱动客户端安全审计:从被动响应到主动免疫
唤醒沉睡数据:媒体运营智能测试掘金引擎
元数据驱动运营中心服务器响应提速40%
物联网创业合规避坑指南:政策、数据与安全红线
十年沉睡数据,一招激活智能决策力
政策合规:数据安全创业的深度学习加速器
大数据架构师不写的3个代码陷阱,你中了几个?
