爱奇艺微服务尺度技术架构实践「转」

作者:爱游戏app体育官方下载发布时间:2023-03-04 00:49

本文摘要:原文地址:https://www.infoq.cn/article/AJj3lKQyaKVeA08Bgj9e配景为数以亿计的用户提供优质的视频服务的爱奇艺技术产物团队,为了适应业务的快速迭代和创新,并支撑海量的用户请求,许多团队都对各自的业务系统自发地举行了微服务架构的革新。

爱游戏app体育官方下载

原文地址:https://www.infoq.cn/article/AJj3lKQyaKVeA08Bgj9e配景为数以亿计的用户提供优质的视频服务的爱奇艺技术产物团队,为了适应业务的快速迭代和创新,并支撑海量的用户请求,许多团队都对各自的业务系统自发地举行了微服务架构的革新。在微服务化的历程中,各业务团队凭据自身需要选择了差别的开源框架,如 Apache Dubbo/Spring Cloud 等,此外也存在一些自研性质的框架;另外为了满足对微服务应用的监控等需求,不少团队还自行维护了监控系统等基础设施。随着实践的深入,一些问题逐渐开始袒露,这其中包罗:·部门基础设施存在重复建设,在资源浪费的同时稳定性也不易保证;·由于使用的技术架构和 SDK 不统一,最佳实践难以在团队间快速推广;·技术架构不统一导致在工具向流量中大量引入了业务自行维护的网关,使得链路加长,影响排障效率和响应延时。

为相识决以上问题,爱奇艺中间件团队充实听取了业务在微服务实践中的需求和问题,推出了爱奇艺的微服务尺度架构。在尺度架构的建设历程中,我们主要遵循了以下的一些原则:1.架构统一:同一技术领域往往有多种技术实现,可是过多的技术框架的接纳容易造成维护成本过高,缺乏专人支持等问题。

在微服务尺度架构的选型历程中,我们综合了各开源项目的实际情况和业界的主流技术方案,将各个领域中的技术选型举行了统一,每个领域的技术选型原则上均不凌驾 1 种。2.可扩展:微服务尺度架构中有不少开发 SDK 的选型,为了满足各个开发团队差别的业务需求,需要保证各个 SDK 的可扩展性,如果开源版本无法满足内部需求的,爱奇艺中间件团队都市维护统一化的内部定制版本。3.高可用:尺度架构的建设目的之一是将各个团队维护的基础设施(如注册中心、监控系统等)逐渐收拢至内部的公共平台。

对相关平台的技术架构 review 及可用性维护也是我们的重要事情之一,此外我们还建设了服务成熟度体系 SMMI,会定期对焦点系统及基础服务举行成熟度评估。4.技术演进:开源软件均有其生命周期,需要充实思量各个软件的社区维护情况,好比在熔断技术选型上,我们在尺度架构中主推了 Sentinel,而不是现在已经停止维护的 Hystrix。另外尺度架构也并非一个一成稳定的体系,对于新技术的采取,我们也提供了尺度化的流程,确保我们的技术体系能连续迭代。

5.内部开源:在尺度架构的建设历程中,在爱奇艺内部开展了内部开源的协作模式。除了基础服务部门以外,也勉励业务团队到场到这些基础服务的维护事情中来,配合打造一个即切合业务需求,又有一定业界领先度的微服务技术体系,这样也进一步促进了相关尺度架构的推广和完善。爱奇艺微服务尺度架构下图展示了爱奇艺微服务尺度架构的全貌:尺度架构主要包罗如下主要内容:*统一的微服务开发 SDK:焦点开发框架 Dubbo/Spring Cloud;熔断限流框架 Sentinel 等;*统一的微服务基础设施,包罗:·注册中心:Nacos/consul;·服务网关:基于 kong 举行二次开发的网关平台,提供鉴权、限流等功效;· 设置中心:基于携程 Apollo 举行二次开发的平台·指标监控:prometheus 集群托管服务;·链路监控:全链路平台(基于 skywalking 举行定制开发);·混沌工程:在 ChaosBlade 基础上举行二次研发,提供各种故障演练功效。*统一的微服务平台:QDAS(QIYI Distributed Application Service,爱奇艺漫衍式应用服务),提供微服务应用生命周期治理、服务治理、服务市场等功效。

尺度架构生态建设以下将从微服务 SDK、注册中心、监控体系、熔断限流、API 网关、微服务平台等几个微服务尺度架构的焦点点做一些展开的先容。开源 SDK 定制凭据各个业务团队的需求,爱奇艺中间件团队主要对 Dubbo SDK 做了以下几方面的扩展:1.基础设施的适配:包罗注册中心、监控系统、内部的容器平台等等;2.可用性增强:包罗非康健实例隔离以及区域就近路由的机制;3.宁静性增强:支持了服务间挪用的认证机制;4.序列化:增加了对 protobuf 序列化方式的支持。

注册中心演进注册中心在微服务应用中是最重要的基础设施之一,原先在爱奇艺内部,注册中心的选型并不统一,之前在线上运行的注册中心有 ZooKeeper、eureka、consul 等。事实上,ZooKeeper、eureka 等并不是当前业界中微服务注册中心的最佳选型,以 Zookeeper 为例,其主要缺点包罗:1.无法横向扩展;2.作为一个一致性的系统,在网络分区会发生不行用。在调研了业界的各个方案后,我们选用了 Nacos 作为我们下一代的微服务注册中心。右下角是 Nacos 的整体先容图,选用 Nacos 的主要原因是:1.高性能,可以横向扩展;2.既适用于传统为服务架构,也能适用于云原生情况,包罗支持与 Istio 控制面临接;3.提供了 Nacos-Sync 组件,可与其他注册中心举行数据同步,也使注册中心的迁移变得轻便。

Nacos 高可用部署在部署 Nacos 服务时,我们充实思量了服务部署架构方面的高可用性。现在我们的 Nacos 服务是一个大集群,实例漫衍在多个差别的可用区中,在每个可用区内部,我们会申请差别的 VIP,最终的内网域名是绑定在这些 VIP 上。另外其底层所使用的 MySQL 也接纳了多机房部署。

这样。


本文关键词:爱游戏app体育官方下载,爱奇,艺微,服务,尺度,技术,架构,实践,「,转

本文来源:爱游戏app体育官方下载-www.cqyzdl.com