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

news2024/11/26 22:52:28

作者:服务网格ASM

背景介绍

在这里插入图片描述

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

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

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

技术挑战

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

1、多语言、多集群服务统一纳管

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

2、服务指标观测体系的构建

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

3、服务治理的自动化集成

由于站酷建设了统一的业务中台,对于服务的部署、维护、治理等有着较强的自动化配置需求。对于多集群服务治理的场景需要一定的自动化集成能力。

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

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

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

相比社区服务网格 Istio,服务网格 ASM 提供了更为强大实用的多项能力,包括多集群统一纳管、即插即用的插件中心、与阿里云云产品深度集成的可观测中心等,能够更好地帮助站酷解决业务建构中的各种技术挑战,显著降低运维成本。

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

站酷的业务架构图如下:

在这里插入图片描述

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

在站酷的生产实践中,多集群、多语言的业务架构对统一管理带来了不小的挑战。对于服务网格来说,由于 Sidecar 模式的无侵入式特性,可以以统一的方式管理以不同技术栈开发的多语言应用,实现显著的运维成本降低。但对于社区服务网格 Istio 而言,多集群下的服务治理、以及对不同的 Kuberenets 集群形态的兼容仍然是一个极大的挑战。

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

在这里插入图片描述

服务网格 ASM 的托管式架构

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

同时,由于其托管式架构,服务网格 ASM 能够对多个数据面集群进行统一管控。借助 ASM 多集群管控的能力,站酷能够通过一个 ASM 实例对其下多个数据面集群中的服务进行统一管理,有效解决了多集群应用实现统一管理入口的挑战。

对于数据面的多个集群,ASM 采用全局命名空间的方式进行管理,将多个数据面集群中的不同命名空间汇总到一个 ASM 实例中,并可以在全局命名空间中统一进行 Sidecar 注入配置。同时,ASM 也支持在 ASM 实例与不同的数据面集群之间双向地一键式同步命名空间信息。

在这里插入图片描述

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

2、南北向与东西向流量治理的统一

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

站酷的服务主要使用 HTTP 与 gRPC 协议,ASM 网关对这些协议都有着很高的支持成熟度,能够原生地支持请求的负载均衡、以及基于多种丰富匹配条件的请求路由等网关能力。

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

在这里插入图片描述

ASM 网关还支持图形化地配置上游服务、域名证书等,显著提高运维效率

3、使用 ASM 可观测中心进行全业务的实时监控

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

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

在生产环境中,站酷主要利用了日志中心进行了网格可观测性的建设。ASM 通过与日志服务集成、提供网关与网格内 Sidecar 日志的自动采集,同时针对网关与网格内 Sidecar 访问日志分别提供了日志仪表盘,提供包括请求错误率、P95 延迟等实用指标监控,实现了对多集群异构应用的统一可观测性。

在这里插入图片描述

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

4、插件市场 - 使用 ASM 插件激活拓展能力

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

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

在这里插入图片描述

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

5、自动化 API 集成

在提供企业级服务网格平台的各项特性的基础上,自动化集成也是网格平台的关键一环。在生产实践中,由于站酷自有业务中台,因此会对服务网格平台产生较强的自动化集成需求。

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

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

展望

随着站酷业务服务的持续改造,将持续基于阿里云服务网格 ASM 产品,获得更加丰富便捷的企业级特性,助力降本增效,包括但不限于:

1、提供便捷的网格内服务安全与鉴权方案:ASM 现已提供 ASM 安全策略中心,可帮助快速配置网关与网格内服务安全鉴权方案

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/143371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业数字化转型“核心方法论”

一、什么是数字化转型?数字化转型是近年来,很多企业老生常谈的话题。那么听了这么多数字化转型的故事,你对其真正了解多少呢?下面织信就数字化转型的背景、以及多个示例的讲解,带你深入理解“数字化转型”这一概念。&a…

构建自组织团队,让敏捷管理更好地落地

敏捷开发是以用户的需求为核心,通过不断迭代、小步快跑、循序渐进的方法进行软件产品的研发,在迭代研发过程中的产品都需要经过测试,具备可视化、可集成和可运行使用的特征。 在团队方面,敏捷开发倡导团队协作,强调个…

React(coderwhy)- 05(redux)

Redux的核心思想 理解JavaScript纯函数 ◼ 函数式编程中有一个非常重要的概念叫纯函数,JavaScript符合函数式编程的范式,所以也有纯函数的概念;  在react开发中纯函数是被多次提及的;  比如react中组件就被要求像是一个纯函数…

数据库迁移到达梦的一些记录

1 达梦迁移工具 参考MySQL迁移到达梦-超出定义长度问题 使用你设置的配置,即可,因为达梦默认采用按照字节存储,mysql是按照字符存储,故而他认为越界了。 使用3.5G数据,342张表进行数据迁移验证 第一此执行,结果 任务…

linux安装mysql以及允许外网访问mysql

下载社区版本 下载最新版 下载历史版本 点击 Archives 文件上传云服务器 /opt/mysql 存放目录随便 添加用户组 groupadd mysql useradd -r -g mysql mysql删除mariadb rpm -qa|grep mariadbrpm -e --nodeps mariadb-libs安装 解压tar -xvf mysql-5.7.20-1.el7.x86_64…

中国企业邮箱安全性研究报告

声明 本文是学习中国企业邮箱安全性研究报告. 下载地址 http://github5.com/view/55003而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 奇安信网神邮件威胁检测系统 奇安信网神邮件威胁检测系统是奇安信集团面向政府、企业、金融、军队等大型企事业单…

javaEE初阶 — 阻塞队列

文章目录阻塞队列1. 概念与特性2. 生产者与消费者模型2.1 生产者消费者模型的两个好处(主要的)3. 标准库中的阻塞队列3.1 代码实现生产者消费者模型4. 阻塞队列实现4.1 普通队列实现4.2 给队列追加阻塞功能阻塞队列 1. 概念与特性 阻塞队列 是一种特殊的…

Centos 安装Datax及Datax-web

异构数据的采集,方案还是比较多样,除了基于大数据平台的一些集成;简单的数据源,可以直接使用阿里开源的datax来实现;datax-web则是datax界面化操作的开源框架,集成了datax异构数据采集和任务调度的功能。关…

【Kubernetes | Pod 系列】 Pod 的生命周期 Ⅱ —— 容器重启策略

目录题5.4 容器重启策略示例(1)Always 策略(2)OnFailure 策略(3)Never 策略5.4 容器重启策略 在 Pod 的 YAML 清单的 spec 中包含一个 restartPolicy 字段,其可能取值包括 Always(…

Jdbc配置文件连接mysql8.0——批量增删改查操作

目录 一、批量插入数据 (一)在DogDao中新增一个功能saveDogList (二)DogDaoImpl实现类中定义字符串拼接实现功能saveDogList (三)DogTest测试 (四)批量插入运行结果 (五)优化后的批量插入 1.DogDao接口中还是使用原来的新增功能saveDog 2. DogDaoImpl实现类中实现saveD…

DOS、DDos攻击详解

目录 一、DDOS 是什么? 二、DDoS的危害 三、常见的DOS攻击 四.DDoS的防范 一、DDOS 是什么? DoS为Denial of Service的简称,意思是拒绝服务。DoS攻击是一种使被攻击者无法正常提供服务的攻击 来解释一下,DDOS 是什么。 举例…

esxi6.0安装

一、安装exsi需要注意的事项: 1.进入BIOS做raid 不同硬件厂商进入bios的方式各不相同,请自行查阅相关资料 RAID 0的特点: 最少需要两块磁盘 数据条带式分布 没有冗余,性能最佳(不存储镜像、校验信息) 不能应用于对数据安全性要求…

代码随想录回溯总结

文章目录0、 前言1、回溯的定义2、回溯解决那些问题3、回溯模板4、问题详解4、1组合问题:[4.1.1 组合](https://leetcode.cn/problems/combinations/)[4.1.2 组合总和 II](https://leetcode.cn/problems/combination-sum-ii/)4.1.3 组合的其他问题4.2排列问题4.2.1[…

3.Isaac入门

Isaac入门 本节提供有关如何开始开发和运行 Isaac 应用程序的指南。 文章目录Isaac入门教程和示例应用程序运行应用程序应用程序控制台选项在 Jetson 上部署和运行Python 应用程序支持使用分布式工作区使用 Docker安装依赖创建 Isaac SDK 开发镜像教程和示例应用程序 有一个可…

【运维有小邓】实时告警通知

当网络上发生特定事件时,EventLog Analyzer可以通过多种方式进行响应。EventLog Analyzer可以实时生成告警 - 发送电子邮件或短信通知给指定的接收者 - 或运行由管理员提供的自定义脚本。通过所提供的多个选项,用户可以确保不会错过任何安全事件。EventL…

Python解题 - CSDN周赛第21期 - 接雨水

本期比赛都是比较基础的排序、查找,没有多少难度。不过有很多人反映第二题测试数据有问题,基本所有选手在本题上都没得分。最近官方每期比赛都会有类似的数据问题,虽然参赛者对数据有疑问,但从未得到解答,官方也未曾公…

十年云深时:天翼云的成长密钥

工业时代,我们通常以“用电量”作为指标,来衡量一个地方的经济发展水平。数字经济时代,“用云量”则与数字经济规模呈正相关。因此,中国数字化浪潮的持续推进,也让云计算行业的重要性与市场竞争性不断提升,…

【C语言】交换奇偶位和 offsetof 宏的实现

​🌠 作者:阿亮joy. 🎆专栏:《阿亮爱刷题》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉交换奇偶…

2021年 APP个人信息使用态势分析报告

声明 本文是学习2021年APP个人信息使用态势分析报告. 下载地址 http://github5.com/view/55008而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 App违规行为处罚案例 某赚钱类App未明示信息收集规则被罚 经查公安机关调查,某网络科技公司开…

2023 CPA 会计-存货【刷题】

1. 存货的确认和初始计量 大元公司为增值税一般纳税人,增值税税率为13%。 这句话好像没有用 2019年购入材料300公斤,收到增值税发票注明价款1800万元,增值税税额是234万元。 增值税是在价款的基础上收取的,所以这批材料的价值就是…