[{"data":1,"prerenderedAt":1943},["ShallowReactive",2],{"blog-\u002Fblog\u002Fcomparison\u002Fhuancun-shi-shenme":3,"blog-related-\u002Fblog\u002Fcomparison\u002Fhuancun-shi-shenme":359},{"id":4,"title":5,"author":6,"body":7,"category":329,"cover":330,"date":331,"description":332,"draft":333,"extension":334,"faq":335,"featured":333,"image":330,"keywords":345,"meta":349,"navigation":350,"path":351,"seo":352,"sitemap":353,"stem":354,"tags":355,"updated":331,"__hash__":358},"blog\u002Fblog\u002Fcomparison\u002Fhuancun-shi-shenme.md","缓存是什么、什么时候用","HNREIS",{"type":8,"value":9,"toc":305},"minimark",[10,19,22,26,29,40,43,46,49,54,57,61,64,68,71,74,96,99,102,105,157,160,163,174,177,181,184,188,191,195,198,202,205,208,234,237,275,278,281,299],[11,12,13,14,18],"p",{},"缓存是提性能的利器，",[15,16,17],"strong",{},"通俗说是\"把常用数据放桌面，取快\"。"," 这篇讲清是什么和什么时候用。",[11,20,21],{},"后端开发里有一句老话：能加缓存就别升级数据库。这句话虽然夸张，但点出了缓存的本质——用更快的存储介质来兜住热点数据，让系统用更低的成本扛住更高的并发。这篇我们从原理、价值、常用方案、使用场景、注意点、坑点和落地路径七个方面把缓存讲透，帮非技术背景的产品和业务同学也能理解。",[23,24,25],"h2",{"id":25},"缓存是什么",[11,27,28],{},"把常用数据临时存在访问快的地方（内存）：",[30,31,36],"pre",{"className":32,"code":34,"language":35},[33],"language-text","查数据 → 先查缓存（快）→ 有直接返回\n                      没有再查数据库（慢）→ 存入缓存\n","text",[37,38,34],"code",{"__ignoreMap":39},"",[11,41,42],{},"类比：常用文件放桌面（缓存），不常用的在档案柜（数据库）。",[11,44,45],{},"这个类比非常贴切。硬盘和 SSD 就像档案柜，容量大但每次取东西都要走过去、翻找、取回，慢；内存（RAM）就像办公桌面，容量小但伸手就到，快。数据库的数据默认存在硬盘上，每次查询都要做磁盘 I\u002FO，遇到复杂查询或大数据量时延迟会显著上升。缓存的核心思路就是把高频访问的数据从硬盘搬到内存里，应用程序直接从内存读，延迟从几十毫秒降到亚毫秒级。当缓存里没有要查的数据（俗称\"未命中\"），才回退到数据库查，并把结果写回缓存，下次再查就直接命中。",[23,47,48],{"id":48},"为什么用缓存",[50,51,53],"h3",{"id":52},"_1-提速","1. 提速",[11,55,56],{},"内存访问比数据库快得多，这是缓存的根本价值。一次数据库查询如果走磁盘 I\u002FO，可能要几毫秒到几十毫秒；同样一次内存读取通常在微秒级别，差距能达到两到三个数量级。对于电商详情页、API 接口、后台列表这类高频场景，提速带来的体验改善非常直接——用户感知的\"卡顿\"往往就发生在那几十毫秒上。",[50,58,60],{"id":59},"_2-减轻数据库","2. 减轻数据库",[11,62,63],{},"常用数据缓存命中后，数据库就不用再处理这些查询。数据库是大多数系统里最贵的资源之一，CPU、内存、连接数都有上限，一旦被打满整个系统就拖垮。把热点数据放进缓存，相当于给数据库装了一个\"减压阀\"，让它专注于真正复杂、不能缓存的查询。",[50,65,67],{"id":66},"_3-提并发","3. 提并发",[11,69,70],{},"缓存扛得住高并发，这是另一个被低估的优势。Redis 单实例常见可支撑每秒数万到数十万次读写，且响应稳定。而关系型数据库的并发能力受连接池、锁、事务复杂度等多重约束，一旦并发上来就容易抖动。在秒杀、抢购、热点内容这种瞬时高并发场景，缓存几乎是唯一现实的扛量手段。",[23,72,73],{"id":73},"常用缓存",[75,76,77,84,90],"ul",{},[78,79,80,83],"li",{},[15,81,82],{},"Redis","：主流内存缓存，支持丰富数据结构（字符串、哈希、列表、集合、有序集合），可持久化，分布式支持好，是当下最主流的选择。",[78,85,86,89],{},[15,87,88],{},"Memcached","：简单缓存，只有键值对、纯内存，适合简单的字符串缓存场景。",[78,91,92,95],{},[15,93,94],{},"本地缓存","：应用进程内的缓存（如 Caffeine、Guava Cache），延迟最低但不能跨实例共享，适合单机或少量数据的极热缓存。",[11,97,98],{},"实际项目里常常是\"本地缓存 + Redis\"的组合：本地缓存兜住最热的少量数据，Redis 兜住分布式共享的中热度数据，形成两级缓存。",[23,100,101],{"id":101},"什么时候用缓存",[50,103,104],{"id":104},"适合",[106,107,108,121],"table",{},[109,110,111],"thead",{},[112,113,114,118],"tr",{},[115,116,117],"th",{},"场景",[115,119,120],{},"说明",[122,123,124,133,141,149],"tbody",{},[112,125,126,130],{},[127,128,129],"td",{},"读多写少",[127,131,132],{},"商品\u002F配置",[112,134,135,138],{},[127,136,137],{},"变化不频繁",[127,139,140],{},"缓存有效",[112,142,143,146],{},[127,144,145],{},"查询慢",[127,147,148],{},"缓存提速",[112,150,151,154],{},[127,152,153],{},"热点数据",[127,155,156],{},"减轻数据库",[11,158,159],{},"商品信息、系统配置、字典数据、热门文章、热搜榜单都属于\"读多写少\"或\"变化不频繁\"的典型场景。比如一个电商详情页的商品基础信息，一天可能被读几万次，但商品参数一年也改不了几次，缓存命中率几乎 100%，回报极高。",[50,161,162],{"id":162},"不适合",[75,164,165,168,171],{},[78,166,167],{},"频繁变化（缓存频繁失效，缓存价值低，反而增加维护成本）。",[78,169,170],{},"要强一致（缓存和数据库之间存在窗口期，强一致场景要么用复杂的一致性协议，要么干脆不用缓存）。",[78,172,173],{},"冷数据（访问频率极低，缓存占用空间又几乎不命中，纯粹浪费）。",[23,175,176],{"id":176},"缓存的注意点",[50,178,180],{"id":179},"_1-缓存更新","1. 缓存更新",[11,182,183],{},"数据变了缓存要更新，否则读到旧数据。常见的策略有：写数据库时同步更新缓存、写数据库时删除缓存让下次读时回源、给缓存设置较短的过期时间让数据自然失效。每种策略都有取舍，没有银弹，要根据业务对实时性的要求来选。",[50,185,187],{"id":186},"_2-一致性","2. 一致性",[11,189,190],{},"缓存和数据库之间的一致性是分布式系统的经典难题。CAP 理论告诉我们一致性和可用性不可兼得，缓存场景下通常做的是\"最终一致\"——允许短暂不一致，但通过过期时间、版本号、消息队列等手段保证最终收敛。如果业务要求强一致（比如金融余额），那就要慎重考虑是否用缓存，或者用复杂的事务机制来保证。",[50,192,194],{"id":193},"_3-缓存失效","3. 缓存失效",[11,196,197],{},"缓存失效有三种典型异常情况，俗称\"三大坑\"。雪崩是大量缓存同时过期，请求瞬间打到数据库上把它压垮；穿透是大量查询缓存里本来就没有、数据库里也没有的数据，每次都回源；击穿是某个热点 key 突然过期，瞬间海量请求同时回源。每种都有对应的应对策略，比如过期时间加随机偏移防雪崩、空值缓存或布隆过滤器防穿透、互斥锁防击穿。",[50,199,201],{"id":200},"_4-容量管理","4. 容量管理",[11,203,204],{},"缓存容量有限，必须有淘汰策略。常见的有 LRU（最近最少使用）、LFU（最不常用）、FIFO（先进先出）、TTL（按过期时间）。Redis 默认提供 noeviction、allkeys-lru、volatile-lru 等多种策略，要根据数据访问模式选择。容量管理做不好，要么缓存命中率低（数据频繁被淘汰），要么内存被吃光引发 OOM。",[23,206,207],{"id":207},"别踩的坑",[75,209,210,216,222,228],{},[78,211,212,215],{},[15,213,214],{},"缓存不更新","：数据变了缓存还存着旧值，用户看到错误信息。",[78,217,218,221],{},[15,219,220],{},"忽视一致性","：多个副本或多个服务看到的缓存数据不一致，引发诡异 bug。",[78,223,224,227],{},[15,225,226],{},"缓存失效没处理","：雪崩压垮数据库，原本为了提性能反而引发事故。",[78,229,230,233],{},[15,231,232],{},"不该缓存的缓存","：强一致场景或冷数据场景硬上缓存，得不偿失。",[23,235,236],{"id":236},"成本参考",[106,238,239,251],{},[109,240,241],{},[112,242,243,246,248],{},[115,244,245],{},"方案",[115,247,120],{},[115,249,250],{},"成本",[122,252,253,264],{},[112,254,255,258,261],{},[127,256,257],{},"Redis缓存",[127,259,260],{},"开源\u002F云",[127,262,263],{},"低到中",[112,265,266,269,272],{},[127,267,268],{},"云缓存",[127,270,271],{},"托管",[127,273,274],{},"按规格",[11,276,277],{},"开源 Redis 自建成本主要在服务器和运维人力；云托管缓存（如阿里云 Tair、AWS ElastiCache）按规格付费，省运维但成本随规格线性增长。",[23,279,280],{"id":280},"怎么用",[282,283,284,287,290,293,296],"ol",{},[78,285,286],{},"识别读多写少\u002F慢查询，找到真正能从缓存获益的环节。",[78,288,289],{},"加缓存，从最热的几个接口或数据入手。",[78,291,292],{},"处理更新和一致性，根据业务实时性需求选策略。",[78,294,295],{},"处理失效（雪崩\u002F穿透），提前做好防御。",[78,297,298],{},"监控缓存效果，关注命中率、内存使用、慢查询等指标。",[300,301,302],"blockquote",{},[11,303,304],{},"广州市汉诺雷斯（HNREIS）帮企业做性能优化（含缓存），提升系统速度。把你的性能需求告诉我们，我们给出方案。",{"title":39,"searchDepth":306,"depth":306,"links":307},2,[308,309,315,316,320,326,327,328],{"id":25,"depth":306,"text":25},{"id":48,"depth":306,"text":48,"children":310},[311,313,314],{"id":52,"depth":312,"text":53},3,{"id":59,"depth":312,"text":60},{"id":66,"depth":312,"text":67},{"id":73,"depth":306,"text":73},{"id":101,"depth":306,"text":101,"children":317},[318,319],{"id":104,"depth":312,"text":104},{"id":162,"depth":312,"text":162},{"id":176,"depth":306,"text":176,"children":321},[322,323,324,325],{"id":179,"depth":312,"text":180},{"id":186,"depth":312,"text":187},{"id":193,"depth":312,"text":194},{"id":200,"depth":312,"text":201},{"id":207,"depth":306,"text":207},{"id":236,"depth":306,"text":236},{"id":280,"depth":306,"text":280},"comparison",null,"2025-02-06","缓存是临时存储常用数据加速访问，是提性能的利器。本文用通俗方式讲清缓存是什么、价值和什么时候用。",false,"md",[336,339,342],{"q":337,"a":338},"缓存是什么，简单说？","缓存是把常用数据临时存在访问快的地方（内存），下次直接取，不用每次查数据库。类比把常用文件放桌面（取快），而不是每次去档案柜（数据库）翻。大幅提速、减轻数据库压力。Redis是常用缓存。",{"q":340,"a":341},"什么时候用缓存？","读多写少、数据变化不频繁、查询慢的场景适合用缓存。比如商品信息、配置、热点内容。不适合频繁变化、要强一致的数据。缓存是提性能利器，但要用对场景，还要处理缓存更新和一致性。",{"q":343,"a":344},"用缓存要注意什么？","几点：缓存更新（数据变了缓存要更新）、一致性（缓存和数据库一致）、缓存失效（雪崩\u002F穿透）、容量管理。缓存不是存了就不管，要维护一致性。建议规范使用缓存，处理更新和失效。",[346,82,347,348],"缓存","性能优化","缓存原理",{},true,"\u002Fblog\u002Fcomparison\u002Fhuancun-shi-shenme",{"title":5,"description":332},{"loc":351},"blog\u002Fcomparison\u002Fhuancun-shi-shenme",[346,356,357],"性能","技术","1rAu7NKUrgu7mhNNlxSfITIHvsUKlNqEp6eAJGaRMD0",[360,764,1179,1547],{"id":361,"title":362,"author":6,"body":363,"category":329,"cover":330,"date":737,"description":738,"draft":333,"extension":334,"faq":739,"featured":333,"image":330,"keywords":749,"meta":754,"navigation":350,"path":755,"seo":756,"sitemap":757,"stem":758,"tags":759,"updated":737,"__hash__":763},"blog\u002Fblog\u002Fcomparison\u002Fapi-jiekou-shiye.md","API、接口、集成这些词到底是什么意思",{"type":8,"value":364,"toc":717},[365,371,375,381,384,395,400,403,406,412,415,420,422,433,438,441,444,458,461,475,480,483,487,501,504,515,518,523,526,533,550,555,558,561,583,588,591,628,634,637,663,666,669,695,698,712],[11,366,367,368],{},"老板常被 API、接口、集成这些技术词绕晕。",[15,369,370],{},"这篇用大白话讲清，帮老板听懂技术沟通。",[23,372,374],{"id":373},"api-是什么大白话","API 是什么（大白话）",[11,376,377,380],{},[15,378,379],{},"API 是两个软件\"对话\"的通道","。",[11,382,383],{},"例子：",[75,385,386,389,392],{},[78,387,388],{},"你的小程序要查物流 → 通过物流公司 API 问\"单号到哪了\" → 物流系统回\"已签收\"。",[78,390,391],{},"你的官网要收款 → 通过支付 API 让客户付款 → 支付系统回\"付款成功\"。",[78,393,394],{},"你的系统要发短信 → 通过短信 API 发 → 短信平台发出去。",[11,396,397,380],{},[15,398,399],{},"API 让不同软件自动互通数据，不用人工搬",[11,401,402],{},"打个比方：API 像餐厅的\"服务员\"——你（小程序）告诉服务员（API）要什么，服务员告诉厨房（另一个系统），厨房做好端回来。你不用自己进厨房。",[23,404,405],{"id":405},"接口是什么",[11,407,408,411],{},[15,409,410],{},"接口就是 API","（同义词）。技术人员说\"做个接口\"\"对接接口\"，就是做 API 让系统互通。",[23,413,414],{"id":414},"集成是什么",[11,416,417,380],{},[15,418,419],{},"集成 = 把多个系统通过 API 连起来，数据自动流通",[11,421,383],{},[75,423,424,427,430],{},[78,425,426],{},"独立站 + ERP 集成：独立站订单自动进 ERP，ERP 库存自动同步独立站。",[78,428,429],{},"小程序 + CRM 集成：小程序客户数据自动进 CRM。",[78,431,432],{},"系统 + 支付集成：系统通过支付 API 收款。",[11,434,435,380],{},[15,436,437],{},"集成让数据自动流，替代人工搬数据",[23,439,440],{"id":440},"企业为什么要做接口集成",[50,442,443],{"id":443},"不集成的问题",[75,445,446,449,452,455],{},[78,447,448],{},"多个系统（独立站\u002FERP\u002FCRM\u002F物流），数据不通。",[78,450,451],{},"人工把数据从一个系统搬到另一个（累、易错）。",[78,453,454],{},"数据不同步（独立站卖了 ERP 库存没减，超卖）。",[78,456,457],{},"效率低。",[50,459,460],{"id":460},"集成的好处",[75,462,463,466,469,472],{},[78,464,465],{},"数据自动流通（订单\u002F库存\u002F客户自动同步）。",[78,467,468],{},"替代人工（省人力、避错）。",[78,470,471],{},"实时同步（不超卖、不漏单）。",[78,473,474],{},"数据统一（可分析）。",[11,476,477,380],{},[15,478,479],{},"系统越多，集成价值越大",[23,481,482],{"id":482},"常见的集成场景",[50,484,486],{"id":485},"电商独立站","电商\u002F独立站",[75,488,489,492,495,498],{},[78,490,491],{},"独立站 ↔ ERP（订单\u002F库存同步）。",[78,493,494],{},"独立站 ↔ 物流（发货\u002F追踪）。",[78,496,497],{},"独立站 ↔ 支付（收款）。",[78,499,500],{},"独立站 ↔ CRM（客户管理）。",[50,502,503],{"id":503},"企业内部",[75,505,506,509,512],{},[78,507,508],{},"系统 ↔ OA（审批\u002F通知）。",[78,510,511],{},"系统 ↔ 财务（对账\u002F开票）。",[78,513,514],{},"系统 ↔ 企微\u002F钉钉（消息\u002F工作流）。",[50,516,517],{"id":517},"数据",[75,519,520],{},[78,521,522],{},"系统 ↔ 数据分析（数据汇总\u002F报表）。",[23,524,525],{"id":525},"集成怎么实现",[11,527,528,529,532],{},"通过 ",[15,530,531],{},"API 对接","：",[282,534,535,538,541,544,547],{},[78,536,537],{},"确认要对接的系统（ERP\u002F物流\u002F支付）。",[78,539,540],{},"看各系统是否提供 API（文档）。",[78,542,543],{},"开发对接（系统间调 API 传数据）。",[78,545,546],{},"测试（数据准确、异常处理）。",[78,548,549],{},"上线 + 监控。",[11,551,552,380],{},[15,553,554],{},"自建系统（Nuxt\u002FVue）能灵活对接任意系统，这是它比 SaaS 的优势",[23,556,557],{"id":557},"老板该懂什么",[11,559,560],{},"老板不用懂代码，懂这些：",[75,562,563,568,573,578],{},[78,564,565,380],{},[15,566,567],{},"API = 软件之间自动传数据的通道",[78,569,570,380],{},[15,571,572],{},"集成 = 多系统数据自动流通",[78,574,575,380],{},[15,576,577],{},"集成能替代人工、提效避错",[78,579,580,380],{},[15,581,582],{},"集成成本看系统数量和复杂度",[11,584,585,380],{},[15,586,587],{},"懂这些，就能和技术\u002F服务商沟通集成需求",[23,589,590],{"id":590},"集成的成本",[106,592,593,602],{},[109,594,595],{},[112,596,597,600],{},[115,598,599],{},"集成类型",[115,601,250],{},[122,603,604,612,620],{},[112,605,606,609],{},[127,607,608],{},"对接一个系统（如 ERP）",[127,610,611],{},"1-3 万",[112,613,614,617],{},[127,615,616],{},"多系统集成",[127,618,619],{},"3-8 万",[112,621,622,625],{},[127,623,624],{},"复杂（双向同步\u002F多系统\u002F定制）",[127,626,627],{},"8 万+",[11,629,630,633],{},[15,631,632],{},"ROI 明确","（替代人工、提效、避错）。",[23,635,636],{"id":636},"常见误区",[75,638,639,645,651,657],{},[78,640,641,644],{},[15,642,643],{},"\"接口很复杂不用懂\"","：老板懂概念就行（API = 数据通道）。",[78,646,647,650],{},[15,648,649],{},"\"不集成也能用\"","：人工搬数据累易错，不可持续。",[78,652,653,656],{},[15,654,655],{},"\"集成是一次性的\"","：系统升级\u002F业务变化，集成要维护。",[78,658,659,662],{},[15,660,661],{},"\"SaaS 不用集成\"","：SaaS 也要和其他系统打通。",[23,664,665],{"id":665},"怎么判断要不要集成",[11,667,668],{},"问自己：",[282,670,671,677,683,689],{},[78,672,673,676],{},[15,674,675],{},"有多个系统吗？"," 有 → 可能要集成。",[78,678,679,682],{},[15,680,681],{},"人工搬数据吗？"," 搬 → 该集成。",[78,684,685,688],{},[15,686,687],{},"数据需要同步吗？"," 需要 → 集成。",[78,690,691,694],{},[15,692,693],{},"集成 ROI 划算吗？","（省的人力 > 投入）划算 → 做。",[23,696,697],{"id":697},"怎么做",[282,699,700,703,706,709],{},[78,701,702],{},"梳理要对接的系统 + 数据流。",[78,704,705],{},"确认各系统 API。",[78,707,708],{},"开发对接。",[78,710,711],{},"测试 + 监控。",[300,713,714],{},[11,715,716],{},"广州市汉诺雷斯（HNREIS）提供系统集成（API 对接 ERP\u002F物流\u002F支付\u002FCRM），帮企业打通数据。把你的系统情况告诉我们，我们设计集成方案。",{"title":39,"searchDepth":306,"depth":306,"links":718},[719,720,721,722,726,731,732,733,734,735,736],{"id":373,"depth":306,"text":374},{"id":405,"depth":306,"text":405},{"id":414,"depth":306,"text":414},{"id":440,"depth":306,"text":440,"children":723},[724,725],{"id":443,"depth":312,"text":443},{"id":460,"depth":312,"text":460},{"id":482,"depth":306,"text":482,"children":727},[728,729,730],{"id":485,"depth":312,"text":486},{"id":503,"depth":312,"text":503},{"id":517,"depth":312,"text":517},{"id":525,"depth":306,"text":525},{"id":557,"depth":306,"text":557},{"id":590,"depth":306,"text":590},{"id":636,"depth":306,"text":636},{"id":665,"depth":306,"text":665},{"id":697,"depth":306,"text":697},"2024-05-15","老板常被 API、接口、集成这些技术词绕晕。本文用大白话讲清这些概念和企业集成场景，帮老板听懂技术沟通。",[740,743,746],{"q":741,"a":742},"API 到底是什么，大白话说？","API 是两个软件\"对话\"的通道。比如你的小程序要查物流，就通过物流公司的 API 问\"这个单号到哪了\"，物流系统通过 API 回\"已签收\"。API 让不同软件能互通数据，不用人工搬。你不用懂代码，只要知道\"API = 软件之间自动传数据的通道\"。",{"q":744,"a":745},"我们为什么要做接口集成？","因为你的多个系统要互通。比如独立站订单要进 ERP、库存要同步、物流要追踪，不集成就要人工把数据从一个系统搬到另一个（累、易错）。集成后数据自动流通，提效准确。系统越多，集成价值越大。",{"q":747,"a":748},"接口集成要多少钱？","看对接的系统数量和复杂度。对接一个系统（如 ERP）通常 1-3 万；多系统集成（ERP+物流+支付+CRM）3-8 万。集成能替代人工、提效避错，ROI 明确。",[750,751,752,753],"API接口通俗解释","什么是API","接口集成","系统对接",{},"\u002Fblog\u002Fcomparison\u002Fapi-jiekou-shiye",{"title":362,"description":738},{"loc":755},"blog\u002Fcomparison\u002Fapi-jiekou-shiye",[760,761,762],"API","概念","通俗","A7Jdt6jv4eTPYhdWviHOSLSzOR5pN0xxO_6QT9M2ODg",{"id":765,"title":766,"author":6,"body":767,"category":329,"cover":330,"date":1153,"description":1154,"draft":333,"extension":334,"faq":1155,"featured":333,"image":330,"keywords":1165,"meta":1170,"navigation":350,"path":1171,"seo":1172,"sitemap":1173,"stem":1174,"tags":1175,"updated":1153,"__hash__":1178},"blog\u002Fblog\u002Fcomparison\u002Fapi-wangguan-shi-shenme.md","API网关是什么",{"type":8,"value":768,"toc":1137},[769,776,779,782,785,791,794,797,803,807,821,825,839,843,857,861,875,879,893,897,905,908,954,957,961,964,1009,1034,1036,1062,1064,1100,1103,1106,1132],[11,770,771,772,775],{},"API 网关是系统架构里常见的组件，",[15,773,774],{},"通俗说就是系统的\"统一前台\"。"," 这篇讲清是什么、解决什么、要不要用。",[23,777,766],{"id":778},"api网关是什么",[11,780,781],{},"在微服务架构里，后端可能拆分成几十个甚至上百个服务。如果每个服务都直接对外提供接口，客户端要记住每个服务的地址、每个服务都要自己处理鉴权限流——这会非常混乱。API 网关就是解决这个问题的。",[11,783,784],{},"所有外部请求先到网关，网关统一处理后转发到后端：",[30,786,789],{"className":787,"code":788,"language":35},[33],"客户端 → API网关（鉴权\u002F限流\u002F监控）→ 后端服务\n",[37,790,788],{"__ignoreMap":39},[11,792,793],{},"类比公司前台：访客（客户端请求）先到前台登记（鉴权\u002F限流），前台再引导到对应部门（转发到后端服务）。访客不用记每个部门在哪，部门也不用自己设前台。",[23,795,796],{"id":796},"网关做什么",[11,798,799,800,380],{},"API 网关的核心职责是",[15,801,802],{},"把各服务都要做的\"公共事\"统一收口",[50,804,806],{"id":805},"_1-统一入口","1. 统一入口",[75,808,809,815],{},[78,810,811,814],{},[15,812,813],{},"所有请求统一入口","：客户端只需要知道网关地址，不用记每个服务的地址。",[78,816,817,820],{},[15,818,819],{},"后端服务不直接暴露","：后端服务可以部署在内网，只把网关暴露在外网，安全风险降低。",[50,822,824],{"id":823},"_2-鉴权","2. 鉴权",[75,826,827,833],{},[78,828,829,832],{},[15,830,831],{},"统一身份验证","：所有请求的鉴权在网关统一做，比如验证 token、校验权限。",[78,834,835,838],{},[15,836,837],{},"后端不用各自鉴权","：后端服务可以信任网关已通过的请求，专注业务逻辑，不用重复写鉴权代码。",[50,840,842],{"id":841},"_3-限流","3. 限流",[75,844,845,851],{},[78,846,847,850],{},[15,848,849],{},"防止过载和恶意请求","：网关按规则限制每个客户端、每个接口的调用频率，防止恶意刷接口或突发流量压垮后端。",[78,852,853,856],{},[15,854,855],{},"保护后端","：流量超出后端承受能力时，网关可以拒绝或排队，保护后端不被打挂。",[50,858,860],{"id":859},"_4-路由转发","4. 路由转发",[75,862,863,869],{},[78,864,865,868],{},[15,866,867],{},"请求转发到对应服务","：网关根据请求路径、头部等信息，把请求转发到正确的后端服务。",[78,870,871,874],{},[15,872,873],{},"负载均衡","：一个服务有多个实例时，网关把请求分发到不同实例，提升整体处理能力。",[50,876,878],{"id":877},"_5-监控日志","5. 监控日志",[75,880,881,887],{},[78,882,883,886],{},[15,884,885],{},"统一监控和日志","：所有请求的调用量、响应时间、错误率在网关统一采集，不用每个服务各自做。",[78,888,889,892],{},[15,890,891],{},"可观测性","：网关的监控数据是排查问题、优化性能的重要依据。",[50,894,896],{"id":895},"_6-协议转换","6. 协议转换",[75,898,899],{},[78,900,901,904],{},[15,902,903],{},"不同协议转换","：客户端用 HTTP，后端用 gRPC 或 Dubbo，网关可以做协议转换，让前后端用各自适合的协议。",[23,906,907],{"id":907},"为什么用网关",[106,909,910,920],{},[109,911,912],{},[112,913,914,917],{},[115,915,916],{},"问题",[115,918,919],{},"网关解决",[122,921,922,930,938,946],{},[112,923,924,927],{},[127,925,926],{},"鉴权散在各服务",[127,928,929],{},"统一鉴权",[112,931,932,935],{},[127,933,934],{},"服务直接暴露",[127,936,937],{},"统一入口保护",[112,939,940,943],{},[127,941,942],{},"流量过载",[127,944,945],{},"限流",[112,947,948,951],{},[127,949,950],{},"监控散",[127,952,953],{},"统一监控",[11,955,956],{},"不用网关的情况下，每个服务都要自己实现鉴权、限流、监控、日志，代码重复、维护成本高，还容易出不一致的问题。网关把这些公共能力收口，后端服务可以更专注业务。",[23,958,960],{"id":959},"用-vs-不用","用 vs 不用",[11,962,963],{},"网关不是所有系统都需要，要看规模和复杂度。",[106,965,966,976],{},[109,967,968],{},[112,969,970,973],{},[115,971,972],{},"情况",[115,974,975],{},"建议",[122,977,978,986,994,1002],{},[112,979,980,983],{},[127,981,982],{},"服务少\u002F简单",[127,984,985],{},"不一定需要",[112,987,988,991],{},[127,989,990],{},"微服务\u002F服务多",[127,992,993],{},"价值大",[112,995,996,999],{},[127,997,998],{},"开放API",[127,1000,1001],{},"需要",[112,1003,1004,1007],{},[127,1005,1006],{},"多端接入",[127,1008,1001],{},[75,1010,1011,1017,1023,1029],{},[78,1012,1013,1016],{},[15,1014,1015],{},"服务少、简单","：比如一个单体应用就两三个接口，上不上网关差别不大，反而增加复杂度。",[78,1018,1019,1022],{},[15,1020,1021],{},"微服务、服务多","：服务一多，没有网关统一管理会很痛苦，网关价值就体现出来了。",[78,1024,1025,1028],{},[15,1026,1027],{},"开放 API","：对外提供 API 的场景，网关几乎是必需品——鉴权、限流、文档、监控都要在网关层做。",[78,1030,1031,1033],{},[15,1032,1006],{},"：APP、小程序、Web、第三方多端接入，网关统一入口能简化接入复杂度。",[23,1035,207],{"id":207},[75,1037,1038,1044,1050,1056],{},[78,1039,1040,1043],{},[15,1041,1042],{},"简单系统上重网关","：就两三个服务的简单系统，非要上 Kong 或 APISIX 这种重网关，属于过度设计，增加运维负担。",[78,1045,1046,1049],{},[15,1047,1048],{},"自己从头开发","：网关是成熟领域，有很多开源和商业产品（Kong、APISIX、云厂商网关），自己从头开发既慢又容易出问题。",[78,1051,1052,1055],{},[15,1053,1054],{},"网关成单点","：网关挂了整个系统就访问不了，必须做高可用部署（多实例、负载均衡）。",[78,1057,1058,1061],{},[15,1059,1060],{},"鉴权还散在各服务","：上了网关但鉴权还在各服务自己做，等于没用上网关的核心价值。",[23,1063,236],{"id":236},[106,1065,1066,1077],{},[109,1067,1068],{},[112,1069,1070,1072,1074],{},[115,1071,245],{},[115,1073,120],{},[115,1075,1076],{},"成本量级",[122,1078,1079,1089],{},[112,1080,1081,1084,1087],{},[127,1082,1083],{},"开源\u002F云网关",[127,1085,1086],{},"Kong\u002FAPISIX\u002F云厂商",[127,1088,263],{},[112,1090,1091,1094,1097],{},[127,1092,1093],{},"定制集成",[127,1095,1096],{},"和业务深度集成",[127,1098,1099],{},"中",[11,1101,1102],{},"主流网关产品（Kong、APISIX）开源免费，主要成本是部署运维。云厂商的网关服务（阿里云、腾讯云、AWS）按量计费，用量不大的话成本不高。自己定制集成成本中等，适合有特殊需求的场景。",[23,1104,1105],{"id":1105},"怎么选",[282,1107,1108,1114,1120,1126],{},[78,1109,1110,1113],{},[15,1111,1112],{},"评估服务数量和复杂度","：服务多、架构复杂才考虑网关。",[78,1115,1116,1119],{},[15,1117,1118],{},"简单系统不一定需要","：两三个服务的单体应用不用上网关。",[78,1121,1122,1125],{},[15,1123,1124],{},"微服务\u002F开放API用网关","：服务多、对外开放的场景，网关价值大。",[78,1127,1128,1131],{},[15,1129,1130],{},"优先成熟产品","：用 Kong、APISIX、云厂商网关，不要自己从头开发。",[300,1133,1134],{},[11,1135,1136],{},"广州市汉诺雷斯（HNREIS）帮企业做系统架构设计，含API网关选型和集成。把你的系统需求告诉我们，我们给出架构建议。",{"title":39,"searchDepth":306,"depth":306,"links":1138},[1139,1140,1148,1149,1150,1151,1152],{"id":778,"depth":306,"text":766},{"id":796,"depth":306,"text":796,"children":1141},[1142,1143,1144,1145,1146,1147],{"id":805,"depth":312,"text":806},{"id":823,"depth":312,"text":824},{"id":841,"depth":312,"text":842},{"id":859,"depth":312,"text":860},{"id":877,"depth":312,"text":878},{"id":895,"depth":312,"text":896},{"id":907,"depth":306,"text":907},{"id":959,"depth":306,"text":960},{"id":207,"depth":306,"text":207},{"id":236,"depth":306,"text":236},{"id":1105,"depth":306,"text":1105},"2024-05-28","API网关是系统的统一入口，负责转发、鉴权、限流和监控。本文用通俗方式讲清API网关是什么、解决什么问题、企业要不要用。",[1156,1159,1162],{"q":1157,"a":1158},"API网关是什么，简单说？","API网关是系统的\"统一前台\"——所有外部请求先到网关，网关再转发到后端服务。它统一处理鉴权、限流、监控、日志这些公共事，后端服务专注业务。类比公司前台，访客先到前台登记再进去。",{"q":1160,"a":1161},"企业一定要用API网关吗？","不一定。系统简单、服务少，不一定需要网关。服务多（微服务）、要统一鉴权限流监控、对外开放API、多端接入时，网关价值大。建议按规模和复杂度选，不要为用而用。",{"q":1163,"a":1164},"API网关要花多少钱？","看方式。用开源\u002F云网关产品（如Kong\u002FAPISIX\u002F云厂商网关）成本较低，按量或自建运维；定制集成成本中等。建议优先用成熟网关产品，而不是自己从头开发。",[1166,1167,1168,1169],"API网关","网关是什么","API管理","微服务网关",{},"\u002Fblog\u002Fcomparison\u002Fapi-wangguan-shi-shenme",{"title":766,"description":1154},{"loc":1171},"blog\u002Fcomparison\u002Fapi-wangguan-shi-shenme",[760,1176,1177],"网关","架构","CInYK4Or6VhknVKica8mjtvcuqr1CPVLRxjpJ0II3Fc",{"id":1180,"title":1181,"author":6,"body":1182,"category":329,"cover":330,"date":1523,"description":1524,"draft":333,"extension":334,"faq":1525,"featured":333,"image":330,"keywords":1535,"meta":1539,"navigation":350,"path":1540,"seo":1541,"sitemap":1542,"stem":1543,"tags":1544,"updated":1523,"__hash__":1546},"blog\u002Fblog\u002Fcomparison\u002Fbanben-kongzhi-git.md","代码版本控制（Git）是什么",{"type":8,"value":1183,"toc":1509},[1184,1191,1194,1198,1201,1207,1213,1219,1223,1227,1230,1240,1244,1247,1257,1261,1264,1278,1282,1292,1296,1366,1369,1372,1378,1384,1390,1396,1398,1416,1418,1421,1469,1472,1475,1501,1504],[11,1185,1186,1187,1190],{},"Git 是开发团队的必备工具，",[15,1188,1189],{},"通俗说是代码的\"时光机\"和\"协作台\"。"," 这篇讲清老板需要了解的。",[11,1192,1193],{},"软件开发是个高度协作的工作——几个甚至几十个开发同时改同一份代码，如果没有版本控制工具，光是\"谁改了什么\"\"怎么合并\"\"改坏了怎么回退\"这些问题就能让团队崩溃。Git 就是为了解决这些问题而生的工具，它已经成为软件开发行业的标准配置。这篇用通俗方式讲清 Git 是什么、为什么开发要用、老板需要关心什么。",[23,1195,1197],{"id":1196},"git是什么","Git是什么",[11,1199,1200],{},"Git 是代码版本控制工具，核心做三件事：",[11,1202,1203,1206],{},[15,1204,1205],{},"记录历史","——代码的每次改动都有记录（谁、什么时候、改了什么），能回到任何历史版本。相当于代码的\"时光机\"，改坏了随时回退。",[11,1208,1209,1212],{},[15,1210,1211],{},"多人协作","——多个开发同时改代码，Git 能自动合并、识别冲突。相当于代码的\"协作台\"，让团队并行开发而不互相踩踏。",[11,1214,1215,1218],{},[15,1216,1217],{},"分支","——从主线分出独立分支，在分支上做新功能，做完再合并回主线。相当于代码的\"平行宇宙\"，多个功能同时开发互不影响。",[23,1220,1222],{"id":1221},"为什么用git","为什么用Git",[50,1224,1226],{"id":1225},"_1-记录历史","1. 记录历史",[11,1228,1229],{},"代码的每一次改动（commit）都有完整记录——谁改的、什么时候改的、改了哪些文件、改了什么内容。这条记录链形成代码的完整历史。",[11,1231,1232,1235,1236,1239],{},[15,1233,1234],{},"改坏了能回退","——新功能改崩了，一条命令就能回到之前的稳定版本，不用从头再来。",[15,1237,1238],{},"知道谁改了什么","——出问题时能追溯到具体是哪次改动引入的 bug、谁改的，便于排查和复盘。历史记录还让代码审计、合规追溯成为可能——金融、医疗等强监管行业对代码变更有审计要求，Git 历史是天然的审计日志。",[50,1241,1243],{"id":1242},"_2-多人协作","2. 多人协作",[11,1245,1246],{},"没有版本控制时，多人改同一份代码要靠\"文件传来传去\"或\"共享文件夹\"，冲突频发、改动丢失、版本混乱。Git 让多人协作规范化——每个人在本地改，改完提交，Git 自动合并或识别冲突。",[11,1248,1249,1252,1253,1256],{},[15,1250,1251],{},"多人同时开发不冲突","——Git 的合并机制能自动合并不同部分的改动，相同部分的冲突会明确标出，让开发者手动解决。",[15,1254,1255],{},"合并代码规范","——通过 pull request（PR）或 merge request（MR）流程，代码合并前要经过 review（代码审查），保证质量。",[50,1258,1260],{"id":1259},"_3-分支","3. 分支",[11,1262,1263],{},"分支是 Git 的杀手级特性。从主线（main\u002Fmaster）分出独立分支，在分支上开发新功能，开发完成、测试通过后再合并回主线。",[11,1265,1266,1269,1270,1273,1274,1277],{},[15,1267,1268],{},"同时做多个功能","——开发 A 做支付功能、开发 B 做用户中心，两人各自在自己的分支上开发，互不影响。",[15,1271,1272],{},"互不影响","——某个功能开发中出了问题，不会污染主线，主线始终保持稳定。",[15,1275,1276],{},"测试稳定再合并","——功能在分支上开发测试，稳定后才合并到主线，主线始终是可发布的状态。",[50,1279,1281],{"id":1280},"_4-备份","4. 备份",[11,1283,1284,1287,1288,1291],{},[15,1285,1286],{},"代码在远程仓库备份","——本地代码 push 到远程仓库（GitHub、GitLab、Gitee），相当于异地备份。本地电脑坏了、丢了，代码还在远程仓库。",[15,1289,1290],{},"不怕丢","——多人协作时每个人都有一份完整副本，任何一份丢失都能从其他人恢复。",[23,1293,1295],{"id":1294},"git-vs-不用版本控制","Git vs 不用版本控制",[106,1297,1298,1311],{},[109,1299,1300],{},[112,1301,1302,1305,1308],{},[115,1303,1304],{},"维度",[115,1306,1307],{},"Git",[115,1309,1310],{},"不用",[122,1312,1313,1324,1335,1346,1355],{},[112,1314,1315,1318,1321],{},[127,1316,1317],{},"历史",[127,1319,1320],{},"完整记录",[127,1322,1323],{},"没有",[112,1325,1326,1329,1332],{},[127,1327,1328],{},"协作",[127,1330,1331],{},"规范",[127,1333,1334],{},"手动易冲突",[112,1336,1337,1340,1343],{},[127,1338,1339],{},"回退",[127,1341,1342],{},"能",[127,1344,1345],{},"不能",[112,1347,1348,1350,1353],{},[127,1349,1217],{},[127,1351,1352],{},"支持",[127,1354,1323],{},[112,1356,1357,1360,1363],{},[127,1358,1359],{},"专业性",[127,1361,1362],{},"行业标准",[127,1364,1365],{},"不规范",[11,1367,1368],{},"不用版本控制的开发方式现在已经很少见——连个人开发者都用 Git 管理代码。如果一个开发团队不用 Git，基本可以判断为不规范。",[23,1370,1371],{"id":1371},"老板要了解的",[11,1373,1374,1377],{},[15,1375,1376],{},"规范团队都用 Git","——这是判断开发团队专业性的基本标准。用 Git 意味着团队有规范的开发流程（分支管理、代码审查、持续集成），而不是各自为政。反映专业性。",[11,1379,1380,1383],{},[15,1381,1382],{},"代码资产","——Git 仓库是企业的重要数字资产。仓库里不只是当前代码，还有完整的开发历史、设计决策、问题修复过程。这些是企业知识资产的重要组成部分。",[11,1385,1386,1389],{},[15,1387,1388],{},"源码交付","——服务商交付源码时，Git 仓库（含完整版本记录）是重要资产。只有当前代码没有历史记录，等于丢了开发过程的上下文。规范的源码交付应该包含 Git 仓库。源码含完整版本记录。",[11,1391,1392,1395],{},[15,1393,1394],{},"协作规范","——多人开发有据可查——谁做了什么、什么时候做的、为什么这么做，都有记录。出问题能追溯，避免推诿。",[23,1397,207],{"id":207},[11,1399,1400,1403,1404,1407,1408,1411,1412,1415],{},[15,1401,1402],{},"不用版本控制","——不规范、易丢代码。现在几乎没团队这么做了，但仍有个别服务商交付\"散落的代码文件\"而不是 Git 仓库，要注意。",[15,1405,1406],{},"不提交远程","——只在本地用 Git，不 push 到远程仓库，电脑坏了代码全丢。规范的团队都有远程仓库。",[15,1409,1410],{},"不分分支","——所有改动直接在主线做，功能混在一起乱、出问题难回退。规范团队都有分支策略（如 Git Flow、GitHub Flow）。",[15,1413,1414],{},"不写提交说明","——每次提交不写说明或写\"update\"\"fix\"这种无意义内容，不知道改了什么。规范团队要求写有意义的提交说明。",[23,1417,236],{"id":236},[11,1419,1420],{},"Git 本身免费（开源），成本在团队规范使用：",[106,1422,1423,1434],{},[109,1424,1425],{},[112,1426,1427,1430,1432],{},[115,1428,1429],{},"方面",[115,1431,120],{},[115,1433,250],{},[122,1435,1436,1447,1458],{},[112,1437,1438,1441,1444],{},[127,1439,1440],{},"Git工具",[127,1442,1443],{},"开源免费",[127,1445,1446],{},"免费",[112,1448,1449,1452,1455],{},[127,1450,1451],{},"托管平台",[127,1453,1454],{},"GitHub\u002FGitLab等",[127,1456,1457],{},"免费\u002F订阅",[112,1459,1460,1463,1466],{},[127,1461,1462],{},"团队规范",[127,1464,1465],{},"培训使用",[127,1467,1468],{},"低",[11,1470,1471],{},"Git 工具完全免费。托管平台有免费档（GitHub 公开仓库免费、GitLab 免费版）和付费档（私有仓库、企业版），按团队规模每月几美元到几十美元。团队规范使用要培训，但 Git 已经是开发行业基础技能，招聘时默认会，培训成本很低。",[23,1473,1474],{"id":1474},"怎么确认团队规范",[282,1476,1477,1483,1489,1495],{},[78,1478,1479,1482],{},[15,1480,1481],{},"确认团队用 Git 管理代码","——这是基本标准。问\"代码在哪个仓库\"\"分支策略是什么\"能快速判断。",[78,1484,1485,1488],{},[15,1486,1487],{},"代码在远程仓库（备份）","——有远程托管（GitHub、GitLab、Gitee 或自建），不只本地。",[78,1490,1491,1494],{},[15,1492,1493],{},"有分支和提交记录","——查看仓库历史，有没有规范的分支、有意义的提交说明、代码审查记录。",[78,1496,1497,1500],{},[15,1498,1499],{},"源码交付含 Git 仓库","——服务商交付时应该交付 Git 仓库（含完整历史），不只是当前代码文件。",[11,1502,1503],{},"按这几点核对，能快速判断开发团队是否规范。规范的 Git 使用是专业开发的基本标志，也是代码资产安全的基本保障。",[300,1505,1506],{},[11,1507,1508],{},"广州市汉诺雷斯（HNREIS）用Git规范管理代码，源码完整交付（含版本记录）。把你的项目需求告诉我们，我们规范交付。",{"title":39,"searchDepth":306,"depth":306,"links":1510},[1511,1512,1518,1519,1520,1521,1522],{"id":1196,"depth":306,"text":1197},{"id":1221,"depth":306,"text":1222,"children":1513},[1514,1515,1516,1517],{"id":1225,"depth":312,"text":1226},{"id":1242,"depth":312,"text":1243},{"id":1259,"depth":312,"text":1260},{"id":1280,"depth":312,"text":1281},{"id":1294,"depth":306,"text":1295},{"id":1371,"depth":306,"text":1371},{"id":207,"depth":306,"text":207},{"id":236,"depth":306,"text":236},{"id":1474,"depth":306,"text":1474},"2024-06-06","Git是代码版本控制工具，记录历史、支持协作和分支。本文用通俗方式讲清Git是什么、为什么开发要用、老板要了解什么。",[1526,1529,1532],{"q":1527,"a":1528},"Git是什么，简单说？","Git是代码版本控制工具，通俗说是代码的\"时光机\"和\"协作台\"——记录每次改动的历史（能回到任何版本）、多人同时改不冲突、支持分支（同时做多个功能）。开发团队用Git管理代码是行业标准。",{"q":1530,"a":1531},"老板为什么要了解Git？","Git关系到代码资产管理和交付。用Git意味着代码有完整历史、多人协作规范、源码可交付（有完整版本记录）。规范的开发团队都用Git，这反映团队专业性。源码交付时Git仓库是重要资产。",{"q":1533,"a":1534},"不用Git会怎样？","不用版本控制，代码改动没记录（改坏了回不去）、多人协作靠手动合并（易冲突丢代码）、没有分支（难同时做多功能）。现在专业开发都用Git，不用版本控制是不规范的表现。",[1307,1536,1537,1538],"版本控制","代码管理","代码版本",{},"\u002Fblog\u002Fcomparison\u002Fbanben-kongzhi-git",{"title":1181,"description":1524},{"loc":1540},"blog\u002Fcomparison\u002Fbanben-kongzhi-git",[1307,1536,1545],"开发","DDOY-P0lE1QLrLUQlE8ZQ8GpIAjcQnAG0lviW8QNo_I",{"id":1548,"title":1549,"author":6,"body":1550,"category":329,"cover":330,"date":1919,"description":1920,"draft":333,"extension":334,"faq":1921,"featured":333,"image":330,"keywords":1931,"meta":1934,"navigation":350,"path":1935,"seo":1936,"sitemap":1937,"stem":1938,"tags":1939,"updated":1919,"__hash__":1942},"blog\u002Fblog\u002Fcomparison\u002Fbendibu-vs-yunduan.md","本地部署和云部署的区别",{"type":8,"value":1551,"toc":1900},[1552,1559,1562,1566,1648,1650,1653,1656,1676,1679,1699,1701,1704,1707,1733,1736,1756,1758,1762,1773,1776,1787,1790,1798,1800,1826,1828,1875,1878,1895],[11,1553,1554,1555,1558],{},"软件部署在自己机房（本地）还是云上？",[15,1556,1557],{},"两者数据位置、成本、运维、弹性不同。"," 这篇讲清区别和选择。",[11,1560,1561],{},"很多企业在做信息化决策时，第一道选择题就是\"上云还是私有化部署\"。这件事看起来只是技术选型，实际上牵涉到数据归属、合规边界、运维投入、长期成本以及未来扩展性。如果一开始选错方向，后期再迁移会付出很大代价——数据迁移、接口改造、业务中断、人员重新培训。所以我们建议在动手之前，把两种方式的本质差异理清楚，再结合自身的数据敏感度、规模和运维能力做选择。",[23,1563,1565],{"id":1564},"本地部署-vs-云部署","本地部署 vs 云部署",[106,1567,1568,1580],{},[109,1569,1570],{},[112,1571,1572,1574,1577],{},[115,1573,1304],{},[115,1575,1576],{},"本地部署",[115,1578,1579],{},"云部署",[122,1581,1582,1593,1604,1615,1626,1637],{},[112,1583,1584,1587,1590],{},[127,1585,1586],{},"数据位置",[127,1588,1589],{},"自己机房",[127,1591,1592],{},"云厂商",[112,1594,1595,1598,1601],{},[127,1596,1597],{},"可控性",[127,1599,1600],{},"高",[127,1602,1603],{},"依赖云厂商",[112,1605,1606,1609,1612],{},[127,1607,1608],{},"初期成本",[127,1610,1611],{},"高（买服务器）",[127,1613,1614],{},"低（按需付费）",[112,1616,1617,1620,1623],{},[127,1618,1619],{},"运维",[127,1621,1622],{},"自己负责",[127,1624,1625],{},"云厂商负责部分",[112,1627,1628,1631,1634],{},[127,1629,1630],{},"弹性",[127,1632,1633],{},"难（要买硬件）",[127,1635,1636],{},"强（随时扩容）",[112,1638,1639,1642,1645],{},[127,1640,1641],{},"上线速度",[127,1643,1644],{},"慢",[127,1646,1647],{},"快",[23,1649,1576],{"id":1576},[11,1651,1652],{},"本地部署也叫私有化部署，是把软件连同数据库完整安装在客户自己机房的服务器上，所有数据从产生、存储到流转都在客户自己的硬件和网络环境里。云厂商或其他第三方无法直接访问到这些数据。",[50,1654,1655],{"id":1655},"优势",[75,1657,1658,1664,1670],{},[78,1659,1660,1663],{},[15,1661,1662],{},"数据自主","：数据完全在自己机房，物理上和网络上都可控，敏感行业（金融、政务、医疗、能源、核心商业数据）的合规要求通常通过本地部署满足。",[78,1665,1666,1669],{},[15,1667,1668],{},"完全可控","：不依赖云厂商，不会因为云厂商故障、停服、政策调整影响业务；网络策略、访问权限、加密方式都可以按自己的标准来制定。",[78,1671,1672,1675],{},[15,1673,1674],{},"长期固定成本","：初期一次性投入后，主要成本是电费、机房和运维人员工资，规模上来之后单位成本会被摊薄，长期运营相对划算。",[50,1677,1678],{"id":1678},"劣势",[75,1680,1681,1687,1693],{},[78,1682,1683,1686],{},[15,1684,1685],{},"初期贵","：要买服务器、存储、网络设备，还要准备机房或机柜、UPS、空调、带宽等配套，光硬件投入就是几万到几十万，再加上软件授权和实施，初期门槛较高。",[78,1688,1689,1692],{},[15,1690,1691],{},"要运维","：硬件会坏、系统要打补丁、网络要排查、备份要做、安全要防护，需要专门的运维人员，小企业养一支运维团队成本不低。",[78,1694,1695,1698],{},[15,1696,1697],{},"弹性差","：业务量突然上涨，本地机房很难快速扩容——采购周期、上架、配置都要时间；业务量下降，已买的硬件也退不掉，资源闲置。",[23,1700,1579],{"id":1579},[11,1702,1703],{},"云部署是把软件部署在云厂商提供的服务器上（阿里云、腾讯云、华为云、AWS 等），按使用量付费。硬件、机房、网络、基础安全都由云厂商负责，客户只关注应用本身。",[50,1705,1655],{"id":1706},"优势-1",[75,1708,1709,1715,1721,1727],{},[78,1710,1711,1714],{},[15,1712,1713],{},"初期便宜","：按需付费，不用一次性买服务器，一台云主机从几十元到几百元每月起步，小企业或初创项目几乎零门槛。",[78,1716,1717,1720],{},[15,1718,1719],{},"省运维","：云厂商负责硬件、网络、机房、基础安全，客户只需要关注应用配置和数据，运维压力大幅下降，小团队也能跑稳生产环境。",[78,1722,1723,1726],{},[15,1724,1725],{},"弹性强","：业务高峰可以临时扩容（加机器、加带宽、加存储），低谷再缩容，按实际用量结算，特别适合季节性、活动型、流量波动大的业务。",[78,1728,1729,1732],{},[15,1730,1731],{},"上线快","：开通云主机几分钟，配合容器化部署可以做到当天开服、当天上线，对快速验证、敏捷迭代非常友好。",[50,1734,1678],{"id":1735},"劣势-1",[75,1737,1738,1744,1750],{},[78,1739,1740,1743],{},[15,1741,1742],{},"数据在云","：数据物理上存在云厂商机房，依赖云厂商的安全能力和商业稳定性，敏感行业和强合规场景需要谨慎评估。",[78,1745,1746,1749],{},[15,1747,1748],{},"持续付费","：云资源按月或按年计费，长期累积下来可能比一次性买硬件更贵，规模越大、运行越久越明显。",[78,1751,1752,1755],{},[15,1753,1754],{},"合规限制","：部分行业（金融、政务、医疗、关键信息基础设施）的数据不允许上公有云，或只能上指定云、政务云、行业云。",[23,1757,1105],{"id":1105},[50,1759,1761],{"id":1760},"选本地私有化","选本地（私有化）",[75,1763,1764,1767,1770],{},[78,1765,1766],{},"数据高度敏感，比如金融交易、政务数据、医疗档案、核心商业数据、客户隐私。",[78,1768,1769],{},"要完全自主可控，对外部依赖、对供应商锁定特别敏感。",[78,1771,1772],{},"规模大、长期固定负载，本地部署的总账算下来比持续上云更划算。",[50,1774,1775],{"id":1775},"选云",[75,1777,1778,1781,1784],{},[78,1779,1780],{},"数据不敏感，或合规允许上云，希望轻装上阵。",[78,1782,1783],{},"业务有明显弹性，需要快速扩容、缩容，或处于快速验证阶段。",[78,1785,1786],{},"中小规模，没有专业的运维团队，希望把硬件和网络都外包出去。",[50,1788,1789],{"id":1789},"混合",[75,1791,1792,1795],{},[78,1793,1794],{},"敏感数据放本地（如核心交易、客户隐私），一般业务上云（如官网、营销、内部办公）。",[78,1796,1797],{},"通过专线、VPN、API 网关打通，做到\"敏感在内、弹性在外\"，是很多中大型企业的主流选择。",[23,1799,207],{"id":207},[75,1801,1802,1808,1814,1820],{},[78,1803,1804,1807],{},[15,1805,1806],{},"敏感数据上云","：忽视合规要求把不该上云的数据放公有云，可能面临监管处罚、整改甚至停业。",[78,1809,1810,1813],{},[15,1811,1812],{},"小规模本地部署","：业务量不大却硬上私有化，硬件折旧和运维成本根本摊不开，反而比上云贵。",[78,1815,1816,1819],{},[15,1817,1818],{},"只比单价不算总账","：云单价便宜不等于长期便宜，本地初期贵不等于长期贵，要按 3 年、5 年总成本（TCO）来算。",[78,1821,1822,1825],{},[15,1823,1824],{},"忽视云持续费用","：带宽、存储、CDN、增值服务都会按月累计，业务量起来后账单会快速上涨。",[23,1827,236],{"id":236},[106,1829,1830,1842],{},[109,1831,1832],{},[112,1833,1834,1837,1839],{},[115,1835,1836],{},"方式",[115,1838,120],{},[115,1840,1841],{},"成本特点",[122,1843,1844,1855,1866],{},[112,1845,1846,1849,1852],{},[127,1847,1848],{},"本地",[127,1850,1851],{},"服务器+机房+运维",[127,1853,1854],{},"初期高，长期固定",[112,1856,1857,1860,1863],{},[127,1858,1859],{},"云",[127,1861,1862],{},"按需付费",[127,1864,1865],{},"初期低，持续",[112,1867,1868,1870,1873],{},[127,1869,1789],{},[127,1871,1872],{},"敏感本地+一般云",[127,1874,1099],{},[23,1876,1105],{"id":1877},"怎么选-1",[282,1879,1880,1883,1886,1889,1892],{},[78,1881,1882],{},"评估数据敏感度——是否涉及个人信息、重要数据、行业强合规。",[78,1884,1885],{},"评估规模和弹性需求——是稳定负载还是波动剧烈。",[78,1887,1888],{},"算总账（初期 + 长期 3-5 年），不只看月费。",[78,1890,1891],{},"评估运维能力——有没有专门的运维团队。",[78,1893,1894],{},"按需求选本地 \u002F 云 \u002F 混合，必要时分数据域分别部署。",[300,1896,1897],{},[11,1898,1899],{},"广州市汉诺雷斯（HNREIS）帮企业做部署方案，从云部署到本地私有化，按数据合规和成本需求选。把你的部署需求告诉我们，我们给出建议。",{"title":39,"searchDepth":306,"depth":306,"links":1901},[1902,1903,1907,1911,1916,1917,1918],{"id":1564,"depth":306,"text":1565},{"id":1576,"depth":306,"text":1576,"children":1904},[1905,1906],{"id":1655,"depth":312,"text":1655},{"id":1678,"depth":312,"text":1678},{"id":1579,"depth":306,"text":1579,"children":1908},[1909,1910],{"id":1706,"depth":312,"text":1655},{"id":1735,"depth":312,"text":1678},{"id":1105,"depth":306,"text":1105,"children":1912},[1913,1914,1915],{"id":1760,"depth":312,"text":1761},{"id":1775,"depth":312,"text":1775},{"id":1789,"depth":312,"text":1789},{"id":207,"depth":306,"text":207},{"id":236,"depth":306,"text":236},{"id":1877,"depth":306,"text":1105},"2024-06-18","软件可以部署在自己机房（本地）或云上，两者数据、成本、运维和弹性不同。本文讲清本地部署和云部署的区别和选择。",[1922,1925,1928],{"q":1923,"a":1924},"本地部署和云部署什么区别？","本地部署是软件装在自己机房的服务器上，数据在自己手里，可控但要自己买服务器和维护；云部署是装在云服务器上（阿里云\u002F腾讯云等），不用买服务器、弹性扩容、按需付费，但数据在云厂商。核心区别在数据位置和运维责任。",{"q":1926,"a":1927},"企业该选本地还是云？","看数据敏感度和需求。数据高度敏感、要完全自主（金融\u002F政务\u002F核心商业数据），选本地（私有化）；要弹性、省运维、快速上线，选云。很多企业混合——敏感本地、一般云。建议按数据合规和成本需求选。",{"q":1929,"a":1930},"本地部署比云贵吗？","看规模。本地部署要一次性买服务器（几万到几十万）+持续电费机房运维，初期贵但量大后固定；云部署按需付费，初期便宜但长期持续付费，量大可能累积贵。要算总账，不是简单比单价。",[1576,1579,1932,1933],"部署方式","私有化部署",{},"\u002Fblog\u002Fcomparison\u002Fbendibu-vs-yunduan",{"title":1549,"description":1920},{"loc":1935},"blog\u002Fcomparison\u002Fbendibu-vs-yunduan",[1940,1859,1941],"部署","选型","2aw6C_2og_Eq04KLDnHPhU-NwU6cTqAJMhy_gQJj7tc",1781688908384]