[{"data":1,"prerenderedAt":2339},["ShallowReactive",2],{"content-/topics/engineering/scale-from-100k-to-1m-users-guide":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"category":5,"tags":11,"author":17,"featured":18,"series":19,"seriesOrder":20,"readingTime":21,"image":22,"body":23,"_type":2333,"_id":2334,"_source":2335,"_file":2336,"_stem":2337,"_extension":2338},"/topics/engineering/scale-from-100k-to-1m-users-guide","engineering",false,"","从 10 万到 100 万用户的实战指南：系统扩容不是加机器那么简单","用户增长到一个数量级后，问题不再是单点优化，而是容量规划、架构分层、数据治理、发布策略和组织协作的系统升级。本文用实战视角讲清从 10 万到 100 万用户最容易踩的坑与最值钱的决策。","2026-03-08",[12,13,14,15,16],"用户增长","系统扩容","架构演进","容量规划","工程治理","小明",true,"large-scale-application-architecture",7,19,"/images/articles/scale-from-100k-to-1m-users-guide-cover.jpg",{"type":24,"children":25,"toc":2268},"root",[26,34,40,45,50,75,80,85,113,118,131,136,165,170,174,181,186,191,219,226,231,236,249,254,260,347,352,355,361,367,372,405,410,416,421,444,450,455,460,488,493,496,502,507,512,535,541,689,694,712,718,723,728,756,761,764,770,775,781,788,792,815,820,826,830,853,859,863,881,887,892,897,915,920,928,931,937,943,948,953,981,987,992,997,1020,1025,1030,1053,1058,1081,1086,1089,1095,1100,1106,1124,1130,1148,1154,1159,1187,1192,1195,1201,1206,1232,1237,1243,1360,1366,1371,1379,1383,1406,1411,1414,1420,1426,1431,1459,1464,1492,1498,1587,1592,1615,1620,1623,1629,1634,1647,1653,1659,1664,1670,1675,1681,1686,1709,1714,1717,1723,1729,1734,1761,1767,1772,1795,1801,1806,1833,1839,1844,1960,1965,1988,1991,1997,2002,2037,2042,2073,2077,2108,2113,2144,2149,2180,2183,2188,2193,2236,2241,2249,2254,2262],{"type":27,"tag":28,"props":29,"children":31},"element","h1",{"id":30},"从-10-万到-100-万用户的实战指南系统扩容不是加机器那么简单",[32],{"type":33,"value":8},"text",{"type":27,"tag":35,"props":36,"children":37},"p",{},[38],{"type":33,"value":39},"10 万用户和 100 万用户，中间只差一个 0。",{"type":27,"tag":35,"props":41,"children":42},{},[43],{"type":33,"value":44},"但对系统来说，这个 0 往往意味着整个世界变了。",{"type":27,"tag":35,"props":46,"children":47},{},[48],{"type":33,"value":49},"在 10 万用户阶段，很多问题还能靠勤奋补：",{"type":27,"tag":51,"props":52,"children":53},"ul",{},[54,60,65,70],{"type":27,"tag":55,"props":56,"children":57},"li",{},[58],{"type":33,"value":59},"服务器不够就先扩两台",{"type":27,"tag":55,"props":61,"children":62},{},[63],{"type":33,"value":64},"查询慢了就补一个索引",{"type":27,"tag":55,"props":66,"children":67},{},[68],{"type":33,"value":69},"活动来了就人工盯着",{"type":27,"tag":55,"props":71,"children":72},{},[73],{"type":33,"value":74},"某个接口抖了就临时重启",{"type":27,"tag":35,"props":76,"children":77},{},[78],{"type":33,"value":79},"一旦到 100 万用户，这些办法会开始失效。",{"type":27,"tag":35,"props":81,"children":82},{},[83],{"type":33,"value":84},"不是因为大家不努力，而是因为系统进入了另一个数量级：",{"type":27,"tag":51,"props":86,"children":87},{},[88,93,98,103,108],{"type":27,"tag":55,"props":89,"children":90},{},[91],{"type":33,"value":92},"峰值流量不是线性增长，而是会被活动和热点放大",{"type":27,"tag":55,"props":94,"children":95},{},[96],{"type":33,"value":97},"一个小问题的影响半径更大",{"type":27,"tag":55,"props":99,"children":100},{},[101],{"type":33,"value":102},"数据规模和调用链长度同时上升",{"type":27,"tag":55,"props":104,"children":105},{},[106],{"type":33,"value":107},"人工兜底开始跟不上系统速度",{"type":27,"tag":55,"props":109,"children":110},{},[111],{"type":33,"value":112},"组织协作会变成技术成败的一部分",{"type":27,"tag":35,"props":114,"children":115},{},[116],{"type":33,"value":117},"所以从 10 万到 100 万用户，真正要升级的，不只是机器规格，而是：",{"type":27,"tag":119,"props":120,"children":121},"blockquote",{},[122],{"type":27,"tag":35,"props":123,"children":124},{},[125],{"type":27,"tag":126,"props":127,"children":128},"strong",{},[129],{"type":33,"value":130},"系统面对复杂度的组织方式。",{"type":27,"tag":35,"props":132,"children":133},{},[134],{"type":33,"value":135},"这篇文章不会假装有一条万能路线图。它会更现实一点，讲清楚这一路最重要的几类升级：",{"type":27,"tag":137,"props":138,"children":139},"ol",{},[140,145,150,155,160],{"type":27,"tag":55,"props":141,"children":142},{},[143],{"type":33,"value":144},"容量规划怎么做，才不是拍脑袋",{"type":27,"tag":55,"props":146,"children":147},{},[148],{"type":33,"value":149},"哪些瓶颈最先暴露：应用、数据库、缓存、链路还是发布",{"type":27,"tag":55,"props":151,"children":152},{},[153],{"type":33,"value":154},"系统边界、数据治理、流量保护该如何升级",{"type":27,"tag":55,"props":156,"children":157},{},[158],{"type":33,"value":159},"哪些事情必须自动化，不能再靠人守",{"type":27,"tag":55,"props":161,"children":162},{},[163],{"type":33,"value":164},"什么才算“具备 100 万用户能力”，而不是“侥幸撑过一次活动”",{"type":27,"tag":35,"props":166,"children":167},{},[168],{"type":33,"value":169},"如果你正在做一个持续增长的产品，这篇很适合提前看。",{"type":27,"tag":171,"props":172,"children":173},"hr",{},[],{"type":27,"tag":175,"props":176,"children":178},"h2",{"id":177},"一先统一认知用户数不是唯一指标峰值和行为模式才是关键",[179],{"type":33,"value":180},"一、先统一认知：用户数不是唯一指标，峰值和行为模式才是关键",{"type":27,"tag":35,"props":182,"children":183},{},[184],{"type":33,"value":185},"很多团队做容量判断时，习惯直接看“注册用户数”或“DAU”。",{"type":27,"tag":35,"props":187,"children":188},{},[189],{"type":33,"value":190},"这两个指标当然重要，但真正决定系统压力的，通常是下面几件事：",{"type":27,"tag":51,"props":192,"children":193},{},[194,199,204,209,214],{"type":27,"tag":55,"props":195,"children":196},{},[197],{"type":33,"value":198},"峰值并发",{"type":27,"tag":55,"props":200,"children":201},{},[202],{"type":33,"value":203},"请求结构",{"type":27,"tag":55,"props":205,"children":206},{},[207],{"type":33,"value":208},"写入比例",{"type":27,"tag":55,"props":210,"children":211},{},[212],{"type":33,"value":213},"热点集中度",{"type":27,"tag":55,"props":215,"children":216},{},[217],{"type":33,"value":218},"用户行为同步性",{"type":27,"tag":220,"props":221,"children":223},"h3",{"id":222},"_11-为什么-100-万用户不一定比-10-万用户难十倍",[224],{"type":33,"value":225},"1.1 为什么 100 万用户不一定比 10 万用户难十倍",{"type":27,"tag":35,"props":227,"children":228},{},[229],{"type":33,"value":230},"因为压力不只来自总量，还来自模式。",{"type":27,"tag":35,"props":232,"children":233},{},[234],{"type":33,"value":235},"举例：",{"type":27,"tag":51,"props":237,"children":238},{},[239,244],{"type":27,"tag":55,"props":240,"children":241},{},[242],{"type":33,"value":243},"一个工具产品 100 万用户，但访问分布很平滑",{"type":27,"tag":55,"props":245,"children":246},{},[247],{"type":33,"value":248},"一个活动型产品 20 万用户，却会在 10 分钟内同时涌入",{"type":27,"tag":35,"props":250,"children":251},{},[252],{"type":33,"value":253},"后者在系统层面反而更难。",{"type":27,"tag":220,"props":255,"children":257},{"id":256},"_12-三个最该看的容量指标",[258],{"type":33,"value":259},"1.2 三个最该看的容量指标",{"type":27,"tag":261,"props":262,"children":263},"table",{},[264,288],{"type":27,"tag":265,"props":266,"children":267},"thead",{},[268],{"type":27,"tag":269,"props":270,"children":271},"tr",{},[272,278,283],{"type":27,"tag":273,"props":274,"children":275},"th",{},[276],{"type":33,"value":277},"指标",{"type":27,"tag":273,"props":279,"children":280},{},[281],{"type":33,"value":282},"为什么重要",{"type":27,"tag":273,"props":284,"children":285},{},[286],{"type":33,"value":287},"例子",{"type":27,"tag":289,"props":290,"children":291},"tbody",{},[292,311,329],{"type":27,"tag":269,"props":293,"children":294},{},[295,301,306],{"type":27,"tag":296,"props":297,"children":298},"td",{},[299],{"type":33,"value":300},"峰值 QPS / TPS",{"type":27,"tag":296,"props":302,"children":303},{},[304],{"type":33,"value":305},"决定系统最危险时刻的压力",{"type":27,"tag":296,"props":307,"children":308},{},[309],{"type":33,"value":310},"活动开始后 1 分钟内暴涨 8 倍",{"type":27,"tag":269,"props":312,"children":313},{},[314,319,324],{"type":27,"tag":296,"props":315,"children":316},{},[317],{"type":33,"value":318},"P95 / P99 延迟",{"type":27,"tag":296,"props":320,"children":321},{},[322],{"type":33,"value":323},"决定用户体感和故障前兆",{"type":27,"tag":296,"props":325,"children":326},{},[327],{"type":33,"value":328},"平均 80ms 不代表尾部不爆",{"type":27,"tag":269,"props":330,"children":331},{},[332,337,342],{"type":27,"tag":296,"props":333,"children":334},{},[335],{"type":33,"value":336},"依赖放大系数",{"type":27,"tag":296,"props":338,"children":339},{},[340],{"type":33,"value":341},"一个请求会打多少下游",{"type":27,"tag":296,"props":343,"children":344},{},[345],{"type":33,"value":346},"首页 1 次访问触发 18 次内部调用",{"type":27,"tag":35,"props":348,"children":349},{},[350],{"type":33,"value":351},"这三个指标，比“用户数到了多少”更接近系统真相。",{"type":27,"tag":171,"props":353,"children":354},{},[],{"type":27,"tag":175,"props":356,"children":358},{"id":357},"二从-10-万到-100-万最先暴露的往往不是机器而是结构问题",[359],{"type":33,"value":360},"二、从 10 万到 100 万，最先暴露的往往不是机器，而是结构问题",{"type":27,"tag":220,"props":362,"children":364},{"id":363},"_21-调用链开始变长",[365],{"type":33,"value":366},"2.1 调用链开始变长",{"type":27,"tag":35,"props":368,"children":369},{},[370],{"type":33,"value":371},"小系统时，一个页面也许只需要 2~3 个接口。规模上来后，页面往往会变成：",{"type":27,"tag":51,"props":373,"children":374},{},[375,380,385,390,395,400],{"type":27,"tag":55,"props":376,"children":377},{},[378],{"type":33,"value":379},"主数据接口",{"type":27,"tag":55,"props":381,"children":382},{},[383],{"type":33,"value":384},"推荐接口",{"type":27,"tag":55,"props":386,"children":387},{},[388],{"type":33,"value":389},"营销接口",{"type":27,"tag":55,"props":391,"children":392},{},[393],{"type":33,"value":394},"实验接口",{"type":27,"tag":55,"props":396,"children":397},{},[398],{"type":33,"value":399},"权限接口",{"type":27,"tag":55,"props":401,"children":402},{},[403],{"type":33,"value":404},"埋点配置接口",{"type":27,"tag":35,"props":406,"children":407},{},[408],{"type":33,"value":409},"任何一个环节慢一点，尾延迟都会被放大。",{"type":27,"tag":220,"props":411,"children":413},{"id":412},"_22-数据开始长大原本可接受的写法变成炸点",[414],{"type":33,"value":415},"2.2 数据开始长大，原本可接受的写法变成炸点",{"type":27,"tag":35,"props":417,"children":418},{},[419],{"type":33,"value":420},"例如：",{"type":27,"tag":51,"props":422,"children":423},{},[424,429,434,439],{"type":27,"tag":55,"props":425,"children":426},{},[427],{"type":33,"value":428},"深分页开始明显变慢",{"type":27,"tag":55,"props":430,"children":431},{},[432],{"type":33,"value":433},"扫描型 SQL 出现抖动",{"type":27,"tag":55,"props":435,"children":436},{},[437],{"type":33,"value":438},"报表和在线查询互相争资源",{"type":27,"tag":55,"props":440,"children":441},{},[442],{"type":33,"value":443},"热点 key 逐渐集中",{"type":27,"tag":220,"props":445,"children":447},{"id":446},"_23-发布开始变成风险放大器",[448],{"type":33,"value":449},"2.3 发布开始变成风险放大器",{"type":27,"tag":35,"props":451,"children":452},{},[453],{"type":33,"value":454},"用户少时，出点问题影响有限；用户多时，同样一个 bug 会被瞬间放大成客诉、退款、舆情和财务问题。",{"type":27,"tag":35,"props":456,"children":457},{},[458],{"type":33,"value":459},"所以规模化系统的升级，很多时候先从：",{"type":27,"tag":51,"props":461,"children":462},{},[463,468,473,478,483],{"type":27,"tag":55,"props":464,"children":465},{},[466],{"type":33,"value":467},"灰度",{"type":27,"tag":55,"props":469,"children":470},{},[471],{"type":33,"value":472},"回滚",{"type":27,"tag":55,"props":474,"children":475},{},[476],{"type":33,"value":477},"开关控制",{"type":27,"tag":55,"props":479,"children":480},{},[481],{"type":33,"value":482},"监控告警",{"type":27,"tag":55,"props":484,"children":485},{},[486],{"type":33,"value":487},"演练",{"type":27,"tag":35,"props":489,"children":490},{},[491],{"type":33,"value":492},"这些“看起来不产出功能”的地方开始。",{"type":27,"tag":171,"props":494,"children":495},{},[],{"type":27,"tag":175,"props":497,"children":499},{"id":498},"三容量规划别等打满了才知道自己没有预算",[500],{"type":33,"value":501},"三、容量规划：别等打满了才知道自己没有预算",{"type":27,"tag":35,"props":503,"children":504},{},[505],{"type":33,"value":506},"很多团队做容量规划像看天气：大概猜一下，希望别下雨。",{"type":27,"tag":35,"props":508,"children":509},{},[510],{"type":33,"value":511},"真正可用的容量规划，至少要回答 4 个问题：",{"type":27,"tag":137,"props":513,"children":514},{},[515,520,525,530],{"type":27,"tag":55,"props":516,"children":517},{},[518],{"type":33,"value":519},"峰值从哪里来",{"type":27,"tag":55,"props":521,"children":522},{},[523],{"type":33,"value":524},"哪条链路最容易先满",{"type":27,"tag":55,"props":526,"children":527},{},[528],{"type":33,"value":529},"满了以后会怎么传导",{"type":27,"tag":55,"props":531,"children":532},{},[533],{"type":33,"value":534},"还能不能在不伤主业务的情况下退化运行",{"type":27,"tag":220,"props":536,"children":538},{"id":537},"_31-一个实用容量表",[539],{"type":33,"value":540},"3.1 一个实用容量表",{"type":27,"tag":261,"props":542,"children":543},{},[544,571],{"type":27,"tag":265,"props":545,"children":546},{},[547],{"type":27,"tag":269,"props":548,"children":549},{},[550,555,561,566],{"type":27,"tag":273,"props":551,"children":552},{},[553],{"type":33,"value":554},"资源",{"type":27,"tag":273,"props":556,"children":558},{"align":557},"right",[559],{"type":33,"value":560},"当前峰值",{"type":27,"tag":273,"props":562,"children":563},{"align":557},[564],{"type":33,"value":565},"安全上限",{"type":27,"tag":273,"props":567,"children":568},{},[569],{"type":33,"value":570},"风险说明",{"type":27,"tag":289,"props":572,"children":573},{},[574,597,620,643,666],{"type":27,"tag":269,"props":575,"children":576},{},[577,582,587,592],{"type":27,"tag":296,"props":578,"children":579},{},[580],{"type":33,"value":581},"API 网关 QPS",{"type":27,"tag":296,"props":583,"children":584},{"align":557},[585],{"type":33,"value":586},"18000",{"type":27,"tag":296,"props":588,"children":589},{"align":557},[590],{"type":33,"value":591},"30000",{"type":27,"tag":296,"props":593,"children":594},{},[595],{"type":33,"value":596},"活动期可能翻 3 倍",{"type":27,"tag":269,"props":598,"children":599},{},[600,605,610,615],{"type":27,"tag":296,"props":601,"children":602},{},[603],{"type":33,"value":604},"Redis QPS",{"type":27,"tag":296,"props":606,"children":607},{"align":557},[608],{"type":33,"value":609},"9000",{"type":27,"tag":296,"props":611,"children":612},{"align":557},[613],{"type":33,"value":614},"20000",{"type":27,"tag":296,"props":616,"children":617},{},[618],{"type":33,"value":619},"热点 key 集中风险",{"type":27,"tag":269,"props":621,"children":622},{},[623,628,633,638],{"type":27,"tag":296,"props":624,"children":625},{},[626],{"type":33,"value":627},"MySQL 主库写 TPS",{"type":27,"tag":296,"props":629,"children":630},{"align":557},[631],{"type":33,"value":632},"1800",{"type":27,"tag":296,"props":634,"children":635},{"align":557},[636],{"type":33,"value":637},"2500",{"type":27,"tag":296,"props":639,"children":640},{},[641],{"type":33,"value":642},"下单高峰最危险",{"type":27,"tag":269,"props":644,"children":645},{},[646,651,656,661],{"type":27,"tag":296,"props":647,"children":648},{},[649],{"type":33,"value":650},"搜索集群 QPS",{"type":27,"tag":296,"props":652,"children":653},{"align":557},[654],{"type":33,"value":655},"3500",{"type":27,"tag":296,"props":657,"children":658},{"align":557},[659],{"type":33,"value":660},"5000",{"type":27,"tag":296,"props":662,"children":663},{},[664],{"type":33,"value":665},"活动导流会放大",{"type":27,"tag":269,"props":667,"children":668},{},[669,674,679,684],{"type":27,"tag":296,"props":670,"children":671},{},[672],{"type":33,"value":673},"消息堆积量",{"type":27,"tag":296,"props":675,"children":676},{"align":557},[677],{"type":33,"value":678},"4 万",{"type":27,"tag":296,"props":680,"children":681},{"align":557},[682],{"type":33,"value":683},"20 万",{"type":27,"tag":296,"props":685,"children":686},{},[687],{"type":33,"value":688},"高峰期可接受短暂积压",{"type":27,"tag":35,"props":690,"children":691},{},[692],{"type":33,"value":693},"这张表的价值，不是看“今天还够不够”，而是看：",{"type":27,"tag":51,"props":695,"children":696},{},[697,702,707],{"type":27,"tag":55,"props":698,"children":699},{},[700],{"type":33,"value":701},"哪个组件离边界最近",{"type":27,"tag":55,"props":703,"children":704},{},[705],{"type":33,"value":706},"哪个组件最值得优先扩容或优化",{"type":27,"tag":55,"props":708,"children":709},{},[710],{"type":33,"value":711},"某个新活动会不会压过安全线",{"type":27,"tag":220,"props":713,"children":715},{"id":714},"_32-压测的正确姿势",[716],{"type":33,"value":717},"3.2 压测的正确姿势",{"type":27,"tag":35,"props":719,"children":720},{},[721],{"type":33,"value":722},"压测不该只测一条 happy path。",{"type":27,"tag":35,"props":724,"children":725},{},[726],{"type":33,"value":727},"应该至少覆盖：",{"type":27,"tag":51,"props":729,"children":730},{},[731,736,741,746,751],{"type":27,"tag":55,"props":732,"children":733},{},[734],{"type":33,"value":735},"热点读场景",{"type":27,"tag":55,"props":737,"children":738},{},[739],{"type":33,"value":740},"核心写场景",{"type":27,"tag":55,"props":742,"children":743},{},[744],{"type":33,"value":745},"高峰登录 / 下单 / 支付场景",{"type":27,"tag":55,"props":747,"children":748},{},[749],{"type":33,"value":750},"缓存失效场景",{"type":27,"tag":55,"props":752,"children":753},{},[754],{"type":33,"value":755},"某个下游变慢的场景",{"type":27,"tag":35,"props":757,"children":758},{},[759],{"type":33,"value":760},"真正有价值的压测，不是证明“系统很强”，而是找出“系统先死在哪”。",{"type":27,"tag":171,"props":762,"children":763},{},[],{"type":27,"tag":175,"props":765,"children":767},{"id":766},"四架构升级的第一原则优先拆最贵的路径",[768],{"type":33,"value":769},"四、架构升级的第一原则：优先拆最贵的路径",{"type":27,"tag":35,"props":771,"children":772},{},[773],{"type":33,"value":774},"当系统增长时，不是每条链路都值得同等投入。",{"type":27,"tag":220,"props":776,"children":778},{"id":777},"_41-把链路分成三类",[779],{"type":33,"value":780},"4.1 把链路分成三类",{"type":27,"tag":782,"props":783,"children":785},"h4",{"id":784},"a-类收入和核心体验直接相关",[786],{"type":33,"value":787},"A 类：收入和核心体验直接相关",{"type":27,"tag":35,"props":789,"children":790},{},[791],{"type":33,"value":420},{"type":27,"tag":51,"props":793,"children":794},{},[795,800,805,810],{"type":27,"tag":55,"props":796,"children":797},{},[798],{"type":33,"value":799},"登录",{"type":27,"tag":55,"props":801,"children":802},{},[803],{"type":33,"value":804},"搜索",{"type":27,"tag":55,"props":806,"children":807},{},[808],{"type":33,"value":809},"下单",{"type":27,"tag":55,"props":811,"children":812},{},[813],{"type":33,"value":814},"支付",{"type":27,"tag":35,"props":816,"children":817},{},[818],{"type":33,"value":819},"这些路径必须优先保。",{"type":27,"tag":782,"props":821,"children":823},{"id":822},"b-类对转化有影响但可有限降级",[824],{"type":33,"value":825},"B 类：对转化有影响，但可有限降级",{"type":27,"tag":35,"props":827,"children":828},{},[829],{"type":33,"value":420},{"type":27,"tag":51,"props":831,"children":832},{},[833,838,843,848],{"type":27,"tag":55,"props":834,"children":835},{},[836],{"type":33,"value":837},"推荐位",{"type":27,"tag":55,"props":839,"children":840},{},[841],{"type":33,"value":842},"评论摘要",{"type":27,"tag":55,"props":844,"children":845},{},[846],{"type":33,"value":847},"个性化标签",{"type":27,"tag":55,"props":849,"children":850},{},[851],{"type":33,"value":852},"营销提示",{"type":27,"tag":782,"props":854,"children":856},{"id":855},"c-类装饰性或可延后",[857],{"type":33,"value":858},"C 类：装饰性或可延后",{"type":27,"tag":35,"props":860,"children":861},{},[862],{"type":33,"value":420},{"type":27,"tag":51,"props":864,"children":865},{},[866,871,876],{"type":27,"tag":55,"props":867,"children":868},{},[869],{"type":33,"value":870},"非关键埋点",{"type":27,"tag":55,"props":872,"children":873},{},[874],{"type":33,"value":875},"次要统计接口",{"type":27,"tag":55,"props":877,"children":878},{},[879],{"type":33,"value":880},"某些后台分析项",{"type":27,"tag":220,"props":882,"children":884},{"id":883},"_42-为什么这一步最重要",[885],{"type":33,"value":886},"4.2 为什么这一步最重要",{"type":27,"tag":35,"props":888,"children":889},{},[890],{"type":33,"value":891},"因为系统到 100 万用户阶段，资源永远有限。",{"type":27,"tag":35,"props":893,"children":894},{},[895],{"type":33,"value":896},"你必须清楚：",{"type":27,"tag":51,"props":898,"children":899},{},[900,905,910],{"type":27,"tag":55,"props":901,"children":902},{},[903],{"type":33,"value":904},"高峰时什么必须成功",{"type":27,"tag":55,"props":906,"children":907},{},[908],{"type":33,"value":909},"什么可以返回旧数据",{"type":27,"tag":55,"props":911,"children":912},{},[913],{"type":33,"value":914},"什么可以暂时关闭",{"type":27,"tag":35,"props":916,"children":917},{},[918],{"type":33,"value":919},"如果没有这层优先级设计，所有请求在系统里地位相同，最后最容易发生的就是：",{"type":27,"tag":119,"props":921,"children":922},{},[923],{"type":27,"tag":35,"props":924,"children":925},{},[926],{"type":33,"value":927},"非核心流量把核心链路一起拖死。",{"type":27,"tag":171,"props":929,"children":930},{},[],{"type":27,"tag":175,"props":932,"children":934},{"id":933},"五数据库和数据治理最容易后知后觉的风险源",[935],{"type":33,"value":936},"五、数据库和数据治理：最容易后知后觉的风险源",{"type":27,"tag":220,"props":938,"children":940},{"id":939},"_51-从能查出来升级到可持续地查出来",[941],{"type":33,"value":942},"5.1 从“能查出来”升级到“可持续地查出来”",{"type":27,"tag":35,"props":944,"children":945},{},[946],{"type":33,"value":947},"10 万用户阶段，很多 SQL 还能靠索引和缓存扛住。",{"type":27,"tag":35,"props":949,"children":950},{},[951],{"type":33,"value":952},"100 万用户阶段要开始考虑：",{"type":27,"tag":51,"props":954,"children":955},{},[956,961,966,971,976],{"type":27,"tag":55,"props":957,"children":958},{},[959],{"type":33,"value":960},"热冷数据分层",{"type":27,"tag":55,"props":962,"children":963},{},[964],{"type":33,"value":965},"在线查询和分析查询隔离",{"type":27,"tag":55,"props":967,"children":968},{},[969],{"type":33,"value":970},"汇总表和明细表拆分",{"type":27,"tag":55,"props":972,"children":973},{},[974],{"type":33,"value":975},"读写分离",{"type":27,"tag":55,"props":977,"children":978},{},[979],{"type":33,"value":980},"数据生命周期治理",{"type":27,"tag":220,"props":982,"children":984},{"id":983},"_52-一个典型演进过程",[985],{"type":33,"value":986},"5.2 一个典型演进过程",{"type":27,"tag":782,"props":988,"children":990},{"id":989},"初期",[991],{"type":33,"value":989},{"type":27,"tag":35,"props":993,"children":994},{},[995],{"type":33,"value":996},"一个订单表什么都查：",{"type":27,"tag":51,"props":998,"children":999},{},[1000,1005,1010,1015],{"type":27,"tag":55,"props":1001,"children":1002},{},[1003],{"type":33,"value":1004},"用户查历史订单",{"type":27,"tag":55,"props":1006,"children":1007},{},[1008],{"type":33,"value":1009},"财务查对账",{"type":27,"tag":55,"props":1011,"children":1012},{},[1013],{"type":33,"value":1014},"运营查活动效果",{"type":27,"tag":55,"props":1016,"children":1017},{},[1018],{"type":33,"value":1019},"BI 跑周报",{"type":27,"tag":782,"props":1021,"children":1023},{"id":1022},"中期",[1024],{"type":33,"value":1022},{"type":27,"tag":35,"props":1026,"children":1027},{},[1028],{"type":33,"value":1029},"开始出现：",{"type":27,"tag":51,"props":1031,"children":1032},{},[1033,1038,1043,1048],{"type":27,"tag":55,"props":1034,"children":1035},{},[1036],{"type":33,"value":1037},"慢查询",{"type":27,"tag":55,"props":1039,"children":1040},{},[1041],{"type":33,"value":1042},"锁争用",{"type":27,"tag":55,"props":1044,"children":1045},{},[1046],{"type":33,"value":1047},"索引越来越多",{"type":27,"tag":55,"props":1049,"children":1050},{},[1051],{"type":33,"value":1052},"写入抖动",{"type":27,"tag":782,"props":1054,"children":1056},{"id":1055},"后期更合理的做法",[1057],{"type":33,"value":1055},{"type":27,"tag":51,"props":1059,"children":1060},{},[1061,1066,1071,1076],{"type":27,"tag":55,"props":1062,"children":1063},{},[1064],{"type":33,"value":1065},"在线订单主表服务主业务",{"type":27,"tag":55,"props":1067,"children":1068},{},[1069],{"type":33,"value":1070},"汇总查询走报表层",{"type":27,"tag":55,"props":1072,"children":1073},{},[1074],{"type":33,"value":1075},"旧数据归档",{"type":27,"tag":55,"props":1077,"children":1078},{},[1079],{"type":33,"value":1080},"热数据保留在高性能路径",{"type":27,"tag":35,"props":1082,"children":1083},{},[1084],{"type":33,"value":1085},"这不是为了“架构优雅”，而是为了让核心链路别被外围需求拖死。",{"type":27,"tag":171,"props":1087,"children":1088},{},[],{"type":27,"tag":175,"props":1090,"children":1092},{"id":1091},"六缓存体系升级从加一个-redis到分层保护",[1093],{"type":33,"value":1094},"六、缓存体系升级：从“加一个 Redis”到分层保护",{"type":27,"tag":35,"props":1096,"children":1097},{},[1098],{"type":33,"value":1099},"用户规模变大后，缓存不再只是加速器，而是保护层。",{"type":27,"tag":220,"props":1101,"children":1103},{"id":1102},"_61-三个必须思考的问题",[1104],{"type":33,"value":1105},"6.1 三个必须思考的问题",{"type":27,"tag":137,"props":1107,"children":1108},{},[1109,1114,1119],{"type":27,"tag":55,"props":1110,"children":1111},{},[1112],{"type":33,"value":1113},"哪些数据适合放在浏览器 / CDN",{"type":27,"tag":55,"props":1115,"children":1116},{},[1117],{"type":33,"value":1118},"哪些热点必须本地缓存 + Redis 双层保护",{"type":27,"tag":55,"props":1120,"children":1121},{},[1122],{"type":33,"value":1123},"哪些数据根本不该缓存",{"type":27,"tag":220,"props":1125,"children":1127},{"id":1126},"_62-三类高风险缓存问题",[1128],{"type":33,"value":1129},"6.2 三类高风险缓存问题",{"type":27,"tag":51,"props":1131,"children":1132},{},[1133,1138,1143],{"type":27,"tag":55,"props":1134,"children":1135},{},[1136],{"type":33,"value":1137},"热点 key 击穿",{"type":27,"tag":55,"props":1139,"children":1140},{},[1141],{"type":33,"value":1142},"整批 key 同时过期",{"type":27,"tag":55,"props":1144,"children":1145},{},[1146],{"type":33,"value":1147},"个性化维度太多导致缓存污染",{"type":27,"tag":220,"props":1149,"children":1151},{"id":1150},"_63-一个更成熟的思路",[1152],{"type":33,"value":1153},"6.3 一个更成熟的思路",{"type":27,"tag":35,"props":1155,"children":1156},{},[1157],{"type":33,"value":1158},"系统增长到这一阶段，缓存设计必须同时考虑：",{"type":27,"tag":51,"props":1160,"children":1161},{},[1162,1167,1172,1177,1182],{"type":27,"tag":55,"props":1163,"children":1164},{},[1165],{"type":33,"value":1166},"命中率",{"type":27,"tag":55,"props":1168,"children":1169},{},[1170],{"type":33,"value":1171},"回源代价",{"type":27,"tag":55,"props":1173,"children":1174},{},[1175],{"type":33,"value":1176},"失效方式",{"type":27,"tag":55,"props":1178,"children":1179},{},[1180],{"type":33,"value":1181},"一致性边界",{"type":27,"tag":55,"props":1183,"children":1184},{},[1185],{"type":33,"value":1186},"保护主链路的优先级",{"type":27,"tag":35,"props":1188,"children":1189},{},[1190],{"type":33,"value":1191},"如果你还在用“哪里慢就缓存哪里”的临时策略，规模一大很容易出事故。",{"type":27,"tag":171,"props":1193,"children":1194},{},[],{"type":27,"tag":175,"props":1196,"children":1198},{"id":1197},"七流量治理不是流量大了才需要而是流量大了你来不及补",[1199],{"type":33,"value":1200},"七、流量治理：不是流量大了才需要，而是流量大了你来不及补",{"type":27,"tag":35,"props":1202,"children":1203},{},[1204],{"type":33,"value":1205},"很多团队直到第一次大促失败，才开始认真做：",{"type":27,"tag":51,"props":1207,"children":1208},{},[1209,1214,1219,1224,1228],{"type":27,"tag":55,"props":1210,"children":1211},{},[1212],{"type":33,"value":1213},"限流",{"type":27,"tag":55,"props":1215,"children":1216},{},[1217],{"type":33,"value":1218},"熔断",{"type":27,"tag":55,"props":1220,"children":1221},{},[1222],{"type":33,"value":1223},"降级",{"type":27,"tag":55,"props":1225,"children":1226},{},[1227],{"type":33,"value":467},{"type":27,"tag":55,"props":1229,"children":1230},{},[1231],{"type":33,"value":477},{"type":27,"tag":35,"props":1233,"children":1234},{},[1235],{"type":33,"value":1236},"其实这些能力应该在规模上来之前就补齐。",{"type":27,"tag":220,"props":1238,"children":1240},{"id":1239},"_71-一个务实的高峰保护策略",[1241],{"type":33,"value":1242},"7.1 一个务实的高峰保护策略",{"type":27,"tag":261,"props":1244,"children":1245},{},[1246,1267],{"type":27,"tag":265,"props":1247,"children":1248},{},[1249],{"type":27,"tag":269,"props":1250,"children":1251},{},[1252,1257,1262],{"type":27,"tag":273,"props":1253,"children":1254},{},[1255],{"type":33,"value":1256},"层级",{"type":27,"tag":273,"props":1258,"children":1259},{},[1260],{"type":33,"value":1261},"保护动作",{"type":27,"tag":273,"props":1263,"children":1264},{},[1265],{"type":33,"value":1266},"目的",{"type":27,"tag":289,"props":1268,"children":1269},{},[1270,1288,1306,1324,1342],{"type":27,"tag":269,"props":1271,"children":1272},{},[1273,1278,1283],{"type":27,"tag":296,"props":1274,"children":1275},{},[1276],{"type":33,"value":1277},"CDN / Edge",{"type":27,"tag":296,"props":1279,"children":1280},{},[1281],{"type":33,"value":1282},"吸收重复请求",{"type":27,"tag":296,"props":1284,"children":1285},{},[1286],{"type":33,"value":1287},"把大流量挡在最外层",{"type":27,"tag":269,"props":1289,"children":1290},{},[1291,1296,1301],{"type":27,"tag":296,"props":1292,"children":1293},{},[1294],{"type":33,"value":1295},"网关",{"type":27,"tag":296,"props":1297,"children":1298},{},[1299],{"type":33,"value":1300},"总流量限流、租户隔离",{"type":27,"tag":296,"props":1302,"children":1303},{},[1304],{"type":33,"value":1305},"入口保护",{"type":27,"tag":269,"props":1307,"children":1308},{},[1309,1314,1319],{"type":27,"tag":296,"props":1310,"children":1311},{},[1312],{"type":33,"value":1313},"应用",{"type":27,"tag":296,"props":1315,"children":1316},{},[1317],{"type":33,"value":1318},"热点接口限流、降级",{"type":27,"tag":296,"props":1320,"children":1321},{},[1322],{"type":33,"value":1323},"避免内部雪崩",{"type":27,"tag":269,"props":1325,"children":1326},{},[1327,1332,1337],{"type":27,"tag":296,"props":1328,"children":1329},{},[1330],{"type":33,"value":1331},"依赖调用",{"type":27,"tag":296,"props":1333,"children":1334},{},[1335],{"type":33,"value":1336},"熔断、超时、重试边界",{"type":27,"tag":296,"props":1338,"children":1339},{},[1340],{"type":33,"value":1341},"保护下游",{"type":27,"tag":269,"props":1343,"children":1344},{},[1345,1350,1355],{"type":27,"tag":296,"props":1346,"children":1347},{},[1348],{"type":33,"value":1349},"数据层",{"type":27,"tag":296,"props":1351,"children":1352},{},[1353],{"type":33,"value":1354},"主从分工、容量预留",{"type":27,"tag":296,"props":1356,"children":1357},{},[1358],{"type":33,"value":1359},"保护核心资源",{"type":27,"tag":220,"props":1361,"children":1363},{"id":1362},"_72-为什么开关系统很值钱",[1364],{"type":33,"value":1365},"7.2 为什么开关系统很值钱",{"type":27,"tag":35,"props":1367,"children":1368},{},[1369],{"type":33,"value":1370},"功能开关不是为了方便产品试验而已，它在规模化系统里还有一个重要价值：",{"type":27,"tag":119,"props":1372,"children":1373},{},[1374],{"type":27,"tag":35,"props":1375,"children":1376},{},[1377],{"type":33,"value":1378},"故障时可以快速剪掉非核心能力。",{"type":27,"tag":35,"props":1380,"children":1381},{},[1382],{"type":33,"value":420},{"type":27,"tag":51,"props":1384,"children":1385},{},[1386,1391,1396,1401],{"type":27,"tag":55,"props":1387,"children":1388},{},[1389],{"type":33,"value":1390},"推荐位关闭",{"type":27,"tag":55,"props":1392,"children":1393},{},[1394],{"type":33,"value":1395},"评论摘要关闭",{"type":27,"tag":55,"props":1397,"children":1398},{},[1399],{"type":33,"value":1400},"某些营销提示关闭",{"type":27,"tag":55,"props":1402,"children":1403},{},[1404],{"type":33,"value":1405},"某个高成本接口切到旧缓存",{"type":27,"tag":35,"props":1407,"children":1408},{},[1409],{"type":33,"value":1410},"你会发现，很多真正保命的手段，都不是在事故现场新写出来的，而是平时先准备好的。",{"type":27,"tag":171,"props":1412,"children":1413},{},[],{"type":27,"tag":175,"props":1415,"children":1417},{"id":1416},"八发布和回滚用户越多越要把可恢复性当核心能力",[1418],{"type":33,"value":1419},"八、发布和回滚：用户越多，越要把“可恢复性”当核心能力",{"type":27,"tag":220,"props":1421,"children":1423},{"id":1422},"_81-100-万用户阶段发布已经不是开发动作而是经营动作",[1424],{"type":33,"value":1425},"8.1 100 万用户阶段，发布已经不是开发动作，而是经营动作",{"type":27,"tag":35,"props":1427,"children":1428},{},[1429],{"type":33,"value":1430},"因为每次发布都可能影响：",{"type":27,"tag":51,"props":1432,"children":1433},{},[1434,1439,1444,1449,1454],{"type":27,"tag":55,"props":1435,"children":1436},{},[1437],{"type":33,"value":1438},"订单",{"type":27,"tag":55,"props":1440,"children":1441},{},[1442],{"type":33,"value":1443},"收入",{"type":27,"tag":55,"props":1445,"children":1446},{},[1447],{"type":33,"value":1448},"口碑",{"type":27,"tag":55,"props":1450,"children":1451},{},[1452],{"type":33,"value":1453},"客诉",{"type":27,"tag":55,"props":1455,"children":1456},{},[1457],{"type":33,"value":1458},"合作方 SLA",{"type":27,"tag":35,"props":1460,"children":1461},{},[1462],{"type":33,"value":1463},"所以发布系统需要升级成：",{"type":27,"tag":51,"props":1465,"children":1466},{},[1467,1472,1477,1482,1487],{"type":27,"tag":55,"props":1468,"children":1469},{},[1470],{"type":33,"value":1471},"分批灰度",{"type":27,"tag":55,"props":1473,"children":1474},{},[1475],{"type":33,"value":1476},"监控联动",{"type":27,"tag":55,"props":1478,"children":1479},{},[1480],{"type":33,"value":1481},"一键回滚",{"type":27,"tag":55,"props":1483,"children":1484},{},[1485],{"type":33,"value":1486},"配置与代码分离",{"type":27,"tag":55,"props":1488,"children":1489},{},[1490],{"type":33,"value":1491},"关键指标自动看护",{"type":27,"tag":220,"props":1493,"children":1495},{"id":1494},"_82-一个简单的灰度策略",[1496],{"type":33,"value":1497},"8.2 一个简单的灰度策略",{"type":27,"tag":1499,"props":1500,"children":1503},"pre",{"className":1501,"code":1502,"language":33,"meta":7,"style":7},"language-text shiki shiki-themes github-dark","1% 内部员工\n  ↓\n5% 白名单用户\n  ↓\n20% 低风险地区\n  ↓\n50% 全量观察\n  ↓\n100% 正式放量\n",[1504],{"type":27,"tag":1505,"props":1506,"children":1507},"code",{"__ignoreMap":7},[1508,1519,1528,1537,1545,1554,1562,1570,1578],{"type":27,"tag":1509,"props":1510,"children":1513},"span",{"class":1511,"line":1512},"line",1,[1514],{"type":27,"tag":1509,"props":1515,"children":1516},{},[1517],{"type":33,"value":1518},"1% 内部员工\n",{"type":27,"tag":1509,"props":1520,"children":1522},{"class":1511,"line":1521},2,[1523],{"type":27,"tag":1509,"props":1524,"children":1525},{},[1526],{"type":33,"value":1527},"  ↓\n",{"type":27,"tag":1509,"props":1529,"children":1531},{"class":1511,"line":1530},3,[1532],{"type":27,"tag":1509,"props":1533,"children":1534},{},[1535],{"type":33,"value":1536},"5% 白名单用户\n",{"type":27,"tag":1509,"props":1538,"children":1540},{"class":1511,"line":1539},4,[1541],{"type":27,"tag":1509,"props":1542,"children":1543},{},[1544],{"type":33,"value":1527},{"type":27,"tag":1509,"props":1546,"children":1548},{"class":1511,"line":1547},5,[1549],{"type":27,"tag":1509,"props":1550,"children":1551},{},[1552],{"type":33,"value":1553},"20% 低风险地区\n",{"type":27,"tag":1509,"props":1555,"children":1557},{"class":1511,"line":1556},6,[1558],{"type":27,"tag":1509,"props":1559,"children":1560},{},[1561],{"type":33,"value":1527},{"type":27,"tag":1509,"props":1563,"children":1564},{"class":1511,"line":20},[1565],{"type":27,"tag":1509,"props":1566,"children":1567},{},[1568],{"type":33,"value":1569},"50% 全量观察\n",{"type":27,"tag":1509,"props":1571,"children":1573},{"class":1511,"line":1572},8,[1574],{"type":27,"tag":1509,"props":1575,"children":1576},{},[1577],{"type":33,"value":1527},{"type":27,"tag":1509,"props":1579,"children":1581},{"class":1511,"line":1580},9,[1582],{"type":27,"tag":1509,"props":1583,"children":1584},{},[1585],{"type":33,"value":1586},"100% 正式放量\n",{"type":27,"tag":35,"props":1588,"children":1589},{},[1590],{"type":33,"value":1591},"每一步都要看：",{"type":27,"tag":51,"props":1593,"children":1594},{},[1595,1600,1605,1610],{"type":27,"tag":55,"props":1596,"children":1597},{},[1598],{"type":33,"value":1599},"错误率",{"type":27,"tag":55,"props":1601,"children":1602},{},[1603],{"type":33,"value":1604},"P95 / P99",{"type":27,"tag":55,"props":1606,"children":1607},{},[1608],{"type":33,"value":1609},"关键业务转化",{"type":27,"tag":55,"props":1611,"children":1612},{},[1613],{"type":33,"value":1614},"下游依赖负载",{"type":27,"tag":35,"props":1616,"children":1617},{},[1618],{"type":33,"value":1619},"没有这些指标联动，灰度就只剩“慢一点出事”。",{"type":27,"tag":171,"props":1621,"children":1622},{},[],{"type":27,"tag":175,"props":1624,"children":1626},{"id":1625},"九组织也要升级很多系统问题其实是协作问题",[1627],{"type":33,"value":1628},"九、组织也要升级：很多系统问题，其实是协作问题",{"type":27,"tag":35,"props":1630,"children":1631},{},[1632],{"type":33,"value":1633},"技术系统变大后，组织如果没跟上，会出现一种很常见的现象：",{"type":27,"tag":51,"props":1635,"children":1636},{},[1637,1642],{"type":27,"tag":55,"props":1638,"children":1639},{},[1640],{"type":33,"value":1641},"每个人都在优化局部",{"type":27,"tag":55,"props":1643,"children":1644},{},[1645],{"type":33,"value":1646},"但没人对全链路结果负责",{"type":27,"tag":220,"props":1648,"children":1650},{"id":1649},"_91-规模化阶段的三个组织变化",[1651],{"type":33,"value":1652},"9.1 规模化阶段的三个组织变化",{"type":27,"tag":782,"props":1654,"children":1656},{"id":1655},"a-明确-owner",[1657],{"type":33,"value":1658},"A. 明确 owner",{"type":27,"tag":35,"props":1660,"children":1661},{},[1662],{"type":33,"value":1663},"核心域必须有明确 owner，不然问题来了永远在拉群找人。",{"type":27,"tag":782,"props":1665,"children":1667},{"id":1666},"b-指标归属明确",[1668],{"type":33,"value":1669},"B. 指标归属明确",{"type":27,"tag":35,"props":1671,"children":1672},{},[1673],{"type":33,"value":1674},"接口慢了、缓存命中低了、数据库抖了，到底谁负责，不应该靠临时协调。",{"type":27,"tag":782,"props":1676,"children":1678},{"id":1677},"c-例行容量和故障复盘机制",[1679],{"type":33,"value":1680},"C. 例行容量和故障复盘机制",{"type":27,"tag":35,"props":1682,"children":1683},{},[1684],{"type":33,"value":1685},"增长型系统必须把这些变成制度：",{"type":27,"tag":51,"props":1687,"children":1688},{},[1689,1694,1699,1704],{"type":27,"tag":55,"props":1690,"children":1691},{},[1692],{"type":33,"value":1693},"容量评审",{"type":27,"tag":55,"props":1695,"children":1696},{},[1697],{"type":33,"value":1698},"大促演练",{"type":27,"tag":55,"props":1700,"children":1701},{},[1702],{"type":33,"value":1703},"变更评审",{"type":27,"tag":55,"props":1705,"children":1706},{},[1707],{"type":33,"value":1708},"故障复盘",{"type":27,"tag":35,"props":1710,"children":1711},{},[1712],{"type":33,"value":1713},"没有这些机制，系统增长越快，失控也越快。",{"type":27,"tag":171,"props":1715,"children":1716},{},[],{"type":27,"tag":175,"props":1718,"children":1720},{"id":1719},"十一个从-10-万到-100-万用户的阶段性路线图",[1721],{"type":33,"value":1722},"十、一个从 10 万到 100 万用户的阶段性路线图",{"type":27,"tag":220,"props":1724,"children":1726},{"id":1725},"阶段-110-万到-20-万",[1727],{"type":33,"value":1728},"阶段 1：10 万到 20 万",{"type":27,"tag":35,"props":1730,"children":1731},{},[1732],{"type":33,"value":1733},"重点：补基础工程能力",{"type":27,"tag":51,"props":1735,"children":1736},{},[1737,1741,1746,1751,1756],{"type":27,"tag":55,"props":1738,"children":1739},{},[1740],{"type":33,"value":482},{"type":27,"tag":55,"props":1742,"children":1743},{},[1744],{"type":33,"value":1745},"日志和 tracing",{"type":27,"tag":55,"props":1747,"children":1748},{},[1749],{"type":33,"value":1750},"索引与热点 SQL 治理",{"type":27,"tag":55,"props":1752,"children":1753},{},[1754],{"type":33,"value":1755},"缓存初步分层",{"type":27,"tag":55,"props":1757,"children":1758},{},[1759],{"type":33,"value":1760},"基本压测能力",{"type":27,"tag":220,"props":1762,"children":1764},{"id":1763},"阶段-220-万到-50-万",[1765],{"type":33,"value":1766},"阶段 2：20 万到 50 万",{"type":27,"tag":35,"props":1768,"children":1769},{},[1770],{"type":33,"value":1771},"重点：识别系统边界和热点路径",{"type":27,"tag":51,"props":1773,"children":1774},{},[1775,1780,1785,1790],{"type":27,"tag":55,"props":1776,"children":1777},{},[1778],{"type":33,"value":1779},"核心链路拆分",{"type":27,"tag":55,"props":1781,"children":1782},{},[1783],{"type":33,"value":1784},"热点接口专项优化",{"type":27,"tag":55,"props":1786,"children":1787},{},[1788],{"type":33,"value":1789},"CDN / 网关治理",{"type":27,"tag":55,"props":1791,"children":1792},{},[1793],{"type":33,"value":1794},"灰度与开关系统完善",{"type":27,"tag":220,"props":1796,"children":1798},{"id":1797},"阶段-350-万到-100-万",[1799],{"type":33,"value":1800},"阶段 3：50 万到 100 万",{"type":27,"tag":35,"props":1802,"children":1803},{},[1804],{"type":33,"value":1805},"重点：从“能扛”升级到“可预测”",{"type":27,"tag":51,"props":1807,"children":1808},{},[1809,1814,1818,1823,1828],{"type":27,"tag":55,"props":1810,"children":1811},{},[1812],{"type":33,"value":1813},"容量规划常态化",{"type":27,"tag":55,"props":1815,"children":1816},{},[1817],{"type":33,"value":980},{"type":27,"tag":55,"props":1819,"children":1820},{},[1821],{"type":33,"value":1822},"核心链路故障演练",{"type":27,"tag":55,"props":1824,"children":1825},{},[1826],{"type":33,"value":1827},"组织 owner 和 SLA 明确",{"type":27,"tag":55,"props":1829,"children":1830},{},[1831],{"type":33,"value":1832},"自动化扩容与回滚",{"type":27,"tag":220,"props":1834,"children":1836},{"id":1835},"_101-一个收益对比示例",[1837],{"type":33,"value":1838},"10.1 一个收益对比示例",{"type":27,"tag":35,"props":1840,"children":1841},{},[1842],{"type":33,"value":1843},"某内容电商平台做完这一轮升级后：",{"type":27,"tag":261,"props":1845,"children":1846},{},[1847,1867],{"type":27,"tag":265,"props":1848,"children":1849},{},[1850],{"type":27,"tag":269,"props":1851,"children":1852},{},[1853,1857,1862],{"type":27,"tag":273,"props":1854,"children":1855},{},[1856],{"type":33,"value":277},{"type":27,"tag":273,"props":1858,"children":1859},{"align":557},[1860],{"type":33,"value":1861},"升级前",{"type":27,"tag":273,"props":1863,"children":1864},{"align":557},[1865],{"type":33,"value":1866},"升级后",{"type":27,"tag":289,"props":1868,"children":1869},{},[1870,1888,1906,1924,1942],{"type":27,"tag":269,"props":1871,"children":1872},{},[1873,1878,1883],{"type":27,"tag":296,"props":1874,"children":1875},{},[1876],{"type":33,"value":1877},"首页 P95",{"type":27,"tag":296,"props":1879,"children":1880},{"align":557},[1881],{"type":33,"value":1882},"920ms",{"type":27,"tag":296,"props":1884,"children":1885},{"align":557},[1886],{"type":33,"value":1887},"180ms",{"type":27,"tag":269,"props":1889,"children":1890},{},[1891,1896,1901],{"type":27,"tag":296,"props":1892,"children":1893},{},[1894],{"type":33,"value":1895},"下单成功率",{"type":27,"tag":296,"props":1897,"children":1898},{"align":557},[1899],{"type":33,"value":1900},"95.8%",{"type":27,"tag":296,"props":1902,"children":1903},{"align":557},[1904],{"type":33,"value":1905},"99.4%",{"type":27,"tag":269,"props":1907,"children":1908},{},[1909,1914,1919],{"type":27,"tag":296,"props":1910,"children":1911},{},[1912],{"type":33,"value":1913},"高峰数据库 CPU",{"type":27,"tag":296,"props":1915,"children":1916},{"align":557},[1917],{"type":33,"value":1918},"89%",{"type":27,"tag":296,"props":1920,"children":1921},{"align":557},[1922],{"type":33,"value":1923},"54%",{"type":27,"tag":269,"props":1925,"children":1926},{},[1927,1932,1937],{"type":27,"tag":296,"props":1928,"children":1929},{},[1930],{"type":33,"value":1931},"故障平均恢复时间",{"type":27,"tag":296,"props":1933,"children":1934},{"align":557},[1935],{"type":33,"value":1936},"47 分钟",{"type":27,"tag":296,"props":1938,"children":1939},{"align":557},[1940],{"type":33,"value":1941},"11 分钟",{"type":27,"tag":269,"props":1943,"children":1944},{},[1945,1950,1955],{"type":27,"tag":296,"props":1946,"children":1947},{},[1948],{"type":33,"value":1949},"大促前人工值守人数",{"type":27,"tag":296,"props":1951,"children":1952},{"align":557},[1953],{"type":33,"value":1954},"14",{"type":27,"tag":296,"props":1956,"children":1957},{"align":557},[1958],{"type":33,"value":1959},"6",{"type":27,"tag":35,"props":1961,"children":1962},{},[1963],{"type":33,"value":1964},"注意，真正的收益不只是“更快”，而是：",{"type":27,"tag":51,"props":1966,"children":1967},{},[1968,1973,1978,1983],{"type":27,"tag":55,"props":1969,"children":1970},{},[1971],{"type":33,"value":1972},"更稳",{"type":27,"tag":55,"props":1974,"children":1975},{},[1976],{"type":33,"value":1977},"更省",{"type":27,"tag":55,"props":1979,"children":1980},{},[1981],{"type":33,"value":1982},"更可恢复",{"type":27,"tag":55,"props":1984,"children":1985},{},[1986],{"type":33,"value":1987},"更少依赖英雄主义",{"type":27,"tag":171,"props":1989,"children":1990},{},[],{"type":27,"tag":175,"props":1992,"children":1994},{"id":1993},"十一给团队的百万用户升级检查清单",[1995],{"type":33,"value":1996},"十一、给团队的百万用户升级检查清单",{"type":27,"tag":220,"props":1998,"children":2000},{"id":1999},"容量层",[2001],{"type":33,"value":1999},{"type":27,"tag":51,"props":2003,"children":2006},{"className":2004},[2005],"contains-task-list",[2007,2019,2028],{"type":27,"tag":55,"props":2008,"children":2011},{"className":2009},[2010],"task-list-item",[2012,2017],{"type":27,"tag":2013,"props":2014,"children":2016},"input",{"disabled":18,"type":2015},"checkbox",[],{"type":33,"value":2018}," 是否有核心链路峰值容量表",{"type":27,"tag":55,"props":2020,"children":2022},{"className":2021},[2010],[2023,2026],{"type":27,"tag":2013,"props":2024,"children":2025},{"disabled":18,"type":2015},[],{"type":33,"value":2027}," 是否知道最先会打满哪个组件",{"type":27,"tag":55,"props":2029,"children":2031},{"className":2030},[2010],[2032,2035],{"type":27,"tag":2013,"props":2033,"children":2034},{"disabled":18,"type":2015},[],{"type":33,"value":2036}," 是否有接近生产的压测结果",{"type":27,"tag":220,"props":2038,"children":2040},{"id":2039},"架构层",[2041],{"type":33,"value":2039},{"type":27,"tag":51,"props":2043,"children":2045},{"className":2044},[2005],[2046,2055,2064],{"type":27,"tag":55,"props":2047,"children":2049},{"className":2048},[2010],[2050,2053],{"type":27,"tag":2013,"props":2051,"children":2052},{"disabled":18,"type":2015},[],{"type":33,"value":2054}," 是否明确了 P0 / P1 / P2 业务优先级",{"type":27,"tag":55,"props":2056,"children":2058},{"className":2057},[2010],[2059,2062],{"type":27,"tag":2013,"props":2060,"children":2061},{"disabled":18,"type":2015},[],{"type":33,"value":2063}," 是否拆出了最重、最贵、最危险的路径",{"type":27,"tag":55,"props":2065,"children":2067},{"className":2066},[2010],[2068,2071],{"type":27,"tag":2013,"props":2069,"children":2070},{"disabled":18,"type":2015},[],{"type":33,"value":2072}," 是否具备缓存、流量治理、故障隔离能力",{"type":27,"tag":220,"props":2074,"children":2075},{"id":1349},[2076],{"type":33,"value":1349},{"type":27,"tag":51,"props":2078,"children":2080},{"className":2079},[2005],[2081,2090,2099],{"type":27,"tag":55,"props":2082,"children":2084},{"className":2083},[2010],[2085,2088],{"type":27,"tag":2013,"props":2086,"children":2087},{"disabled":18,"type":2015},[],{"type":33,"value":2089}," 是否区分在线与分析查询",{"type":27,"tag":55,"props":2091,"children":2093},{"className":2092},[2010],[2094,2097],{"type":27,"tag":2013,"props":2095,"children":2096},{"disabled":18,"type":2015},[],{"type":33,"value":2098}," 是否有热冷数据治理",{"type":27,"tag":55,"props":2100,"children":2102},{"className":2101},[2010],[2103,2106],{"type":27,"tag":2013,"props":2104,"children":2105},{"disabled":18,"type":2015},[],{"type":33,"value":2107}," 是否控制了核心表的查询和索引膨胀",{"type":27,"tag":220,"props":2109,"children":2111},{"id":2110},"发布治理层",[2112],{"type":33,"value":2110},{"type":27,"tag":51,"props":2114,"children":2116},{"className":2115},[2005],[2117,2126,2135],{"type":27,"tag":55,"props":2118,"children":2120},{"className":2119},[2010],[2121,2124],{"type":27,"tag":2013,"props":2122,"children":2123},{"disabled":18,"type":2015},[],{"type":33,"value":2125}," 是否支持灰度和一键回滚",{"type":27,"tag":55,"props":2127,"children":2129},{"className":2128},[2010],[2130,2133],{"type":27,"tag":2013,"props":2131,"children":2132},{"disabled":18,"type":2015},[],{"type":33,"value":2134}," 是否有功能开关和快速降级能力",{"type":27,"tag":55,"props":2136,"children":2138},{"className":2137},[2010],[2139,2142],{"type":27,"tag":2013,"props":2140,"children":2141},{"disabled":18,"type":2015},[],{"type":33,"value":2143}," 是否有关键指标自动监控",{"type":27,"tag":220,"props":2145,"children":2147},{"id":2146},"组织层",[2148],{"type":33,"value":2146},{"type":27,"tag":51,"props":2150,"children":2152},{"className":2151},[2005],[2153,2162,2171],{"type":27,"tag":55,"props":2154,"children":2156},{"className":2155},[2010],[2157,2160],{"type":27,"tag":2013,"props":2158,"children":2159},{"disabled":18,"type":2015},[],{"type":33,"value":2161}," 是否有明确 owner",{"type":27,"tag":55,"props":2163,"children":2165},{"className":2164},[2010],[2166,2169],{"type":27,"tag":2013,"props":2167,"children":2168},{"disabled":18,"type":2015},[],{"type":33,"value":2170}," 是否有容量评审和故障复盘机制",{"type":27,"tag":55,"props":2172,"children":2174},{"className":2173},[2010],[2175,2178],{"type":27,"tag":2013,"props":2176,"children":2177},{"disabled":18,"type":2015},[],{"type":33,"value":2179}," 是否把系统升级当成长期工程，而不是临时救火",{"type":27,"tag":171,"props":2181,"children":2182},{},[],{"type":27,"tag":175,"props":2184,"children":2186},{"id":2185},"总结",[2187],{"type":33,"value":2185},{"type":27,"tag":35,"props":2189,"children":2190},{},[2191],{"type":33,"value":2192},"把 10 万到 100 万用户这段路讲透，可以收敛成 5 句话：",{"type":27,"tag":137,"props":2194,"children":2195},{},[2196,2204,2212,2220,2228],{"type":27,"tag":55,"props":2197,"children":2198},{},[2199],{"type":27,"tag":126,"props":2200,"children":2201},{},[2202],{"type":33,"value":2203},"用户规模增长，真正放大的不是机器压力，而是系统复杂度。",{"type":27,"tag":55,"props":2205,"children":2206},{},[2207],{"type":27,"tag":126,"props":2208,"children":2209},{},[2210],{"type":33,"value":2211},"先看峰值、尾延迟和依赖放大系数，不要只看 DAU。",{"type":27,"tag":55,"props":2213,"children":2214},{},[2215],{"type":27,"tag":126,"props":2216,"children":2217},{},[2218],{"type":33,"value":2219},"架构升级的重点不是全都优化，而是优先保住最值钱的链路。",{"type":27,"tag":55,"props":2221,"children":2222},{},[2223],{"type":27,"tag":126,"props":2224,"children":2225},{},[2226],{"type":33,"value":2227},"规模化系统必须把灰度、回滚、开关、容量评审做成基础设施。",{"type":27,"tag":55,"props":2229,"children":2230},{},[2231],{"type":27,"tag":126,"props":2232,"children":2233},{},[2234],{"type":33,"value":2235},"没有组织升级的技术升级，最终会被协作成本吃掉。",{"type":27,"tag":35,"props":2237,"children":2238},{},[2239],{"type":33,"value":2240},"如果你只记住一句话，我希望是这一句：",{"type":27,"tag":119,"props":2242,"children":2243},{},[2244],{"type":27,"tag":35,"props":2245,"children":2246},{},[2247],{"type":33,"value":2248},"从 10 万到 100 万用户，不是把原来的系统放大十倍，而是把原来的侥幸全部暴露出来。",{"type":27,"tag":35,"props":2250,"children":2251},{},[2252],{"type":33,"value":2253},"所以真正的目标，从来不是“扛住一次高峰”，而是——",{"type":27,"tag":35,"props":2255,"children":2256},{},[2257],{"type":27,"tag":126,"props":2258,"children":2259},{},[2260],{"type":33,"value":2261},"让系统在每次增长后都更可预测。",{"type":27,"tag":2263,"props":2264,"children":2265},"style",{},[2266],{"type":33,"value":2267},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":1530,"depth":1530,"links":2269},[2270,2274,2279,2283,2291,2299,2304,2308,2312,2319,2325,2332],{"id":177,"depth":1521,"text":180,"children":2271},[2272,2273],{"id":222,"depth":1530,"text":225},{"id":256,"depth":1530,"text":259},{"id":357,"depth":1521,"text":360,"children":2275},[2276,2277,2278],{"id":363,"depth":1530,"text":366},{"id":412,"depth":1530,"text":415},{"id":446,"depth":1530,"text":449},{"id":498,"depth":1521,"text":501,"children":2280},[2281,2282],{"id":537,"depth":1530,"text":540},{"id":714,"depth":1530,"text":717},{"id":766,"depth":1521,"text":769,"children":2284},[2285,2290],{"id":777,"depth":1530,"text":780,"children":2286},[2287,2288,2289],{"id":784,"depth":1539,"text":787},{"id":822,"depth":1539,"text":825},{"id":855,"depth":1539,"text":858},{"id":883,"depth":1530,"text":886},{"id":933,"depth":1521,"text":936,"children":2292},[2293,2294],{"id":939,"depth":1530,"text":942},{"id":983,"depth":1530,"text":986,"children":2295},[2296,2297,2298],{"id":989,"depth":1539,"text":989},{"id":1022,"depth":1539,"text":1022},{"id":1055,"depth":1539,"text":1055},{"id":1091,"depth":1521,"text":1094,"children":2300},[2301,2302,2303],{"id":1102,"depth":1530,"text":1105},{"id":1126,"depth":1530,"text":1129},{"id":1150,"depth":1530,"text":1153},{"id":1197,"depth":1521,"text":1200,"children":2305},[2306,2307],{"id":1239,"depth":1530,"text":1242},{"id":1362,"depth":1530,"text":1365},{"id":1416,"depth":1521,"text":1419,"children":2309},[2310,2311],{"id":1422,"depth":1530,"text":1425},{"id":1494,"depth":1530,"text":1497},{"id":1625,"depth":1521,"text":1628,"children":2313},[2314],{"id":1649,"depth":1530,"text":1652,"children":2315},[2316,2317,2318],{"id":1655,"depth":1539,"text":1658},{"id":1666,"depth":1539,"text":1669},{"id":1677,"depth":1539,"text":1680},{"id":1719,"depth":1521,"text":1722,"children":2320},[2321,2322,2323,2324],{"id":1725,"depth":1530,"text":1728},{"id":1763,"depth":1530,"text":1766},{"id":1797,"depth":1530,"text":1800},{"id":1835,"depth":1530,"text":1838},{"id":1993,"depth":1521,"text":1996,"children":2326},[2327,2328,2329,2330,2331],{"id":1999,"depth":1530,"text":1999},{"id":2039,"depth":1530,"text":2039},{"id":1349,"depth":1530,"text":1349},{"id":2110,"depth":1530,"text":2110},{"id":2146,"depth":1530,"text":2146},{"id":2185,"depth":1521,"text":2185},"markdown","content:topics:engineering:scale-from-100k-to-1m-users-guide.md","content","topics/engineering/scale-from-100k-to-1m-users-guide.md","topics/engineering/scale-from-100k-to-1m-users-guide","md",1777109948190]