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