后端云音乐贵州机房迁移总体方案回顾网易云音乐技术团队

2023年确定要将云音乐整体服务搬迁至贵州机房,项目需要在各种限制条件下,保障2000+应用、100w+QPS的服务稳定迁移,是云音乐历史上规模最大、人员最多、难度最高的技术项目。在此过程中,解决了大量历史技术债务,同时化解了大量新增系统性风险。以下为总体方案回顾。

迁移规模大

业务复杂度高

历史积弊多

新增风险大

限制条件严苛

事项推进&协调难度大

大团队/领域之间的迁移方案尽可能解耦,分不同批次搬迁。好处:

云音乐服务端需要将流量闭环在同一个机房,避免产生跨区域调用。

云音乐经过微服务之后,目前存在千+服务,各服务间依赖复杂。在贵州机房与杭州机房之间网络延迟约30ms的背景下,每产生一次跨区域调用,则RT上升30ms。

关于此处,会有同学认为优先B端可能会更稳,但优先采用B端优先,会有如下问题:

迁移期间,需要在贵州准备与杭州同等规模的机器资源,因此批次不可能不受到资源的限制。其主要受限制资源为:

因此,按照以上原则进行分批后,若资源仍不足,再根据团队/领域拆分出第二批

基于以上原则,最终分批方案如下所示

能够按照用户ID、设备ID、IP、流量标几个维度逐步灰度切流。

尽管做了各种稳定性保障来避免回滚,但是如遇到极端情况,仍有整体回滚的可能性。因此搬迁方案必须可回滚。

在切流过程中,杭州和贵州之间会有大量的服务访问、数据传输,从而可能突破长传带宽200Gbps的限制。因此切流方案中必须减少不必要的跨区域流量。

服务端整体通用架构简化后,如上图所示,因此有如下几个切入点:

云音乐业务场景较多,不同场景下对数据一致性的要求也不一样,例如:营收下的订单类场景需要数据强一致性,而点赞需要数据最终一致性即可。

在涉及不同的存储时,也有着多种多样的迁移策略。对此,中间件以及各存储层支持了不同的迁移策略选择,各个业务基于不同的场景,选择正确的策略。迁移策略主要如下:

对以上切入点再次进行分类,可再次简化为流量层切流、存储层切换。在正式切流时,我们按照如下步骤进行切流。

先存储层按序切换,然后流量层按序切换。

因此整个项目组也在摸着石头过河,在此过程中,既有大的方案的设计,也有细枝末节的问题发现和推进处理。总结起来,我们总共从以下几个方面着手进行稳定性保障:

盘点梳理机器资源情况、网络带宽、迁移期间服务可用性要求等全局限制条件,从而确定分批方案、迁移思路。

主要盘点核数、内存。在此过程中,也推进了资源利用率优化、废弃服务下线等事宜。通过如下公式计算机器资源缺口:搬迁机器缺口=搬迁所需数量-(可用数量+可优化数量)

需要控制云音乐的长传带宽总量<=相对安全的带宽量相对安全的带宽量=(长传带宽总量/2x0.8)-已被占用带宽量

若业务允许全站停服迁移、或仅保障少量核心服务不挂,那么整体迁移方案会简单很多。因此业务对迁移期间的可用性要求,关乎着搬迁方案如何设计。最终讨论后确定,需要:迁移不产生P2及以上事故

基于Trace链路,预测分批情况下RT增长情况。

此次贵州迁移主要带来的新增系统性风险是:

贵州公网质量如何?迁移至贵州之后是否会因公网质量问题,导致用户体验差?由于云音乐用户基数大,且注重用户体验,这个是必须提前摸清的问题。若公网质量真的存在较大问题,云音乐可能会停止贵州迁移项目。

对此,我们通过如下方式进行了公网质量验证和保障:

云音乐C端服务当前的RT普遍在5~70ms之间,若增加30ms,可能会导致请求堆积、线程池打爆等风险。为避免此风险,我们从如下几个方面入手:

无法同一批次搬迁的应用。

跨机房网络的现状和参考数据:

参考网易北京与杭州的长传带宽质量。

基于以上现状,需要重点考虑并解决:

在贵州迁移项目中,我们对以上重点问题进行了梳理和解决,并制定了各种应急预案和极端情况下的回滚方案。

因杭州和贵州机房同时部署,带来的服务节点数量、API数量、RPC数量翻倍风险

在服务节点数量、API数量、RPC数量翻倍后,主要对底层依赖带来连接、重连上的冲击,以及原有连接数上限的冲击。

在我们实际搬迁中,也因遗漏了这一点,导致线上ZK出现瓶颈,进而ZK挂掉的问题。其主要表现为在网关场景下存在数据推送瓶颈。最终通过网关侧的ZK拆分解决该问题。

除此之外,DB、Memcached、Redis、MQ等资源的连接数也可能会超过原先设定的上限,需要评估后进行调整。

大规模数据变更的场景包含但不限于:

针对以上风险,我们重点对配置中心、K8S、贵州迁移管控平台等系统进行了性能优化,以支撑整体迁移。

因新机房建设、搬迁带来的底层基础设施风险包含但不限于:

在贵州迁移前,已经有多次发生因配置变更错误带来的事故。而此项目带来从未有过的全域迁移,全域协作,大范围变更&发布,风险不可谓不高。在此过程中,通过了许多方式来保障事项的落地,其中比较关键的点,也是项目成功的关键点包括:

在贵州迁移项目中,比较突出的历史债务处理有:

ZK的不稳定已导致云音乐最高出现P1级事故,在贵州迁移项目中,因网络环境、机房环境、迁移复杂度等因素,ZK服务挂掉的概率极大,因此必须不能对其强依赖。

Nydus作为云音乐主力MQ产品,相较开源Kafka有更好的监控、运维等能力,Kafka在云音乐在线业务中已不再推荐使用。在贵州迁移中,MQ也需要进行两地切换/切流。

主要收益:

在推进层面:

在贵州迁移项目中,需要做大量的配置迁移、变更。其主要为:机房名、集群名、机器IP、机器Ingress域名的变化。而这些在配置中心、代码、自动化脚本、JVM参数中均有存在,此外,IP黑白名单还可能涉及到外部厂商的改造变更。

在具体推进上,采用自动化扫描+人工梳理结合,并辅以标准化改造指引文档。

核心应对杭州与贵州跨机房30msRT和长传网络不稳定的风险。对循环调用、不合理依赖、强依赖进行改造。

因贵州需要与杭州同等容量部署,可能存在资源不足的情况。对此需要:

在此次迁移中,存在较多的元信息不准确的问题,例如:

以上问题在迁移中,通过脚本、1对1沟通确认、手动梳理等多种方式进行了临时处理,在贵州迁移后,仍需再全面的系统性规划。

有较多的应用长期不升级,与最新版本跨度较大,存在较多的兼容性问题,需要人工进行升级处理。升级流程大致如下:

在迁移中期,我们进行了自动升级平台建设,基本支持以上升级流程自动化。

因此次迁移涉及全部的应用在不同环境的部署,全部人工操作的效率过低,因此我们在非线上环境均由脚本自动化部署,而测试环境由于维护不足,部署成功率较低。

当前贵州迁移时整体会按照应用维度进行迁移、切流到贵州。因此对于中台租户型应用、多地域注册类型的应用需要拆分。

除了以上提到的历史技术债务处理和新增系统性风险,公共技术侧大都提供了标准化的接入、改造治理方式。例如:

在监控告警层面,主要提供了:

在贵州迁移期间,基于以上风险,主要准备如下应急预案:

业务技术侧方案重点包含但不限于:

此次贵州迁移,在各应用标准化治理之后,通过系统批量工具完成贵州各项环境的搭建、测试环境的批量部署。

在测试演练开始前,我们重点做了如下准备:

在测试环境演练,总体思路是逐步扩大验证范围,最终达到全局基本功能基本验证通过。以下为主要演练顺序,每一步视执行结果,再选择是否重复执行。

因测试环境和线上环境仍存在较大的差异,需要摸清线上真实情况,在演练原则和演练目标上均较测试环境演练有更严格、细致的要求。

在云音乐主站正式切流前,先对云音乐旗下独立App进行了线上搬迁验证,保障云音乐迁移时的稳定性。

SOP即标准作业程序(StandardOperatingProcedure),源自传统工业领域,强调将某项操作以标准化、流程化的方式固化下来。

SOP平台将标准化、流程化的操作进行系统化呈现,并对接各中间件平台,实现操作效率的提升。在贵州迁移过程中,能够实现多部门信息同步、信息检查,并显著降低批量操作的出错概率、执行效率,降低人因风险。同时也可为后续其他大型项目提供基础支撑。

自动升级平台串联代码升级变更、测试部署、测试验证、线上发布、线上检测,实现升级生命周期重要节点的自动化。在贵州迁移过程中,显著提升整体升级、验证、部署效率。同时可为后续的大规模组件升级、组件风险治理、组件兼容性摸查、Sidecar式升级提供基础支撑。

精准筛选出每项事宜涉及的范围,是顺利进行各项风险治理的前提条件。在此次贵州机房迁移中也暴露出元信息建设不足的问题。

在贵州迁移过程中,做了历史技术债务处理、标准化接入方式,后续可针对各项元信息的创建、更新、销毁进行标准化、系统化建设。例如:

目前应用可做配置的入口有:配置中心、properties文件、props文件、JVM参数、硬编码。不同的中间件提供出的配置方式也各有不同,所以各应用的配置比较五花八门。因此可做如下改进:

在贵州机房迁移中,除了SOP平台和自动升级平台的系统沉淀外,业务中间件、Horizon部署平台都提供了一定的工具支撑,从而在一定程度上提升了整体迁移的效率。在之后,随着对效率、系统间融合的要求的提高。需要继续在功能、性能、稳定性等多个层面,继续对批处理、系统间融合进行系统化建设。例如:

在贵州迁移中,ZK的问题相对突出,对此也投入了比较多的人力去排查、解决以及推进风险治理。后续仍需要在ZK的稳定性、可维护性上探讨进一步优化的可能性:

尽管在贵州机房迁移中,做了大量的稳定性保障措施,但依赖每个研发对各自负责领域的理解、运维能力。是否能在团队管理、设施管理、服务管理、稳定性管理、架构设计等多方面,探索出一套可持续的长效保障机制?并进行一定的稳定性系统化建设?从而避免点状问题随机发生。

贵州迁移中涉及大量的组件变更与发布,以及业务侧组件升级与治理。组件可以从生产侧和使用侧进行分析,而组件生命周期主要由2条主线贯穿:

组件风险治理线:风险定义、风险发现、升级推进、升级验证依据此分类,服务端的组件管理仍有较多可提升空间。

THE END
1.拟立项标准公示关于征求《液态类食品散装运输技术规范》拟立项强制性国家标准项目意见的通知 关于征求《盲杖 第1部分:安全标志》等16项拟立项强制性国家标准项目意见的通知 2024年(28) 关于征求《 儿童手表安全技术要求》等8项拟立项强制性国家标准项目意见的通知 关于征求《化学品安全标签编写规定》等9项拟立项强制性国家标准...https://std.samr.gov.cn/gb/gbSuggestionPlan?bId=10002058
2.全国农业食品标准公共服务平台国家标准化管理委员会 国家林业和草原局 其他发布部门 全选 批量收藏 符合查询条件法规:11736条 我的收藏现行: 就敌草胺(Napropamide)、哒螨灵(Pyridaben)和吡螨胺(Tebufenpyrad)在部分农产品内部或表面的最大残留限量,修订欧洲议会和理事会条例(EC) No 396/2005 的附件II(EU) 2024/2609 ...https://www.sdtdata.com/fx/fmoa/statuteLib
3.网址大全:查询国家标准行业标准地方标准团体标准企业标准...8 体育标准化信息平台 http://www./tybz/ 体育标准化信息平台提供体育领域的国标和行标查询服务,部分标准可在线浏览,部分只有摘要信息 9 农业农村部 http://www.jgs.moa.gov.cn/nybz/ 农业农村部官网下属频道农产品质量安全监管局的“农业标准”板块随公告公开农业行业标准和国家标准目录 10 交通运输标准化信息平...http://www.360doc.com/content/24/1109/17/7863900_1138911231.shtml
4.产品质量监督抽查(质量检测)信息产品质量国家监督抽查 市场监管总局关于11批次食品抽检不合格情况的通告(2024-10-19) 2024年家用燃气快速热水器等7种产品质量国家监督抽查情况通报(2024-09-...广东省药品监督管理局:10批次药品不符合标准规定(2021-02-19) 广东省药品监督管理局关于药品抽查检验信息的通告2020年第11期(2021-02-19) ...http://12365315.cn/home/bgtai/index.html
5.执行标准号在哪里查4.产品制造商或供应商的官方网站:通常在产品包装或说明书上会标明执行标准号。 5.国家药品监督管理局官网:http://www.nmpa.gov.cn/ 需要注意的是,不同领域的执行标准号可能会有不同的查询方式,具体查询方法可以参考上述网站中的相关指南。 执行标准号是衡量产品或服务符合国家相关标准的标识,可以在以下途径查询:...https://www.autohome.com.cn/ask/570713.html
6.食安通(食品安全网)食安通(食品安全网)提供食品标准查询、食品安全标准下载、食品法规查询、食品添加剂使用标准查询、农药残留限量查询、可用食品原料查询、食品检测指标/方法库、营养标签计算生成工具、食物营养成分表查询等实用工具。一站式、全方位、定制化食品安全信息查询平台http://www.eshian.com/
7.国家标准查询查询条件 标准号: 标准名称: 国家标准列表 请输入查询条件!http://cx.cnca.cn/CertECloud/standard/skipStandard?standardType=1¤tPosition=undefined
8.查标准上工标网工标网——最专业权威的标准门户网站。及时收录各行业标准,国家标准,国外标准等资讯、公告、及标准更替信息,与搜索完美结合,及时为企业提供各种标准化信息服务,并为用户提供最简单便捷的网上购买服务。查标准,上工标网。http://www.csres.com/
9.食品标准2024-09-08 GB 4789.18-2024 食品安全国家标准 食品微生物学检验 乳与乳制品采样和检样处理 2024-09-08 GB 4789.19-2024 食品安全国家标准 食品微生物学检验 蛋与蛋制品采样和检样处理 2024-09-08 GB 4789.20-2024 食品安全国家标准 食品微生物学检验 水产品及其制品采样和检样处理食品...http://down.foodmate.net/standard/index.html
10.OPPOFindX8系列抬手就出片抓拍氛围感OPPO官方网站OPPO 是全球领先的智能设备创新者。在 OPPO 官网您可以浏览 Find X8 系列、 Find N3 系列、Reno12 系列和 OPPO Pad 系列等产品具体信息,并获得相关服务与支持。https://www.oppo.com/
11.NTCE详细>> 日程安排 2024年中小学教师资格考试日期为:上半年笔试3月9日,面试5月11-12日;下… 详细>> 报名流程 登录。考生登录“中小学教师资格考试”(http://ntce.neea.edu.… 详细>> 考试服务 报名系统 成绩查询 合格证明查询 合格证明验证 教师资格认定...https://ntce.neea.edu.cn/
12.2024年云南始成绩查询入口官网(www.ynylxf.cn/topicweb/ynskslyg...体能测评由招录单位负责,按照《公安机关录用人民警察体能测评项目和标准(暂行)》及相关补充规定执行。体能测评时间、地点等具体事项和进入体能测评人员名单,详见招录单位于2023年4月中旬在“考录专题网页”或招录单位网站上发布的体能测评公告。 (三)面试和专业能力测试 ...https://www.huatu.com/2024/0326/2738791.html
1.中国标准化研究院我国与澳新签署有机产品合作互认协议2024-11-01 市场监管总局印发《市场监管执法行为规范》2024-11-01 市场监管总局印发《关于牢固树立监管为民理念 推行服务型执法的指导意见》2024-11-01 市场监管总局(国家标准委)批准发布一批重要国家标准2024-10-31 市场监管总局发布百项“计量促进新质生产力发展”优秀案例和典型案...https://www.cnis.ac.cn/zjxw/index.html
2.cnki知网入口及操作指南(图文)中国知网登录网址入口:https://www.cnki.net/ 中国知网CNKI介绍: 国家知识基础设施(National Knowledge Infrastructure,NKI)的概念由世界银行《1998年度世界发展报告》提出。1999年3月,以全面打通知识生产、传播、扩散与利用各环节信息通道,打造支持全国各行业知识创新、学习和应用的交流合作平台为总目标,中国知网启动了中...https://www.dongrv.com/a/27063/
3....笔记本电脑平板电脑手机台式机服务器外设数码重塑办公 智见未来 以硬件、软件、服务一栈式综合能力,为客户提供全场景智慧办公产品和方案,致力成为企业数字化转型首选Partner。 成功案例 更多 超融合搭建虚拟办公桌,随时随地远程办公 远程办公难实现?丰田携手联想,以超融合搭建虚拟办公桌,助力其设计工程师摆脱对办公室工作站的依赖,轻松实现远程三维CAD办公。 https://www.lenovo.com/
4.中国知网旧版入口 充值 会员 检索 AI增强检索 AI研究助手 主题▼ 问答 高级检索 >出版物检索 > ...标准 成果 学术辑刊 图书 文库 工具书 中国引文库 学术图片 学术视频 音频 统计数据 ...基于大模型技术专利应用产品,旨在帮助企业、科研机构、专利审查机构等提升创新能力和核心竞争力。[查看详情...https://www.cnki.net/
5.26篇博文含有标签「版本甄知科技ITSM汉得焱牛开放平台-文档中心集成了汉得自主研发产品的相关文档,致力于打造成汉得的“百科全书”,更集中、更便捷、更统一的满足用户的阅读和查询。 Choerodon文档将商业版、SaaS版的文档迁移至文档中心,提供多样化的服务支持。 Choerodon文档:https://open.hand-china.com/document-center/doc/product/10003/10274?doc_...http://www.zknow.com/choerodon/blog/tags/%E7%89%88%E6%9C%AC/
6.中国药典药品标准法规在线查询药典,标准,法规,GMP,药品,数据库,蒲公英,ouryao.comhttps://db.ouryao.com/
7....宁波市标准化研究院宁波市标准化公共服务平台是一个准公益性标准技术平台,由宁波市标准化研究院提出、建设、运营,全院上下齐心协力,努力将平台打造成宁波地区最权威的标准化公共服务平台,主要承担标准、质量、技术法规及WTO/TBT(技术性贸易措施)研究与服务,宁波市组织机构代码和物品编http://www.standards.cn/
8.请问查食品执行标准在哪里查询?关于请问查食品执行标准在哪里查询?法律解答 智囊律师团队 帮助500人· 响应一小时内 咨询我 这个许可证号,可以再质检总局的网站上直接查到。但是如果他是完全拷贝别人的信息,本身就是真号,产品执行标准,你可以查“工标网”,所有标准的从生到死的历程都有。以上是关于请问查食品执行标准在哪里查的解答。 https://m.66law.cn/question/answer/29067172.html