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