您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[腾讯]:腾讯云技术实践精选集2022 - 发现报告
当前位置:首页/其他报告/报告详情/

腾讯云技术实践精选集2022

2022-12-01-腾讯罗***
腾讯云技术实践精选集2022

1腾讯云技术实践精选集 2022 2腾讯云技术实践精选集 2022【版权声明】【参与编写单位及人员】 (按拼音首字母)本报告版权属于腾讯云计算(北京)有限责任公司和 InfoQ 极客传媒,并受法律保护。转载、摘编或利用其它方式使用本报告文字或者观点的,应注明“来源:腾讯云计算(北京)有限责任公司和 InfoQ 极客传媒”。违反上述声明者,将追究其相关法律责任。作者内容编辑蔡芳芳付秋伟陈煜东 董峤术 郭志宏 胡锦前 韩硕江国龙 贾瓅园 林沐 李向辉 吕祥坤潘怡飞 孙勇福 陶松桥 童子龙 王鲁俊王涛 王福维 许文强 于华丽 杨鹏程于善游 杨珏吉 杨亚洲 赵军 张倩曾毅内容指导徐樱丹内容策划谷春雨 刘亚琼 李文芳 熊艳云 赵琪 3腾讯云技术实践精选集 2022卷首语2022 年,数字化转型成为了全行业关注的焦点,数字经济的价值进一步凸显。云计算作为数字时代的关键要素之一,正从单一云向多云、混合云战略过渡;分布式云服务也进入了高速发展的黄金期;随着 Docker、K8s 等容器技术的流行,云原生正成为云计算的新赛场,也成为企业数字化转型发展的“默认选项”、新底座;除此之外,人工智能、边缘计算等技术的普及进一步加速了云计算技术的变革。无论是数字原生行业还是非数字原生行业,云计算在行业数字化解决方案、产业链数据流转、资源动态配置、业务创新等方面正产生着难以估量的价值。对于腾讯的技术团队来讲,2022 年也是一个重要的技术里程碑之年。历经三年,包括 QQ、微信、王者荣耀、腾讯会议等亿级用户规模的腾讯自研业务已全面上云,集群规模突破 5000 万核,累计节省成本超 30 亿,这使得腾讯打造出国内最大规模的云原生实践。如何把这些亿级业务全部搬到云上并实现云原生改造?腾讯云做了大量的技术优化和革新:比如在容器调度领域 ,通过混部技术将资源利用率提升到 65%;在数据库领域,通过存算分离技术,打造了国内第一款云原生 Serverless 数据库;在安全领域,借助云原生技术本身的可观测性手段,创新地与安全结合,打造了更贴合云原生技术的专业安全防护能力等等。为此也沉淀了一份 6 万多字的《腾讯大规模云原生技术实践案例集》,包括 10 多个国民级应用的上云实践,可扫描封底二维码下载阅读。除了赋能自研业务外,腾讯云还将上述诸多产品或服务以及配套的基础软件、底层技术等开放给百万级的外部客户,全部基于公有云模式开发运营,赋能千行百业,也造就了一大批金融、游戏、企业服务、智能制造、教育等场景下的最佳实践。 4腾讯云技术实践精选集 2022此外,为了解决客户上云、用云的成本之忧,腾讯云基于内外云原生成本管理最佳实践,并结合行业优秀案例,提出了一套体系化的云原生上云成本优化方法论和最佳实践路径,发布了两个业界“标准”:《云原生最佳实践路线图》和《降本之源 · 云原生成本管理白皮书》,旨在帮助企业改善用云成本,充分发挥云原生的效能和价值。2022 年,是不平凡的一年,感恩来自行业、伙伴、团队的力量推动着我们勇往直前。在今年,我们参与了 DIVE 2022 北京站、ArchSummit 2022 深圳站、QCon 2022 广州站、ArchSummit 2022 北京站、ArchSummit 2022 杭州站等多场大会,与 1000+ 位技术人邂逅并分享心得。此外,这也是腾讯云连续两年推出《腾讯云技术实践精选集》,去年 2021 版精选集共 4 万多字,全网带来 7000 多次下载。2022 版的精选集总字数近 10 万,尤其首次收录了“腾讯自研业务大规模云原生实践”系列内容,全面解密腾讯如何锤炼腾讯云。每一次相遇,都难能可贵,每一场交流,都价值满满,遂整理成文,共享丰沃。展望 2023 ,愿与诸君携手同行,共攀技术新峰! 5腾讯云技术实践精选集 2022目录CONTENTS腾讯自研业务大规模云原生实践大数据与云数据库技术探索及实践 01 02如何管理超千万核资源的容器规模50W+ 小程序开发者背后的数据库降本增效实践拥抱云原生,数十万规模 GPU 卡的利用率极致优化之路TDSQL-PG 数据库在微信支付的应用实践将云原生进行到底:腾讯百万级别容器云平台实践揭秘云原生安全可观测性探索与实践大规模代码中引入供应链漏洞的分析技术前瞻腾讯云大数据 TBDS 在私有化场景万节点集群的实践PB 级数据秒级分析,腾讯云原生湖仓 DLC 架构揭秘CDW PG 大规模在线数仓技术构架分享云原生数据库管控探索和实践1.2.3.4.5.6.7.1.2.3.4.0817243038455056657380 6腾讯云技术实践精选集 2022云成本优化与研发提效 03企业上云,云上资源整体成本优化管理如何做?企业如何利用云厂商能力构建自己的分布式云?从混部到 Serverless 化,腾讯自研业务的稳定性及云原生成本优化实践Serverless 时代下,企业微服务的降本思考与实践腾讯课堂面向协作的 DevOps 流程设计与实践1.2.3.4.5.1341411491551598693101111126中间件与基础设施 04Kafka Stream 的进化探索:流式 Serverless 计算JVMTI Agent 在中间件领域的应用区块链如何支撑 Web 3.0腾讯操作系统的创新之路腾讯明眸媒体处理实践1.2.3.4.5.166172184190201腾讯云原生数据库 TDSQL-C 架构探索和实践金融级分布式数据库 TDSQL 升级版引擎架构和关键技术介绍国产金融级分布式数据库在金融核心场景的探索实践腾讯云 MongoDB 智能诊断及性能优化实践腾讯云数据库云上 SaaS 生态演进5.6.7.8.9. 7腾讯云技术实践精选集 2022腾讯自研业务大规模云原生实践01 8腾讯云技术实践精选集 2022仅用三年时间,基于腾讯云 TKE 底座,腾讯自研业务容器化规模已达到千万核级别的 CPU 资源规模。面对如此海量的异构资源和复杂多样的业务场景,腾讯是如何做到资源利用率 65% 的?在调度编排、弹性伸缩、应用管理、稳定性保障等方面,腾讯又有哪些秘籍?在 ArchSummit 2022 全球架构师峰会(深圳站)上,腾讯云自研上云容器平台负责人王涛发表了题为《如何管理超千万核资源的容器规模》的演讲,为大家逐一揭秘。腾讯自研业务容器化上云历程腾讯自研业务容器化上云的技术路线经历了多个阶段。最开始是一个虚拟机只调度一个容器的上云实验阶段,我们叫胖容器阶段;再到富容器,一个节点多个 Pod,Pod 中有多进程的阶段;然后是单 Pod 单进程的微如何管理超千万核资源的容器规模王涛 腾讯云自研上云容器平台负责人腾讯云 TKEx 容器平台负责人,8 年 K8s 生产经验,从 0 到 1 建设 TKEx 平台,全程支持腾讯海量自研业务容器化上云。 9腾讯云技术实践精选集 2022服务容器阶段;现在在腾讯内部也有大规模的容器使用 TKE Serverless,再往后为业务提供 FaaS 的能力。整个阶段都在夯实混部技术,包括离线混部、在线业务混部。Service Mesh 也得到了一定规模的实践。上图是自研上云涉及的相关产品的简单架构。最底层是 IaaS 腾讯云计算网络存储,往上层的基础服务主要是 Kubernetes、ETCD、Helm,再往上是腾讯云的产品化服务,包括腾讯 TKE 产品、TKE Serverless、Edge、TKE-STACK。TKEx 容器平台服务腾讯内部业务,内部入口可以直接是容器平台或者研效平台。经过三四年的大规模自研业务上云过程,我们已经在各个技术领域沉淀了很多最佳实践和技术方案组件,诸如容器调度、弹性伸缩、有状态服务、容器化、资源管理、稳定性提升、业务运维效率提升等都是我们沉淀或重点关注的技术。上云阶段不止是把业务容器化上云,更重要的是怎样衡量上云上得好不好。这里我们有腾讯云原生的成熟度规则来考核腾讯自研业务以及对应的容器平台做得好不好,主要从四个维度考核,最大的权重维度是资源利用率,指业务容器利用率、平台资源利用率。还有弹性伸缩能力、容器可调度能力,以及申请的 Pod 资源是不是小核心的资源。从规模与成熟度曲线可以看出,最近两年时间我们实现了非常大的规模增长,云原生成熟度得分也逼近 90 分。 10腾讯云技术实践精选集 2022各种混部场景下利用率提升方案在线离线混部集群在线离线混部集群是公司面临的主要混部场景。之所以要做在离线混部,是因为在线业务都会面临利用率较低、利用率有潮汐分布状态的状况。而离线作业很多是碎片型资源,可以容忍一定失败率,执行时间较短。我们的在离线混部是面向 K8s,设计原则包括通用性,方便未来开放到社区和外部客户;符合云原生方式;降低对应用依赖;兼容 K8s 和 Hadoop 生态。而我们的目标包括保证在线业务的 SLO,离线作业要在负载利用率高峰期快速上下线,离线作业成功率也有一定保障,保证服务质量前提下尽可能提升资源利用率。腾讯内部在离线混部的技术方案名为 Caelus。它面向业务提供基于业务优先级的定义,接下来就当节点或集群出现负载或者干扰时,可以根据优先级来 驱逐 或抑制,对于不可压缩资源只能驱逐到负载较低的集群。高优的离线作业不会直接 Kill,而是降低容器的配置。方案最核心的是节点上 Caelus 的组件,主要做干扰检测数据的采集、分析,再决策做离线抑制还是调度。Caelus 的主要流程包括:• 数据指标的采集,包括来自于业务监控系统的业务自定指标。• 采集到的指标统一存储在对应的 Store 组件,再从 Store 拉取指标做在线资源的业务预测、离线业务的健康检测。如果出现资源超发或高负载情况会做对应的抑制或者驱逐。 11腾讯云技术实践精选集 2022• 这里提供本地预测和中心式预测两种方式,中心预测主要通过 descheduler 的方式,先采集分析得到全维度的应用负载,做驱逐时考虑工作负载是不是做了多副本、对应的服务是否做了动态路由接入等,重调度时去衡量这些工作负载的配置,确保业务的服务质量。• 更重要的是本地干扰检测和快速驱逐的能力,因为这里只关注节点本身的资源使用情况,能做出更快的离线业务的驱逐避让。干扰检测的指标一部分来自于应用注册的业务自定义指标,还有一部分来自平台自身获取的操作系统、节点提供的指标。处理的方式一种是直接把离线的 Kill 掉,一种是直接做限流操作。驱逐时一定要考虑业务的优先级以及业务有没有做多副本、高可用,考虑是不是已做过容灾措施。根据监控数据,我们的在离线混部的集群节点负载已经到了将近 70% 的资源利用率。在线混部集群腾讯也有一些集群只能部署在线业务。这种集群要提升资源利用率会涉及不一样的技术挑战。全部是在线业务,意味着无法定义每个任务或者业务的优先级,每个业务的优先级都是一样的。那么首先要做超卖、动态 Pod 的资源压缩。在线业务混部意味着集群的负载、节点的负载可能出现分布不均匀的情况,所以要解决集群节点负载均衡的问题。高负载时要及时、快速扩容资源,所以要提供极速的集群伸缩能力。 12腾讯云技术实践精选集 2022还有一个关键动作是,平台或者容器的资源总是有限的,一定要有面向应用的业务配额动态管理。弹性伸缩这一层,我们自己做的方案叫做二级弹性资源池能力。第一层,平台会把各地域闲置的 CVM 放在闲置紧急 Buffer 资源池里,可以秒级地从节点把 CVM 加入集群里,实现集群秒级扩容。这里的关键是节点所有初始化流程、标准化建设都已经准备就绪,可以轻松应对集群负载突发情况。第二层就是去腾讯云申请 CVM,CVM 要做初始化流程,这一层弹性能力是分钟级的。当紧急 Buffer 池没有资源时才能找腾讯云接口创建对应的资源加到集群里。面向业务的弹性伸缩,我们把 K8s 的 HPA Controller 剥离出来,自己做了 HPAPlus Controller。因为我们的应用规模非常大,一个集群里可能