关于阿里云:站酷基于服务网格-ASM-的生产实践

36次阅读

共计 3536 个字符,预计需要花费 9 分钟才能阅读完成。

作者:服务网格 ASM

背景介绍

站酷(ZCOOL)2006 年 8 月创建于北京,深耕设计畛域多年,汇集了 1500 万设计师、摄影师、插画师、艺术家、创意人,在设计创意群体中具备肯定的影响力与号召力。站酷在创建之初,就以“让设计更有价值”为本身使命,多年来,始终致力于打造以原创设计为外围的“站酷原创版权生态体系”。

目前站酷旗下除领有主站设计师互动平台「站酷网」之外,还重点打磨了一站式正版视觉内容交易平台——「站酷海洛」、一站式创意营销解决方案共创平台——「站酷共创」。值得一提的是,站酷近期公布了 AIGC 产品——「AI 创作实验室」。通过文字输出,能够在 1 分钟内生成高质量图像,自公测以来,曾经生成图片数十万张。将来也会造成一个 AIGC 学习分享的专属社区。

站酷会在人工智能畛域持续深耕,帮忙设计师晋升效率,更好专一在艺术作品创作的创意上,激发创作灵感。站酷的这一系列生态布局,为设计创意从业者在学习、展现、交换、待业、交易、守业各个环节提供了优质的业余服务,为设计师和企业的成长之路提供了高效的版权解决方案和平面的视觉服务。

技术挑战

在站酷的业务架构上,只管应用 Kubernetes 平台解决了业务容器生产调度的问题,但在服务的治理、观测、平安等方面仍面临着诸多挑战。

多语言、多集群服务对立纳管

站酷面向互联网用户,提供站酷网、站酷海洛、站酷学习等各项服务,这些业务应用了 node.js、Java、php 等多种技术栈进行开发,并部署在多个 Kubernetes 集群中,如何通过对立的业务中台对立纳管这些业务是一个很大的技术挑战。

服务指标观测体系的构建

对于上述的业务架构而言,很难对于不同的应用服务实现对立的可观测体系、进行服务指标的对立实时监控。

服务治理的自动化集成

因为站酷建设了对立的业务中台,对于服务的部署、保护、治理等有着较强的自动化配置需要。对于多集群服务治理的场景须要肯定的自动化集成能力。

基于服务网格 ASM 的生产实践

服务网格作为一种用来治理应用服务通信的根底核心技术,  为应用服务间的调用带来了平安、牢靠、疾速、利用无感知的服务治理、平安、可观测能力。为多语言应用服务的治理、观测等挑战提供了无侵入式的高效解决方案。

而阿里云服务网格产品 ASM 作为业内首个全托管 Istio 兼容的服务网格,一开始从架构上就放弃了与社区、业界趋势的一致性,管制立体的组件托管在阿里云侧,与数据面侧的用户集群独立。ASM 产品是基于社区开源的 Istio 定制实现的,在托管的管制面侧提供了用于撑持精细化的流量治理和平安治理的组件能力。通过托管模式,解耦了 Istio 组件与所治理的 K8s 集群的生命周期治理,使得架构更加灵便,晋升了零碎的可伸缩性。

相比社区服务网格 Istio,服务网格 ASM 提供了更为弱小实用的多项能力,包含多集群对立纳管、即插即用的插件核心、与阿里云云产品深度集成的可观测核心等,可能更好地帮忙站酷解决业务建构中的各种技术挑战,显著升高运维老本。

目前,站酷所有的互联网用户业务都曾经接入 ASM,包含站酷主站、站酷海洛等。

站酷的业务架构图如下:

多集群、多语言下的应用服务治理

在站酷的生产实践中,多集群、多语言的业务架构对对立治理带来了不小的挑战。对于服务网格来说,因为 Sidecar 模式的无侵入式个性,能够以对立的形式治理以不同技术栈开发的多语言利用,实现显著的运维老本升高。但对于社区服务网格 Istio 而言,多集群下的服务治理、以及对不同的 Kuberenets 集群状态的兼容依然是一个极大的挑战。

通过应用服务网格 ASM,对多集群、多状态、多语言服务的对立纳管成为了非常简单的工作。托管式服务网格 ASM 在成为多种异构类型计算服务对立治理的基础设施中, 提供了对立的流量治理能力、对立的服务平安能力、对立的服务可观测性能力、以及实现对立的代理可扩大能力, 以此构筑企业级能力。

服务网格 ASM 的托管式架构

如上图,对于阿里云容器服务提供的多种数据面集群状态,服务网格 ASM 都提供了对立的管控能力,使得集群状态不再是服务网格落地生产环境的制约。

同时,因为其托管式架构,服务网格 ASM 可能对多个数据面集群进行对立管控。借助 ASM 多集群管控的能力,站酷可能通过一个 ASM 实例对其下多个数据面集群中的服务进行对立治理,无效解决了多集群利用实现对立治理入口的挑战。

对于数据面的多个集群,ASM 采纳全局命名空间的形式进行治理,将多个数据面集群中的不同命名空间汇总到一个 ASM 实例中,并能够在全局命名空间中对立进行 Sidecar 注入配置。同时,ASM 也反对在 ASM 实例与不同的数据面集群之间双向地一键式同步命名空间信息。

服务网格 ASM 的全局命名空间治理,反对配置多个集群的命名空间下的 Sidecar 注入治理

南北向与东西向流量治理的对立

作为站酷网、站酷海洛、站酷学习等一系列集群中服务的流量入口,站酷启用了多个 ASM 网关对集群中的服务进行流量的转发与管制。

站酷的服务次要应用 HTTP 与 gRPC 协定,ASM 网关对这些协定都有着很高的反对成熟度,可能原生地反对申请的负载平衡、以及基于多种丰盛匹配条件的申请路由等网关能力。

而在社区 Istio 的网关之根底上,ASM 企业版提供了更多的企业级高级个性,包含指标伸缩(HPA)、基于 Intel MultiBuffer 技术的软硬联合性能优化、网关无损降级、SLB 优雅下线等,使网关真正达到了生产可用级别,能够很好地反对各种企业级服务。

ASM 网关还反对图形化地配置上游服务、域名证书等,显著进步运维效率

应用 ASM 可观测核心进行全业务的实时监控

在次要业务服务都迁徙至服务网格平台上之后,利用服务网格 Sidecar 的日志与指标上报能力,能够天然地对网格中的不同服务以及 ASM 网关自身建设对立的可观测能力。

在网格可观测管理中心中,服务网格 ASM 提供了欠缺的网格可观测化计划。不仅提供日志核心、Prometheus 监控、网格拓扑等多种可观测模式,还与阿里云的其它可观测云产品(SLS 日志服务、ARMS 监测服务等)进行了深度集成(同时兼容开源可观测计划),可能一站式配置各项可观测指标的仪表盘。

在生产环境中,站酷次要利用了日志核心进行了网格可观测性的建设。ASM 通过与日志服务集成、提供网关与网格内 Sidecar 日志的主动采集,同时针对网关与网格内 Sidecar 拜访日志别离提供了日志仪表盘,提供包含申请错误率、P95 提早等实用指标监控,实现了对多集群异构利用的对立可观测性。

ASM 可观测管理中心与日志仪表盘

插件市场 – 应用 ASM 插件激活拓展能力

在迁徙到服务网格 ASM 的过程中,站酷发现服务网格平台和本身的业务架构存在着肯定的兼容问题。具体来说,服务网格的数据面 Sidecar 在默认状况下会将申请和响应中的 header 转化为小写。只管这一行为对于大多数 http 服务来说没有问题,但仍会影响到对 header 大小写敏感的服务。

这一问题能够通过激活数据面 Sidecar 的插件拓展能力、让其保留 header 的大小写来进行解决。服务网格 ASM 在插件拓展核心中提供了即插即用的插件市场。针对各种理论业务场景,提供了多种即插即用式插件,通过简略几个参数的配置即可疾速启用数据面 Sidecar 的各种拓展能力。通过对 ASM 插件市场的利用,站酷在很短时间内就解决了业务迁徙中遇到的问题。

ASM 插件市场,提供一系列能够一键启用的插件拓展能力

自动化 API 集成

在提供企业级服务网格平台的各项个性的根底上,自动化集成也是网格平台的要害一环。在生产实践中,因为站酷自有业务中台,因而会对服务网格平台产生较强的自动化集成需要。

作为阿里云云产品, 服务网格 ASM 除了通用的 OpenAPI/SDK 集成形式之外,也提供了其它多样化的产品功能模块集成形式,包含 Kube API、Terraform 等,产品所提供的各大功能模块不仅可能通过 ASM 控制台进行拜访,也能以 API 的模式集成进厂商的自有业务中台之中,助力网格运维自动化。

举例来说,在站酷的生产实践中,前述所提的全局命名空间治理性能就被站酷以 Open API 的模式集成进自家业务中台,实现了齐备的网格内多集群自动化治理。针对网格配置, 应用 Kube API 实现了与原有 GitOps 平台的平滑对接。

瞻望

随着站酷业务服务的继续革新,将继续基于阿里云服务网格 ASM 产品,取得更加丰盛便捷的企业级个性,助力降本增效,包含但不限于:

1、提供便捷的网格内服务平安与鉴权计划:ASM 现已提供 ASM 安全策略核心,可帮忙疾速配置网关与网格内服务平安鉴权计划

2、更加精细化的流量治理能力:随着站酷微服务化革新的一直加深,将会继续开掘 ASM 提供的多项企业级流量治理个性,如全链路灰度公布、本地限流、接口级熔断。

正文完
 0