作者:服务网格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,包含站酷主站、站酷海洛等。

站酷的事务架构图如下:

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

多集群、多语言下的运用服务办理

在站酷的出产实践中,多集群、多语言的事务架构对一致办理带来了不小的应战。关于服务网格来说,因为 Sidecar 方式的无侵入式特性,可以以一致的方法办理以不同技能栈开发的多语言运用,完成明显的运维本钱下降。但关于社区服务网格 Istio 而言,多集群下的服务办理、以及对不同的 Kuberenets 集群形状的兼容仍然是一个极大的应战。

经过运用服务网格 ASM,对多集群、多形状、多语言服务的一致纳管成为了十分简略的作业。保管式服务网格 ASM 在成为多种异构类型核算服务一致办理的基础设施中, 供给了一致的流量办理才能、一致的服务安全才能、一致的服务可观测性才能、以及完成一致的代理可扩展才能, 以此构筑企业级才能。

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

服务网格 ASM 的保管式架构

如上图,关于阿里云容器服务供给的多种数据面集群形状,服务网格 ASM 都供给了一致的管控才能,使得集群形状不再是服务网格落地出产环境的限制。

一起,因为其保管式架构,服务网格 ASM 可以对多个数据面集群进行一致管控。凭借 ASM 多集群管控的才能,站酷可以经过一个 ASM 实例对其下多个数据面集群中的服务进行一致办理,有效处理了多集群运用完成一致办理入口的应战。

关于数据面的多个集群,ASM 选用大局命名空间的方法进行办理,将多个数据面集群中的不同命名空间汇总到一个 ASM 实例中,并可以在大局命名空间中一致进行 Sidecar 注入装备。一起,ASM 也支撑在 ASM 实例与不同的数据面集群之间双向地一键式同步命名空间信息。

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

服务网格 ASM 的大局命名空间办理,支撑装备多个集群的命名空间下的 Sidecar 注入办理

南北向与东西向流量办理的一致

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

站酷的服务首要运用 HTTP 与 gRPC 协议,ASM 网关对这些协议都有着很高的支撑成熟度,可以原生地支撑恳求的负载均衡、以及根据多种丰厚匹配条件的恳求路由等网关才能。

而在社区 Istio 的网关之基础上,ASM 企业版供给了更多的企业级高档特性,包含目标伸缩(HPA)、根据 Intel MultiBuffer 技能的软硬结合功用优化、网关无损晋级、SLB 优雅下线等,使网关真正达到了出产可用等级,可以很好地支撑各种企业级服务。

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

ASM 网关还支撑图形化地装备上游服务、域名证书等,明显提高运维效率

运用 ASM 可观测中心进行全事务的实时监控

在首要事务服务都搬迁至服务网格渠道上之后,运用服务网格 Sidecar 的日志与目标上报才能,可以自然地对网格中的不同服务以及 ASM 网关本身建造一致的可观测才能。

在网格可观测办理中心中,服务网格 ASM 供给了完善的网格可观测化计划。不仅供给日志中心、Prometheus 监控、网格拓扑等多种可观测方式,还与阿里云的其它可观测云产品(SLS 日志服务、ARMS 监测服务等)进行了深度集成(一起兼容开源可观测计划),可以一站式装备各项可观测目标的仪表盘。

在出产环境中,站酷首要运用了日志中心进行了网格可观测性的建造。ASM 经过与日志服务集成、供给网关与网格内 Sidecar 日志的自动收集,一起针对网关与网格内 Sidecar 拜访日志别离供给了日志仪表盘,供给包含恳求错误率、P95 推迟等实用目标监控,完成了对多集群异构运用的一致可观测性。

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

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

插件商场 – 运用 ASM 插件激活拓宽才能

在搬迁到服务网格 ASM 的过程中,站酷发现服务网格渠道和本身的事务架构存在着必定的兼容问题。具体来说,服务网格的数据面 Sidecar 在默许情况下会将恳求和响应中的 header 转化为小写。虽然这一行为关于大多数 http 服务来说没有问题,但仍会影响到对 header 巨细写敏感的服务。

这一问题可以经过激活数据面 Sidecar 的插件拓宽才能、让其保留 header 的巨细写来进行处理。服务网格 ASM 在插件拓宽中心中供给了即插即用的插件商场。针对各种实践事务场景,供给了多种即插即用式插件,经过简略几个参数的装备即可快速启用数据面 Sidecar 的各种拓宽才能。经过对 ASM 插件商场的运用,站酷在很短时间内就处理了事务搬迁中遇到的问题。

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

ASM 插件商场,供给一系列可以一键启用的插件拓宽才能

自动化 API 集成

在供给企业级服务网格渠道的各项特性的基础上,自动化集成也是网格渠道的关键一环。在出产实践中,因为站酷自有事务中台,因而会对服务网格渠道产生较强的自动化集成需求。

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

举例来说,在站酷的出产实践中,前述所提的大局命名空间办理功用就被站酷以 Open API 的方式集成进自家事务中台,完成了齐备的网格内多集群自动化办理。针对网格装备, 运用 Kube API 完成了与原有 GitOps 渠道的滑润对接。

展望

跟着站酷事务服务的持续改造,将持续根据阿里云服务网格 ASM 产品,获得愈加丰厚快捷的企业级特性,助力降本增效,包含但不限于:

1、供给快捷的网格内服务安全与鉴权计划:ASM 现已供给 ASM 安全策略中心,可协助快速装备网关与网格内服务安全鉴权计划

2、愈加精细化的流量办理才能:跟着站酷微服务化改造的不断加深,将会持续挖掘 ASM 供给的多项企业级流量办理特性,如全链路灰度发布、本地限流、接口级熔断。