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