关于阿里云:重磅Serverless-Devs-进入-CNCF-沙箱成首个入选的-Serverless-工具项目

近日,通过云原生计算基金会(CNCF)TOC 例会上投票决定,Serverless Devs 正式成为 CNCF 官网沙箱我的项目。开源凋谢的 Serverless 开发者平台 —— Serverless Devs 由阿里云开源,致力于为开发者提供弱小的工具链体系。通过该平台,开发者不仅能够一键体验多云 Serverless 产品,极速部署 Serverless 我的项目,还能够在 Serverless 利用全生命周期进行我的项目的治理,并且非常简单疾速地将 Serverless Devs 与其余工具/平台进行联合,进一步晋升研发、运维效力。 Serverless Devs 是 CNCF 首个  Serverless Tool 我的项目。 将来,Serverless Devs 社区将与更多开发者和用户共建,继续致力于打造无厂商锁定的 Serverless 利用全生命周期管理工具,让 Serverless 更简略,更好用。 CNCF TOC 在会议上对 Serverless Devs 作出如下评估: Davanum Srinivas (CNCF TOC ) 示意如果你是一位一般的开发者,你有很多 Serverless 利用须要运行,你肯定心愿自主抉择去哪个平台运行,这个平台最好有基于不同语言的模版,你能够基于此疾速开始。Serverless Devs 就是这样一个平台,它曾经筹备好了很多模版,帮忙开发者在一个Serverless 运行时中进行部署。它让开发者能够轻松开启 Serverless 之旅。 Emily Fox (CNCF TOC ) 认为 Serverless Devs 十分关注开发者的体验体验,同时也十分关注 Serverless 利用在不同云平台的部署。 Serverless Devs 我的项目地址:https://github.com/serverless... ...

November 3, 2022 · 2 min · jiezi

关于阿里云:详解-Serverless-架构的-6-大应用场景

作者:Serverless Serverless 架构将成为将来云计算畛域重要的技术架构,将会被更多的业务所驳回。进一步深究,Serverless 架构在什么场景下有优良的体现,在什么场景下可能体现得并不是很现实呢?或者说,有哪些场景更适宜 Serverless 架构呢? Serverless 架构的利用场景Serverless 架构的利用场景通常是由其个性决定的,所反对的触发器决定具体场景。如图 1-1 所示,CNCF Serverless Whitepaper v1.0 形容的对于 Serverless 架构所适宜的用户场景如下。 异步并发,组件可独立部署和扩大的场景。突发或服务使用量不可预测的场景。短暂、无状态的利用,对冷启动工夫不敏感的场景。须要疾速开发、迭代的业务。 1-1 CNCF Serverless Whitepaper v1.0 形容的 Serverless 架构所适宜的用户场景 CNCF 除基于 Serverless 架构的个性给出 4 个实用的用户场景之外,还联合常见的触发器提供了具体的例子。 响应数据库更改(插入、更新、触发、删除)的执行逻辑。对物联网传感器输出音讯(如 MQTT 音讯)进行剖析。执行流解决(剖析或批改动态数据)。数据单次提取、转换和存储须要在短时间内进行大量解决(ETL)。通过聊天机器人界面提供认知计算(异步)。调度短时间内执行的工作,例如 CRON 或批处理的调用。机器学习和人工智能模型。继续集成管道,按需为构建作业提供资源。CNCF Serverless Whitepaper v1.0 基于 Serverless 架构的特点,从实践上形容了 Serverless 架构适宜的场景或业务。云厂商则站在本身业务角度来形容 Serverless 架构的典型利用场景。 通常状况下,当对象存储作为 Serverless 相干产品触发器时,典型的利用场景包含视频解决、数据 ETL 解决等;API 网关更多会为用户赋能对外的拜访链接以及相关联的性能等,当 API 网关作为 Serverless 相干产品的触发器时,典型的利用场景就是后端服务,包含 App 后端服务、网站后端服务甚至微信小程序等相干产品的后端服务。 一些智能音箱也会凋谢相干接口,这个接口也能够通过 API 网关触发云函数,取得相应的服务等;除了对象存储触发以及 API 网关触发,常见的触发器还有音讯队列触发器、Kafka 触发器、日志触发器等。 Web 利用或挪动利用后端如果 Serverless 架构和云厂商所提供的其余云产品联合,开发者可能构建可弹性扩大的挪动利用或 Web 应用程序 ,轻松创立丰盛的无服务器后端。而且这些程序在多个数据中心可用。图 1-2 所示为 Web 利用后端解决示例。 ...

November 3, 2022 · 1 min · jiezi

关于阿里云:Serverless-Developer-Meetup-杭州站精彩回顾附赠PPT

<后盾回复 0917 即可取得本场讲师 PPT> 云计算减速了互联网产业的倒退,Serverless 架构正在以极快的速度促成云计算疾速迭代。Serverless 极致的弹性的个性能够笼罩诸多业务场景,可能大幅度晋升企业开发运维效率,让利用上云更简略。预计将来几年,将会有大量支流企业的外围利用,从原来的主机架构迁徙到 Serverless 架构。 9月17日,由阿里云云原生利用平台 x 飞天club_独特主办的 2022 首场「Serverless Developer Meetup」在杭州西溪园区召开。本次流动特邀阿里云、高德的 Serverless 技术领域专家,与来到现场的开发者们进行技术探讨、交换互动,深度解析 Serverless 最新倒退动静,分享了最实用的落地实际案例。还有专家代练的 Workshop 实操体验环节,让大家真真切切感触到了 Serverless 技术的魅力。 上面就让咱们一起回顾下此次「Serverless Developer Meetup」都有哪些精彩霎时。 扫描海报二维码 观看本场流动回放。 精彩议题分享主题:Serverless 架构的 CICD 摸索本次议题袁坤(花名:丹坤)先为大家演示了一个现代化 GitOps 前端利用平台 Demo,随后介绍了 FaaS 架构 CICD 的实际,并带来开源我的项目 Serverless Devs 的最新进展。 分享主题:高德的 Serverless 落地实际高德地图在 Serverless 畛域中做了很多方向的摸索,单在 Serverless 的业务 QPS 峰值就曾经超过 40W QPS,目前已实现局部外围业务的 Serverless 化。 此次,来自高德地图的服务端架构组-高级技术专家刘金龙(花名:福辰)从“客户”视角为大家介绍了 FaaS 在高德简单场景是如何落地,与到场开发者分享 FaaS 平台架构设计原理、FaaS Runtime 设计、FaaS 保护的三板斧;具体讲述 Serverless 所具备的环境对立、免运维、弹性伸缩、按需付费等特点是如何助力减速产品迭代、实现端云一体化。 分享主题:Serverless 如何帮忙企业扩大本人的业务零碎UC Berkeley 曾发表论言称“Serverless 将会成为云时代默认的计算范式”。来自阿里云的 Serverless 函数计算事件驱动&异步零碎& Serverless 工作流产品负责人史明伟(花名:世如)在本次流动中带来了 Serverless 零碎开箱即用的原子化能力的精彩分享。 ...

November 3, 2022 · 1 min · jiezi

关于阿里云:EDAS-流量入口网关最佳实践

作者:澄潭 云原生网关介绍MSE 云原生网关是阿里云提供的下一代网关解决方案,齐全兼容 Kubernetes Ingress 规范 API,将流量网关、微服务网关和平安网关三合一,解决了多层网关架构独立设计、独立运维导致的资源耗费大、性能损耗大、稳定性难控、平安防护简单等难题。相比传统网关,云原生网关在资源老本、性能、安全性和易用性上更有劣势。 传统多层网关架构 在这个架构中,用 WAF 网关实现平安能力,SLB 实现负载平衡能力,Ingress 网关实现集群入口网关能力(非 K8s 场景也会部署一层 Nginx),Zuul 实现微服务网关能力。这样的架构须要对每一层网关都进行容量评估,每一层网关都是潜在的瓶颈点,都可能须要进行扩容。这样造成的资源老本和运维人力老本都是微小的。并且每多一层网关,就多一层可用性危险。 MSE 云原生网关架构 应用 MSE 云原生网关,在保留 SLB 作负载平衡的根底上,只通过一层网关就实现了集群入口网关、WAF 网关、微服务网关的全副能力。并且这一层网关由阿里云托管部署,无需用户本人运维机器实例,并且提供网关可用性的 SLA 保障。除了大幅度降低人力老本、资源老本,还能提供更好的稳定性。 EDAS 场景的 Quick Start 示例云原生网关反对多种服务发现机制,包含 K8s Service/MSE Nacos/MSE Zookeeper/EDAS 注册核心等。在 EDAS 场景下,微服务空间的注册核心,不管指定为 MSE Nacos 或者 EDAS 注册核心,云原生网关均能够发现 EDAS 上部署的服务,并创立路由进行转发。上面以应用 EDAS 注册核心为例,阐明如何疾速上手云原生网关。 Step 1. 购买创立云原生网关购买链接: https://common-buy.aliyun.com... 请留神 VPC 专有网络须要与 EDAS 中服务实例部署所在的 VPC 统一 Step 2.  创立服务起源 在服务治理一栏的起源治理中,创立服务起源,以部署在 Default 微服务空间下的 EDAS 利用为例,此处抉择对应的微服务空间即可。DEFAULT_GROUP 为 EDAS 注册核心默认的服务分组,若利用配置应用了dubbo.registry.group、spring.cloud.nacos.discovery.group 等指定了服务分组时,须要额定增加对应的服务分组。 ...

November 1, 2022 · 2 min · jiezi

关于阿里云:阿里云注册集群Prometheus-解决多云容器集群运维痛点

作者:左知 容器集群可观测现状随着 Kubernetes(K8s)容器编排工具曾经成为事实上行业通用技术底座,容器集群监控经验多种计划实际后,Prometheus 最终成为容器集群监控的事实标准。 Promethues 监控服务可无效监控零碎层指标、应用层指标、业务层指标等,采集监控指标后进行存储,搭配 Grafana 可实现监控指标的展现和告警等。 Prometheus + Grafana 计划可无效进行容器集群监控指标采集、存储、展现、告警等,无效帮忙业务发现和定位问题,为云原生下的利用保驾护航,曾经成为业内容器集群监控规范组合计划。 目前企业运维容器集群,有两种计划能够抉择,第一种抉择自建监控体系;第二种抉择云厂商提供的监控产品。 第一种自建监控体系:Prometheus + Grafana 入门应用并不难,但基于此计划进行自建整套监控体系且达到生产可用程度绝非易事,不仅须要投入一定量研发和运维人员,而且须要关注监控体系中各局部的合作,例如指标采集配置、指标存储、指标展现、无效大盘配置、告警配置、有效告警过滤等等诸多事项,这让很多开发和运维人员头痛和头秃,甚至最终走上从入门到放弃之路,赔了夫人又折兵。 第二种应用云厂商提供的监控产品:其中阿里云提供的 Prometheus 监控产品,有包年包月和按量付费两种模式,可缩小自行搭建告警体系的后期投入的老本,也提供后续的技术运维反对,能够极大地缩小运维老本。 多云容器集群可观测挑战随着企业云上业务的多样化和复杂化,不可避免地呈现跨区跨云厂商容器集群混用的状态,进而从以往繁多容器集群运维变成多云容器集群运维。 面对多云混合的容器集群监控,可采纳自建 Prometheus + Grafana 监控体系,将面临如下挑战: 自建齐备的监控体系,须要买通采集、存储、展现、告警等各个局部,且须要后续继续运维 SRE 人员投入,导致运维成本上升 开源 Prometheus 对应的 TSDB 采纳 SSD 存储模式,数据单点扩散存储,存在数据失落危险 开源 Prometheus 采集能力存在肯定的瓶颈,且为单点运行无奈做到弹性伸缩,业务顶峰时可能呈现监控数据采集性能瓶颈 亦或采纳云厂商提供的 Prometheus 监控产品,将面临如下挑战: 跨云厂商,不同云厂商提供的 Prometheus 监控产品能力和应用形式不尽相同,须要肯定的学习老本 扩散治理,不同云厂商监控产品混用状况下,无奈进行对立治理,容易造成治理低效和凌乱、运维上的反复、无奈及时发现业务问题 无论应用上述哪种计划,都会面临一个独特的问题,即监控指标扩散,无奈做到对立查问、联结剖析展现、对立告警等。为实现监控数据对立查问和告警,可采纳开源 Prometheus 联邦模式,存在如下诸多问题: 容器集群内需部署 Prometheus 进行指标采集,不同容器集群内需进行反复配置 通过 Federate 形式将扩散的监控数据进行中心化聚合,强依赖网络联通行,占用较多网络带宽资源 Federate 模式依赖网络的连通性和稳定性,当网络提早呈现时极易造成查问不到数据,告警不失效等 核心 Prometheus 存储单点存在宕机危险,若采纳多活模式时,还须要解决数据一致性等问题  亦或采纳 Thanos 计划实现数据对立查问,亦将面临如下艰难: 运维负担重,须要将 Thanos Sidercar 做为独自过程与 Prometheus Server 一起部署和配置,并需提前布局容量,后续运维较繁琐资源节约,Sidercar 将本地数据同步到云端的对象存储时,依赖网络性能,占用肯定的网络带宽资源 告警有效性难以保障,大跨度查问历史数据时,须要从云端对象存储中获取,若后期同步数据出现异常,会导致前期查问不到无效数据对立查问数据时,须要进行实时聚合数据,并进行去重、计算等操作  阿里云 Prometheus 监控劣势为了解决上述问题,阿里云注册集群提供纳管能力,行将非阿里云容器集群进行对立治理,可无效解决多云容器集群治理扩散的问题。阿里云 Promethues 监控产品,提供包含指标采集、Grafana 展现、告警等整套的容器监控体系,反对按量计费和包年包月两种付费模式,可无效晋升容器集群监控效率,极大地缩小自建监控体系所面临的运维老本。阿里云注册集群+Promethues 监控产品组合,将多云容器集群监控变得简略且高效,诸多问题迎刃而解。 ...

October 31, 2022 · 2 min · jiezi

关于阿里云:可观测实践|如何使用阿里云-Prometheus-观测-ECS-应用

作者:颍川 引言Prometheus + Grafana 曾经成为云原生时代的可观测性事实标准。咱们应用 Prometheus 观测云原生时代的 Kubernetes 体系下的 Node、ApiServer、workload 等的根底 metric,同时通过 Prometheus Exporters 采集各种组件(如 Redis、Kafka 等)和业务利用的 metric,最初通过 Grafana 展现大盘、AlertManager 进行告警,实现了云原生 Kubernetes 体系下 metric 可观测闭环。 因为大量非云原生的历史零碎演进到云原生体系是个长期间过程,因而这些非云原生零碎的可观测闭环也是咱们必须解决的问题。咱们很天然地想到“既然 Prometheus + Grafana 实现了云原生体系的 metric 可观测闭环,是否能够应用这套神器来解决非云原生体系利用的同样问题呢?”,答案是必定的。 本文介绍如何应用阿里云 Prometheus 来实现非 Kubernetes 利用(即 ECS 利用)的 metric 观测。 ECS 利用的典型部署场景场景 1:纯私有云 VPC业务利用部署在一个或多个 VPC 内,每个 VPC 内购买了一批 ECS,在这些 ECS 上部署了根底组件(数据库和中间件等)和业务利用。此场景下,咱们须要对这些 ECS OS(Linux 或 Windows)、根底组件和业务利用自身进行 metric 观测。 场景 2:私有云 VPC+线下 IDC业务除了部署私有云 VPC 上外,还须要与线下 IDC 机房进行互通互联。通常,咱们应用专线形式买通云上 VPC 和线下 IDC 机房。此场景下,咱们冀望有一套残缺的 metric 观测平台,同时解决线上 VPC 和线下 IDC 的 metric 观测。 ...

October 28, 2022 · 2 min · jiezi

关于阿里云:可观测可回溯-Continuous-Profiling-实践解析

作者: 虚镜 概述Continuous Profiling 在软件开发生命周期的地位 CI/CD 的概念非本文重点,不解释了。从上图能够看出。Continuous Profiling(继续性能剖析,下文简称为 CP)是生产向开发进行反馈的十分重要的伎俩。 倒退历史CP 概念的起源于 Google 的论文 [ 1] : Google Wide Profiling:A continuous Profiling infrastucture for data centers 基本思路CP 意义能够合成为两个: 性能剖析(Profile)的意义:辨认计算,存储,网络上的性能瓶颈问题,建设代码和性能瓶颈的关联性,从而帮助开发者优化代码,解决瓶颈问题; 继续(Continuous)的意义:让性能剖析贯通利用的整个生命周期,从而解决非继续计划(如 ]on-demand)中无奈抓到现场的问题。 Profiling 的根本思维掂量程序性能最直观的办法就是通过响应工夫(Response Time,简称 RT)。但仅仅晓得程序的运行工夫很难领导咱们如何把程序优化地更快,咱们想要更进一步地理解这段时间之内到底产生了什么。 让咱们先从一个例子开始,理解 Linux 下的工夫统计通知了用户什么信息: 上面咱们利用 Linux time 计算两件事件的工夫耗费: 生成一个 10M 的文件,随机生成数据;(IO 密集)对上一步生成的文件做个 CRC 计算;(CPU 密集)  time 的输入通知用户 3 个信息: real:总耗费工夫user:用户态耗费工夫sys:内核态耗费时 察看 time 的输入,能够看出 user + sys 不等于 real,这是因为程序并不是总是 CPU 上运行的,还可能因为 IO,Lock 等等起因处于睡眠,期待的状态,这段时间既不算在 user CPU time 也不算在 system CPU time。 程序在 CPU 上执行的工夫(即 user CPU time  + system CPU time)称为 CPU time(或 on-CPU time);程序处于睡眠等状态的工夫称为 off-CPU time(or blocked time);程序理论运行的工夫称为 wall clock time(挂钟工夫); time 的输入 real 对应的概念的是 wall clock time,因而能够看到: ...

October 28, 2022 · 6 min · jiezi

关于阿里云:KubeVela-插件指南轻松扩展你的平台专属能力

作者: 姜洪烨 KubeVela 插件(addon)能够不便地扩大 KubeVela 的能力。正如咱们所知,KubeVela 是一个微内核高度可扩大的平台,用户能够通过模块定义(Definition) [ 1] 扩大 KubeVela 的零碎能力,而 KubeVela 插件正是不便将这些自定义扩大及其依赖打包并散发的外围性能。不仅如此,KubeVela 社区的插件核心也在逐步壮大,现在曾经有超过 50 款插件,涵盖可观测性、微服务、FinOps、云资源、平安等大量场景性能。 本文将会全方位介绍 KubeVela 插件的外围机制,教你如何编写一个自定义插件。在最初,咱们将展现最终用户应用插件的体验,以及插件将如何融入到 KubeVela 平台,为用户提供统一的体验。 为什么要应用 KubeVela 插件用户应用插件的一个典型办法是通过 KubeVela 团队保护的插件核心(addon catalog) [ 2] ,它蕴含了 KubeVela 团队与社区开发者精心编写的零碎扩大性能,并以插件的模式公布于插件核心,这样你能够一键下载并装置这些插件。例如装置 FluxCD 能够疾速给你的 KubeVela Application 提供部署 Helm Chart 的能力。 相较于应用 KubeVela 的插件性能,如果你本人的外部平台想要集成一个云原生的性能,你大略会这么做: 通过 Helm Chart 或者下载 yaml 文件手动装置 FluxCD 或相似的 CRD Operator。编写系统集成的代码,让用户界面能够通过对立的形式应用 FluxCD 等 CRD 的性能,在 KubeVela 零碎中就是通过编写模块定义(OAM Definition)实现。 实际上,在 KubeVela 1.1 版本之前,咱们也是通过相似的形式实现的。这会带来如下问题: 操作繁琐:用户须要手动查阅文档如何装置 FluxCD 并解决可能产生的谬误资源扩散:用户须要下载不同的文件,既须要装置 Helm 装置 FluxCD 还须要下载模块定义等零碎扩大的集成配置难以散发复用:用户须要手动下载模块定义就注定了这些资源难以以一个对立的形式分发给用户,也无奈造成社区生态让不同的用户能够享受社区便当短少多集群反对:KubeVela 将多集群交付作为一等公民,而这样的手动装置零碎扩大的形式显然难以保护多集群的环境无版本治理:用户须要手动治理模块定义和 Controller 之间的版本 而 KubeVela 插件就是为了逐个解决这些问题而诞生的。 ...

October 28, 2022 · 5 min · jiezi

关于阿里云:阿里云云边一体容器架构创新论文被云计算顶会-ACM-SoCC-录用

近日,由阿里云撰写的对于 KOLE 翻新论文被 ACM SoCC 国内会议长文录用。 ACM Symposium on Cloud Computing(以下简称 SoCC)是由美国计算机协会主办、聚焦云计算技术的一项学术会议,是云计算的首要会议。它会集了对云计算感兴趣的钻研人员、开发人员、用户和实践者,是惟一由 SIGMOD(数据管理特地趣味组)和 SIGOPS(操作系统特地趣味组)联结主办的会议, 这个会议在近些年蓬勃发展,旨在汇集数据库和计算机系统两大畛域的学者,独特推动云计算技术在工业界的钻研与倒退。 此次被录用的论文为《KOLE: Breaking the Scalability Barrier for Managing Far Edge Nodes in Cloud》。此论文灵感诞生于阿里云边缘容器产品 [email protected] ,[email protected] 是阿里云容器服务针对边缘计算场景推出的云边一体化协同托管计划,采纳非侵入形式加强,提供边缘自治、边缘单元、边缘流量治理、原生运维 API 反对等能力,以原生形式反对边缘计算场景下的利用对立生命周期治理和对立资源调度,现阶段曾经笼罩了 CDN、音视频直播、物联网、物流、工业大脑、城市大脑、地产、票务、新批发、能源、交通等理论业务场景,并服务于阿里云 LinkEdge、盒马、优酷、视频云、大麦、CDN 等多个业务或我的项目中。 KOLE  全称:A framework built on top of Kubernetes to Orchestrate Limitless (far)  Edge nodes。KOLE 针对 Kubernetes 在云边一体,大规模边缘节点治理方面的挑战,创新性的提出了基于 Kubernetes的新的云边架构,通过利用新的云边通信协议以及缓存快照的形式,使 Kubernetes 可能轻松治理数百万节点。为了冲破 Kubernetes 治理大量边缘节点的可扩展性限度,KOLE 的设计遵循三个规范: 防止创立大量对象来长久化边缘节点的状态;防止在节点与 APIServer 中放弃大量的 HTTP 连贯;应用 Kubernetes CRD 反对对边缘节点及其运行的应用程序进行所需的治理操作。 基于以上准则,KOLE 创新性的应用了 MQTT 协定作为云边通信机制,MQTT 被设计用于轻量级的公布/订阅式音讯传输,旨在为低带宽和不稳固的网络环境中的物联网设施提供牢靠的网络服务,是专门针对物联网开发的轻量级传输协定,并且适宜百万级设施连贯, MQTT 协定针对低带宽网络,低计算能力的设 备,做了非凡的优化,MQTT 的传输格局十分精小,最小的数据包只有 2 个比特,绝对于 HTTP 协定具备更低的能耗。 ...

October 28, 2022 · 2 min · jiezi

关于阿里云:阿里云容器服务-ACK-产品技术动态202209

点击此处即可查看容器服务 ACK 产品详情!

October 28, 2022 · 1 min · jiezi

关于阿里云:阿里云的证书有什么用含金量怎么样

对于咱们当初的社会来说,想找一份好工作,就必须要有足够的能力,尤其是在IT行业中,想要失去认可,最须要的就是有可能证实本人能力的货色。除了经手过的我的项目,就只有技能证书最能证实本人的能力了,在目前的市场中,阿里云是国内排名第一的认证,其旗下的认证,也是相当具备含金量的。 阿里云认证的劣势 1、合作伙伴泛滥。阿里云起步早,早早占据了国内的市场, 并且倒退了一众合作伙伴,尤其是很多行业内的领军企业,都抉择了阿里云作为本人的搭档像是中国联通、12306、中石化、中石油、飞利浦、华大基因等大型企业客户,以及微博、知乎、锤子科技等明星互联网公司。 2、散布范畴宽泛。目前阿里云曾经将本人的基站设立到了世界各地,开服的区域包含中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。各大洲、各大地区都有阿里云部署的基站,考生的待业范畴是十分广的,在世界各地都有机会找到工作。 3、认证等级明显。为了满足不同的人群,阿里云将本人的认证分为了三个不同的等级,别离是ACA、ACP和ACE三个。刚刚毕业、对云技术有趣味的人能够考ACA来帮忙本人打基础;加入工作一段时间后,想晋升本人,则能够抉择ACP认证;而须要进步竞争力,ACE就是最好的抉择。 阿里云认证作用 1、晋升能力。想考阿里云的证书,是须要通过系统地学习的,考生要学习阿里云的产品相干的常识,理解阿里云的相干技术,才能够顺利通过考试。 2、取得更多工作机会。对于阿里云的合作伙伴来说,每年都会招一些懂得阿里云产品的员工,领有阿里云人才认证的人会被优先录取。 阿里云认证的费用 1、阿里云ACA是最根底的认证,考试费用也比拟低只需600元,而且报名后就能够在官网上收费观看学习视频,不须要再另外购买视频,考试有两次机会,如果第一次失误没有通过,能够收费再考一次。 2、阿里云ACP的考试官网上报名是1200,除此之外考生如果须要学习,是要另外再购买学习视频的,而且这个考试只有一次学习机会,很多人为了顺利通过,是会去寻找题库的,有须要的人能够在认证大使上查问对应的题库。 3、阿里云ACE的考试分为三个科目,别离是口试试验和面试,报名费一共是9600,每门是离开报名的,考生通过前一科,能力持续考下一门。

October 27, 2022 · 1 min · jiezi

关于阿里云:Tapdata-创始人唐建法以秒级响应速度为企业提供实时数据服务-阿里云云原生加速器特别报道

作者:云原生加速器 数字化转型正过后,各行各业都在乘风破浪,减速数字化过程。随着信息化、数字化的一直浸透,企业在经营和业务过程中产生的数据爆发式增长。数据驱动增长的事实条件之下,对数据的获取、解决和利用的需要愈发迫切。 然而,多年烟囱式的信息化建设,造成许多孤岛式零碎和数据,海量而零散的数据,成为企业数字化征程上最大“拦路虎”。随着数字化过程放慢,数据的时效性也关乎到企业的生存倒退。 如果可能将这些孤岛式的数据平台以某种形式连接起来,并且给他们安上一个个“水龙头”,当企业须要的时候,一关上水龙头,数据就像水一样源源不断地流进去。让用户应用属于他们的数据,像喝陈腐扎啤那么简略。这正是钛铂数据(Tapdata)在做的事件。** 让企业应用数据像拧开水龙那样简略过来数十年间,企业在信息化过程中搭建了十分多的业务零碎。现在数字化浪潮奔涌而至,各行各业迸发出各种定制化业务零碎的需要。随着数据架构日益低代码化和平台化,各类新的业务和数据系统数量仍在一直扩张。 企业在信息化和数字化建设过程中,通常波及到两类数据的解决:OLTP和OLAP。其中,OLTP(Online Transaction Processing )指事务型零碎,如浏览电商网页、下单、打车、外部流程等;OLAP(Online Analytical Processing)即剖析型零碎,指对已产生的业务数据,通过聚合、分组统计、AI等形式进行剖析,得出一些洞察,以改良业务流程或晋升客户体验。 当企业开始应用ERP、BI报表、数据大屏、标签画像等各类零碎时,由此产生的海量数据也散落在不同零碎。当有新业务时,往往须要从不同数据库里提取不同构造的数据。然而,这些数据源可能有成千上万甚至百万个,不同源库之间数据并不相通,处于一种数据孤岛的状态,导致数据利用的价值低效且难以开释。 随着IT架构的迭代降级和业务端的全渠道营销,新一代的经营型剖析以及交互型业务场景逐步成为支流数据利用。企业须要获取最新的实时数据,为客户做及时的业务响应。只管目前数据库和存储库曾经很弱小,很多企业也领有各类SaaS零碎,但针对交互式App或经营剖析的场景,对实时数据反对力度无限。 在数字化转型过程中,企业面临着两大难题,一是多年信息化过程中造成的数据孤岛,一是对数据实时性要求越来越高。在 NoSQL 数据库公司 MongoDB 负责首席架构师的时候,唐建法就察看到了这个刚性需要。 唐建法曾在北美留学、工作十余年。2014年,退出 MongoDB,通过大会、博客、文档翻译、收费社区技术支持等形式,一手打造了 MongoDB 非盈利的技术交换中文社区。 在 MongoDB 工作期间,唐建法接触到很多行业的客户,他从客户侧也强烈地感触到了,企业在数字化转型过程中遇到的上述的数据难题。 事实上,数据仓、大数据平台、数据中台等几代数据工具和架构都在解决“数据孤岛”问题,只是反对的外围业务偏 OLAP 场景,重在对历史数据做洞察和剖析,能为企业提供即时数据,用于 OLTP 业务撑持的实时数据平台非常匮乏。 另外,企业在 OLTP 上的估算投入占到 90% 以上,尽管这个比例随着数据分析价值的凸显正在逐步放大,但仍有微小市场潜力。 正是基于这些考量,一个可能疾速买通数据孤岛,为 OLTP 业务提供实时数据的新型平台就跃然纸上。 2019年9月,唐建法从 MongoDB 辞职,开办了 Tapdata,推出面向事务型业务(OLTP)的 DaaS 平台,提供了一套易集成、易保护、残缺且实时的数据平台解决方案,助力企业数字化转型。 通过3年倒退,唐建法当初的构想曾经实现,Tapdata 曾经搭建了像自来水管一样的数据架构,当须要数据时,企业间接拧水龙头,就能取得陈腐数据。 打造一款好用的新一代实时数据产品作为国内实时 DaaS 赛道的开创者和领跑者,Tapdata 始终聚焦数据即服务,成为一家针对企业经营中的 TP 业务,以毫秒级响应速度,提供实时数据平台服务。 “国内实时数据处理集成,包含Daas服务、主数据服务,Tapdata 是当先的。目前Tapdata 曾经有7000多家用户,同步的数据已达到几百亿行的级别”唐建法谈到。 往年6月,Tapdata 官宣自带 ETL 的实时数据平台 Tapdata Live Data Platform 上线。这款产品的外围突破点在于,实现了残缺的基于 CDC 的异构数据实时集成和计算建模的能力,能够源源不断对数十种源数据库实时采集并输送到 DaaS 存储,确保数据在DaaS 里始终失去实时更新。 ...

October 26, 2022 · 1 min · jiezi

关于阿里云:2022云原生峰会开启报名-一年一度云原生技术风向标就看这里

一年一度云原生技术风向标 云原生峰会,来了! 2022 年 11 月5 日,杭州云栖小镇 锁定云栖大会,预约云原生峰会 去年云栖大会,阿里云面向业界提出: “阿里巴巴实现了寰球最大规模的云原生实际, 所有业务100%跑在公共云上, 利用100%云原生化。 同时公布了全新降级的容器服务 ACK Anywhere,以及多款容器产品:ACK 麻利版、ACK 发行版、分布式云容器平台 ACK One, 并推出业内首款云原生技术中台 CNStack……” 云栖第一天:解密两个100%背地的云原生 云栖大会第二天:ACK Anywhere 来了 一图看懂云栖大会「云原生」重磅公布 (往期回顾) 往年云原生峰会,有哪些你不能错过的热点呢? 从利用构建看云原生往年的云原生峰会 以激活利用构建新范 式为主题 ① 从四大章节全面开展议题: 全面容器化 利用 Serverless 化 核心技术互联网化 专有云产品重磅公布 ② 您将播种到: √ 寰球云原生利用洞察与趋势 √ 阿里云在云原生畛域的最新产品与技术布局 √ 阿里云 All on Serverless 全新思考与投入 √ 识货、传音、新东方等企业实战经验 √ 圆桌论道云原生架构落地的挑战与机会 全云开发新体验技术展区见证全新的云原生产品公布 在 B 馆阿里云核心技术展区 独特见证 All on Serverless 全新布局与产品 以及容器、微服务、可观测产品全景 在 D 馆开发者展区云原生开发者体验岛: 让您疾速上手容器、中间件、微服务、可观测、音讯队列等外围产品, 并全面理解云原生开源我的项目, 体验更智能、更高效、更弹性的全云开发 同时将举办飞天 Club 云原生开发者技术嘉年华 解密云原生畛域热点开源我的项目 ...

October 26, 2022 · 1 min · jiezi

关于阿里云:一文读懂云渲染串流全链路时延及优化策略

这是一个让云游戏完满起步的时代。云游戏作为产业内近年来煊赫一时的话题,具备“云端运行、超高清、零延时、即点即玩”等泛滥个性。随着 5G 时代的到来,以及核心云能力下沉至边缘云,高带宽、低提早、高性能这些个性与云游戏紧密结合,冲破实时云渲染的带宽和提早问题,也赋予了云游戏更大的想象力。就在往年6月,央视推出了首个大型沉迷式数字交互空间《三星堆奇幻之旅》,让观众解脱本地硬件限度,仅通过一个H5页面带观众破屏穿梭,“身临其境”摸索考古现场。沉迷式体验背地, “云渲染”和“串流”是绕不开的核心技术。 01 实现云游戏的关键技术:「串流」“云渲染” 将大型沉迷式体验须要的3D渲染利用部署在云端,使得观众看到和交互的画面,都是云端实时渲染计算出来的。“串流” 是实现云游戏的要害形式,通过数据中心将游戏渲染场景转换成视频流,再通过传输网络推送到用户终端显示。同时,用户在实时显示的图像上,通过键盘鼠标、触控等形式传输指令到云端,实时控制3D渲染利用做出相应的响应。整个过程提早通常小于100ms。 云渲染「串流」技术通常利用在云上考古、云游览、虚构数字人直播、智慧城市数字孪生利用和云游戏的场景。用户不用部署低廉的高配PC或手机,通过网页拜访或者扫描二维码的形式,即刻便可享受细腻、清晰、晦涩的高清视频体验和实时的操控成果。 云渲染串流次要采纳启动成功率、错误率、资源利用率、首帧工夫、时延、码率、分辨率、画质、卡顿率、音画同步差等指标来掂量业务的好坏。本文对重点对「串流」全链路时延进行剖析,并介绍次要的优化策略。 02「串流」的全链路时延作为云渲染串流技术体验的根底,超低延时的要求带来了微小的挑战。云渲染串流的全链路时延次要可拆解为以下各个环节:传输时延、指令时延、编码时延、封包时延、收包时延、解码时延、帧距离时延。 传输时延:媒体流与指令流传输的时延。用户通过阿里云宽泛部署的边缘节点就近接入,个别状态下rtt(往返时延)可稳固管制在10ms以内,即单向网络提早5ms;在资源忙碌时,存在核心调度到较远节点的状况,偶然呈现局部用户rtt在30ms左右的状况,即单向网络提早15ms。 指令时延:云上的unity/ue渲染利用的响应客户端的触控事件的时延。指令能够通过过程间通信的形式,买通串流应用层和渲染程序,防止操作系统交互,实现虚拟化操作,指令时延管制在1ms以内。 编码时延:视频编码的解决时延。采纳GPU硬件加速、采集编码Zero Latency的策略,通过对渲染利用的direct API挂钩的形式,实现GPU外部纹理视频数据的采集和编码闭环,防止了GPU和CPU之间原始大数据量的视频拷贝,节约了功耗,管制整体编码时延为2ms以内。 封包时延:视频编码数据封装RTP到服务器音视频发送的时延。采纳更适宜云渲染的拥塞控制策略,实时精准调节网络缓冲区,能够升高数据包在服务器的缓存工夫为5ms以内。 收包时延:用户接收端的RTP jitter buffer的时延。该时延放弃在20~30ms,即缓存1~2帧的状态,以应答乱序、丢包、抖动等网络环境,在保障晦涩度的前提下,最大限度升高网络时延。 解码时延:视频解码解决时延。不同设施的视频解码策略不同,在中端机型软解高清视频的均匀解码时延为7ms左右,这是统计时延后果,在H5端上改良空间较小。 帧距离时延:编码算法时延。在60fps帧率的状况下,每两个视频帧之间的工夫距离固定为16ms,也就是说指令响应到视频编码之间肯定会存在0-16ms的时间延迟,这是由视频编码自身机制引起的,实践上不能缩小。 总之,在1080P 60fps的场景下,云渲染串流全链路时延 = 传输时延rtt(10-30ms)+ 指令时延(1ms)+编码时延(0-2ms)+封包时延(0-5ms)+收包时延(20-30ms)+解码时延(7ms)+帧距离时延(0-16ms)= 38ms 到 90ms之间,能够实现100ms以内的体验成果。 03 串流时延的精准「优化」策略对于「串流」技术的全链路时延,优化策略次要包含:编码优化、前解决优化、采集优化、指令优化、传输优化。 ❖ 编码优化在视频编码策略方面,影响编码延时的次要优化有: 用 slicethread 代替 framethreads,进步编码效率,升高计算解决时延。敞开lookahead线程,防止线程预测的帧缓存。敞开B帧 (HEVC能够反对GPB,代替一般的B帧),以升高后向参考的算法时延。❖ 前解决优化前解决优化次要指的是「窄带高清」解决,通过CPU+GPU联结计算,进行视频原始域的计算优化,在满足码率升高35%,VMAF进步10%成果的同时,最小化计算解决时延,成果如下图。 在云渲染场景下的窄带高清解决,能够实现Zero-latency编码与画质的均衡,使主客观画质都有显著晋升。同时窄高高清解决,能够升高视频编码码率,升高网络传输的带宽压力。 ❖ 采集优化在视频采集方面,通过对用户渲染过程近程注入视频采集hooker,对preset函数设置函数钩子,在函数钩子中将back buffer拷贝到共享纹理中,供硬件编码器应用的形式,防止了GPU和CPU之间的yuv原始视频数据的拷贝。在GPU外部实现视频采集、视频解决与视频编码,全过程纹理数据处理, 采纳CUDA硬件视频编码,并行减速编码过程,升高编码时延。 蓝色局部为用户渲染引擎过程,实现GPU的纹理渲染;橙色局部为阿里云云渲染引擎过程,实现钩子注入、网络收发和业务逻辑;黄色局部为GPU运算,用户过程和阿里云过程两者通过共享纹理进行数据通信,并实现硬件编码减速。 ❖ 指令优化在指令操作方面,咱们依据不同用户需要,提供「非侵入式」和「侵入式」两种计划。非侵入式计划通过hook到用户渲染过程的形式,通过挂载GetKeyState、GetCursorPos等一系列win api键鼠状态函数,用来传递用户管制指令流,防止内核态与用户态的数据交互。非侵入式计划的长处在于利用适配性好,用户不须要二次开发;毛病是须要依赖不同零碎版本的api。侵入式计划是指用户渲染引擎能够抉择集成阿里云注入.dll的形式,通过同主机过程间的socket通信形式,实现自定义用户集成音讯解析,升高指令解析时延。侵入式计划利用能实现云原生化,但其具备肯定的技术门槛,须要开发集成阿里云的计划。 ❖ 传输优化在传输优化策略中,次要包含指令流QoS保障、带宽预计、拥塞管制、视频缓存精准预计、FEC纠错算法改良、非凡包冗余爱护。 指令流QoS保障:针对挪动事件需保障执行程序,在网络乱序场景下,容许丢包,但通过序列号确保执行最新事件;针对按键、点击事件,会启用重传策略,保障本地操控与最终显示的最终一致性;对于组合事件音讯进行音讯合并,缩小发包量,同时通过冗余策略能保障丢包时候的达到率。 带宽预计:采纳BBR算法,在带宽上探时,不会造成rtt的较大变动,防止传输提早的减少。同时,优化BBR算法的带宽下探策略,在探测最小rtt时,不停发数据,保障媒体数据稳固传输。在带宽探测过程中,采纳疾速收敛策略,优化最大带宽计算方法并缩短带宽预计的反馈工夫为100ms,疾速探测带宽。拥塞管制:调整pacer sender的周期断定条件,在网络状态良好时,进步单次数据发送量,缩小单帧发送工夫。 视频缓存精准预计:在视频解码端,采纳卡尔曼滤波器动静估算帧间隔时间,精准设置jitter buffer大小,缩小不必要的时延。 FEC纠错算法改良:应用cm256 RSFEC算法,比传统RSFEC算法cpu利用率升高95%,最大化进步分组数量。在云渲染大码率的场景下,缩小前向纠错的计算工夫。 非凡包冗余爱护:针对非凡包,例如NACK包及重传包、I帧及重传I帧、用户自定义指令和操作指令等,分级传输,通过专用冗余通道传输,以部分带宽晋升为代价,以保障最小时延的整体传输达到率。 针对云渲染串流场景,阿里云开发了专门的提早评测工具,通过云渲染串流的通用指令API,能够实现上述全链路时延测量。该工具由服务端测试渲染利用、测试利用客户端和统计解决工具组成。服务端测试渲染利用:实时获取客户端上传的毫秒工夫,并通过云渲染串流显示上传的计时工夫。 测试利用客户端:实时显示毫秒计时,并通过云渲染串流的API,例如鼠标坐标设置API,实时上传毫秒工夫到服务端。 统计解决工具:包含定时截图程序、工夫戳自动识别程序和提早卡顿数据处理程序实现自动化测试和数据收集和统计,能够评测第三方云渲染零碎,并获取提早和卡顿的后果。 右侧为工具运行成果,图上示例中的时间延迟为706290(客户端) - 706231(服务端) = 59 ms。通过OCR辨认和长时间大数据量的测试,可获取云渲染串流时延的统计后果。尽管目前云渲染串流时延100ms能够满足用户的体验需要,然而100ms仅仅是及格线而已。在升高时延方面,大有空间可为。比方:在内容生产端,通过开发云原生渲染利用,实现“内容生产+编码传输”的闭环利用,会进一步晋升指令反馈和图像显示的实时成果。在云端,同一张网实现多业务混跑,升高用户接入节点的老本,缩小就近接入的间隔,能够实现网络提早的最小化。在用户端,云渲染利用以h5接入为主,而在h5端,能够通过webcodec、webtransport、webrtc等技术的有机联合,实现灵便的串流策略,达到用户的极致体验。唯有实现串流技术的“延时自在”,能力让身临其境的云游戏,完满起步。

October 25, 2022 · 1 min · jiezi

关于阿里云:两类常见场景下的云原生网关迁移实践

作者:如葑 云原生网关将流量网关、微服务网关、平安网关三合一,被誉为下一代网关,齐全兼容 Kubernetes Ingress 规范 API,解决了三层网关架构独立设计、独立运维导致的资源耗费大、性能损耗大、稳定性难控、平安防护简单等难题,相比传统网关,云原生网关在资源老本、性能、安全性和易用性上更有劣势。 迁徙是上线前的必备工作,如何升高迁徙过程中带来的危险,是迁徙工作的重中之重。本文将基于 MSE 云原生网关,介绍两类场景下的云原生网关迁徙实际,第一类,是自建 Nginx Ingress 迁徙到 MSE,咱们提供了不更改原有 SLB,便可实现不停机迁徙的能力,管制迁徙危险,将对此将开展具体介绍;第二类是传统的微服务网关迁徙到 MSE,咱们通过提供具体的操作文档来阐明。 自建 Nginx Ingress 迁徙到 MSE 云原生网关为何要迁徙MSE 云原生网关曾经兼容了 Nginx Ingress 注解 80%+的应用场景,用户无需批改已有 Ingress 配置,即可无缝迁徙到 MSE 云原生网关,且相比 Nginx Ingress 原生注解,提供了性能更丰盛的扩大注解,总结如下: 尤其在平安畛域往年 K8s Ingress Nginx 我的项目接连披露了三个高危安全漏洞(CVE-2021-25745, CVE-2021-25746, CVE-2021-25748),该我的项目也在近期发表将进行接管新性能 PR,专一修复并晋升稳定性。Ingress 网关作为处于 Internet 网络边界的根底软件,又被大规模应用,势必会成为一些攻击者的现实指标。一旦防线攻破,其代价是惨痛的,能够参考同样是网络边界的根底组件,OpenSSL 的 Heartbleed 心血破绽殷鉴不远。更多对于Nginx Ingress 架构平安缺点请参考《Ingress Nginx 接连披露高危安全漏洞,是否有更好的抉择?》。 对于 MSE 云原生网关加强的扩大注解请参考《MSE Ingress高级用法》:https://help.aliyun.com/docum...如何低危险迁徙?从 Nginx Ingress 迁徙到 MSE 云原生网关的过程中,为帮忙用户理解各迁徙阶段,咱们梳理了各个阶段的简要阐明,且思考到在用户迁徙后能依然可能复用已有的 SLB,升高迁徙老本,MSE 云原生网关也提供了“SLB 迁徙”性能,让用户可能不便的将流量分过程迁徙到 MSE 云原生网关。 接下来,咱们以图示形式,简略阐明迁徙的各个阶段。 迁徙阶段总览 从上图中能够看到,尽管迁徙分成了 5 个阶段,但真正在“迁徙”阶段,用户只须要执行一步操作即可实现 Nginx Ingress 配置到 MSE 云原生网关的迁徙,十分简便快捷。 ...

October 23, 2022 · 2 min · jiezi

关于阿里云:2022-云栖大会-开源人说预约听百味技术人生品激荡开源江湖

2022云栖大会如约而至,精彩议程提前通晓! 欢送11月4日齐聚开发者舞台D2馆,听百味技术人生,品激荡开源江湖。届时有泛滥大咖到场,分享大数据&AI开源亲历者们的十年。巨匠零距离,技术真心话与贾扬清、霍太稳等重磅嘉宾密切互动,听硬核技术探讨,品实在技术人生;嘉宾观点强烈对碰,观众现场投票站队,真观点、真故事、开发者就要Be Real;现场还有创作者、公益反对打算公布,更有互动丰盛惊喜,为技术人成长加油! 扫描下方海报二维码即刻锁定参会名额!

October 21, 2022 · 1 min · jiezi

关于阿里云:OpenYurt-v10-正式发布一文了解三大社区-SIG-重点更新

作者: 何淋波(新胜),阿里云技术专家 陈锦赐(敬易),阿里云开发工程师 熊峰(籁鸣),阿里云技术专家 OpenYurt 定位为云边协同的云原生边缘基础设施,通过 2 年多的倒退,社区在云边协同治理,边缘自治,边缘网络与存储,以及 IoT 等方向曾经孵化超过 20+子项目,为更好的晋升社区协同效率和欠缺社区治理,OpenYurt 社区成立了 3 个 SIG:ControlPlane, DataPlane, IoT 来兼顾治理社区所有我的项目,同时社区会议也由双周会调整为周会。通过 OpenYurt 社区各个 SIG 的一齐致力,OpenYurt v1.0 版本于北京工夫 9 月 9 号正式公布。 v1.0 版本重点关注代码品质晋升,升高 OpenYurt 的入门门槛,以及外围组件的性能测试,同时对立 API 的自动化治理。 SIG ControlPlane重点更新API 治理:NodePool 资源版本升级到v1beta1,同时 OpenYurt 所有 API 治理迁徙到 openyurtio/api [ 1] ,倡议用户通过援用这个我的项目来应用 OpenYurt 的资源 API   欠缺测试覆盖率:应用 CodeCov [ 2] 来跟踪各个我的项目的 unit test 覆盖率。目前 ControlPlane 各个我的项目的测试覆盖率根本达到 50%。同时欠缺了 yurt-app-manager 我的项目的 E2E 和 Fuzz 测试  性能测试:重点关注 Yurthub 组件的性能和云边断网状态下节点重启时 Pod 复原效率,相干测试报告能够参考:Yurthub 性能测试报告 [ 3] ,节点重启时 Pod 复原效率测试 [ 4]  OpenYurt 装置部署优化: 移除了晚期的 K8s 和 OpenYurt 互相转换工具,同时 OpenYurt 装置优化为: OpenYurt Control-Plane 组件装置 [ 5] ,边缘节点接入 [ 6]具体更新能够参考:https://github.com/orgs/openy...将来布局SIG ControlPlane 仍将持续晋升云边协同场景下的治理能力,目前布局的能力包含: ...

October 20, 2022 · 2 min · jiezi

关于阿里云:训练营-如何成为一名开源社区贡献者

你心目中的开源贡献者是什么样的?Linux 之父林纳斯·本纳第克特·托瓦兹曾破费两周工夫写出了驰名的 GIT 版本控制器,对于 Linux,林纳斯示意:所有为了好玩; MySQL 创始人 Michael “Monty” Widenius 19 岁从赫尔辛基理工大学辍学开始全职工作,因为大学曾经没有什么货色能够教他了。在独自一人写完除了一个库以外的全副代码之后,33 岁时,他公布了 MySQL,起初后者成为了全世界最风行的开源数据库; 丹尼斯·里奇在 1969-1973 开发了 C 语言,被认为是第一个真正意义上可移植的古代编程语言。自它诞生差不多 45 年以来,它曾经被移植到简直每一个呈现过的零碎架构和操作系统上,同时,里奇还是 UNIX 操作系统的独特发明人。 ...... 技术发明更好的世界,你也有机会成为下一位开源社区贡献者。无论你想深刻学习正在流行的前沿技术、晋升本人的代码程度、还是建设开发者集体影响力,当初!立刻!退出「云原生利用插件扩大训练营」。 「云原生利用插件扩大训练营」由阿里云云原生团队围绕 KubeVela、OpenYurt、Koordinator、OpenKruise、Fluid 等云原生开源我的项目打造,为了帮忙更多开发者感触开源社区的魅力,理解如何更快地参加社区奉献。今天下午 16:00,咱们将从基于 KubeVela 插件生态的制作和奉献开始,帮你开始真正意义上的开源社区贡献者之旅。 开营两周工夫,曾经有 1500+搭档参加其中。置信你将感触到如何利用本人的力量促成开源社区中的无效合作,领会帮忙更多开发者升高新技术学习门槛的乐趣和成就感! 钉钉扫描下方二维码,即可进群学习互动 云原生利用插件开源奉献训练营流动群 课程安顿(10月18日-19日,每天16:00—17:00开课) 授课讲师: 董天欣(雾雾) KubeVela 社区外围维护者,阿里云高级开发工程师 10月18日 16:00—17:00 | 如何在 velaux 页面部署 wordpress helm 利用本节课程将为大家演示 KubeVela 及其插件生态的装置,以官网可视化插件 VelaUX 和 FluxCD 为例,演示如何在页面上部署一个 WordPress Helm 利用,并可能查看该利用的资源拓扑图。对于其余任意的自定义类型利用,演示如何为其构建资源拓扑图规定。 10月19日 16:00—17:00 | 如何为 KubeVela 社区奉献本人制作的插件本节课程,将介绍 KubeVela 高度可扩大的 Definition 体系。从理论场景登程,演示如何为官网 Definition 增加滚动更新的参数。解说 KubeVela 的插件体系,介绍如何为社区制作本人的插件。 学习工作工作 1: 理解 KubeVela 社区体系工作 2: 实现跟学课程学习工作 3: 学会应用 velaUX 插件上传利用资源拓扑图工作 4: 向社区奉献本人制作的插件工作 5: 分享参营心得或学习笔记流动福利全副实现学习和打卡工作的同学均可取得训练营电子证书胜利被 KubeVela 社区合并正式插件,有机会降职 KubeVela Contributor实现全副工作并通过审核的前 50 名用户,取得 KubeVela 社区贴纸一套实现全副工作并通过审核的前 20 名用户,取得 KubeVela 限量随行杯一个实现全副工作并通过审核的前 10 名用户,取得 KubeVela 限量 T 恤一件 扫描海报二维码或点击 “此处” 退出训练营 开启真正意义上的开源社区贡献者之旅吧! 点击此处,中转训练营现场,赶快报名吧!! ...

October 20, 2022 · 1 min · jiezi

关于阿里云:vivo-鲁班平台-RocketMQ-消息灰度方案

本文作者:区二立 - vivo 技术架构总监 计划背景 RocketMQ应用宽泛,技术场景下,能够用于异步解耦,比方不同零碎间调用业务链上做分段式解决或应用不同语言的两个零碎间的解耦;能够用于数据同步,比方根底数据通过 MQ 播送到各个业务畛域,实现业务畛域的提效;高并发订单或 IM 的推送服务中,能够应用MQ做削峰填谷;此外,在分布式事务中,也能够通过 MQ 做最终一致性的事务计划。 RocketMQ在业务场景下可笼罩很多零碎,包含营销零碎、生产制作上的各种管控零碎、公共平台上人资、挪动办公等流程类零碎、相似于钉钉的自建IM 工具以及大数据等。 随着以微服务化为根底的数字化建设转型,实现一项业务必须串联不同团队和不同利用。而不同利用的开发和公布周期绝对独立,须要对接的版本不一,因而须要灰度计划。 对于HTTP的灰度,很多时候通用的网关即可提供较好的反对,甚至简略地用 Nginx 实现也能够达到成果。微服务层,以Dubbo为例,有各种分组比方有扩大的 SPI 补充实现,能够轻松解决灰度方面的困扰。而 MQ 的灰度却没有规范反对,很多零碎间接放弃了MQ灰度,因而也不得不承受肯定时间段内的谬误重试。 MQ技术特点 Broker是音讯服务的外围,提供了音讯服务最重要的计算与存储性能。音讯发送时会对应一个 Topic,Topic为逻辑上的概念,外部执行往往是以 Queue 为单位。以一般音讯类型的 Topic为例,Topic个别有多个 Queue,如图中的TOPIC_V_PLACE_ORDER 共有四个Queue,别离在两个 broker 里, broker a 与 broker b 里各有两个Queue。任何一条音讯都必然属于四个Queue中的某一条。 每条音讯内可指定 tag 标记,用于在逻辑上进一步切分 topic,如上图中的tagA、tagB。切分维度有多种,能够是IoT,也能够是增值服务类的产品order等。不同tab 示意不同分类,但它们共享一个 topic。 Queue能够了解为物理上的辨别,broker的commitLog用于寄存音讯。commitLog不辨别 Topic和Queue,不同的 Topic音讯内容会按理论接管的Queue存储到其对应的broker commitLog上,该音讯只会在集群中的某个 broker commitlog 中存在。 Broker commitLog是专用的,到达某一个 broker的音讯都会存在同一个 commitLog上,即一个commitLog会同时保留不同topic的内容。 CommitLog达到肯定大小时(个别为1G),会新建新的commitLog用于存储和接管新音讯。commitLog在物理上存储具体音讯,因而必然须要文件记录Queue与 commitLog存储音讯之间的地位映射。minOffset(最小位移)和maxOffset(最大位移)也是存储地位中的重要概念。 ConsumeGroupID与 groupID 强关联, groupID 生产时会在 broker上记录 topic Queue的生产位移,即会依据Queue记录不同 groupID 的consumerOffset。 ...

October 19, 2022 · 1 min · jiezi

关于阿里云:年度大促将至企业如何进行性能压测

作者:拂衣 为什么要做压测随着无线设施的遍及和 5G 的鼎力建设,越来越多的线上零碎、小程序成为了人们生存中必不可少的工具。与此同时,年底各类大促流动接踵而至,对于这些电商软件而言,都会面对一个问题:零碎能接受多少用户同时拜访,面对突发的流量洪峰,是否保证系统无故障稳固运行? 为了答复这个问题,就须要在零碎上线前做多轮压力测试,提前模拟出简单的,  高仿真的线上流量来验证整体零碎的高可用性,  这也是施行零碎高可用计划的关键环节。另外,通过不同阶段的压测,也实现对系统的容量布局、瓶颈探测,对系统整体能力进行验收,确保在流量洪峰降临前,零碎的确可能接受即将来临的实在线上压力。从某种意义上来说,压测是零碎稳定性的验证者。 如何施行一次精确的性能压测 1. 筹备压测环境压测的执行环境是一个陈词滥调的话题,如果间接在生产环境执行压测,会有 2 个问题: 会影响线上业务,对失常拜访零碎的用户造成影响2.会净化线上数据,将压测数据写入线上数据库为了解决这 2 个问题,个别业内采纳如下几种计划: 以上计划各有优缺点,实用场景也不尽相同,能够依据本人我的项目所处的阶段灵便抉择计划。 2. 构建压测脚本业内罕用的压测工具包含 JMeter、Gatling、Locust、k6、Tsung、阿里云 PTS 等。这些工具无一例外,都须要将压测业务的 API,编排为一个压测脚本。 这一步工作的重点在确认压测的 API,不要有脱漏,且 API 编排的程序要合乎用户的操作逻辑。对于电商业务的压测来说,如果脚本中脱漏了登录鉴权 API,那前面的订单、物流、库存等 API 都会在权限校验这步就报错,不会执行失常的业务逻辑,也就无奈模仿实在的业务场景。 以上压测工具编排脚本都有 2 个形式: 手动输出脚本,这须要脚本的编写人员对业务十分相熟,保障不会脱漏 API。主动录制脚本,上述开源压测工具都提供了录制申请的代理性能,开启并配置代理后,只有在页面上模仿用户的操作和点击行为,即可主动录制申请,并生成压测脚本。同时 PTS 还提供了 Chrome 录制插件(链接1),免代理配置,能够一键生成 JMeter 和 PTS 压测脚本。晋升了脚本编写的效率,也能保障不脱漏 API。为了防止简单脚本中脱漏 API 的危险,举荐应用录制性能生成脚本。 3. 确认压力模型这一步是在配置压测中模仿的压力峰值、不同 API 的压力散布比例以及压力值递增模型。压力值指的是模仿并发用户数,或每秒发送的申请数。 施压模式在设置之前,须要确认施压模式,业内次要有 2 种施压模式: 虚构用户(VU)模式,能够了解为一个线程模仿一个实在用户,压测时线程始终循环执行,模仿用户不停地发送申请。吞吐量模式,即每秒申请数(QPS),能够间接掂量服务端的吞吐量。在我的项目验收阶段,很重要的一个指标就是零碎的吞吐量,即可反对的QPS。对于这种压测场景,更举荐应用吞吐量模式,能够直观的看到施压机每秒收回的申请数,并和服务端的吞吐量间接对应起来。各 API 压力散布比例确认了施压模式后,须要配置不同 API 的压力散布比例。每个 API 的精确压力散布比例,也是一次胜利压测中不可获取的因素。 压力值递增模型常见有脉冲模型,阶梯递增,平均递增。脉冲模型会模仿流量在霎时忽然增大,罕用于秒杀、抢购的业务场景。递增模型能够模仿在肯定时间段内,用户量一直增大,罕用于模仿有预热的业务场景。 除了惯例的递增模型,最好在压测中能够实现手动调速性能,一是能够模仿一些非常规的流量递增状况,二是能够重复调整压力值,来复现和排查问题。 施压流量地区散布确定了压力值和递增模型后,还须要确定施压流量的地区散布,应尽量拟合实在的用户散布,能力保障测试后果真实可信。对于区域性的在线业务,施压机散布在当地的同一机房,是能够了解的。如果是全国性的在线业务,施压机也应该依照用户散布,在全国各地区部署。 4. 执行压测,察看压测指标压测中外围指标分为:申请成功率,申请响应工夫(RT),零碎吞吐量(QPS) 申请成功率不止要看全局的申请成功率,还要关注一些外围 API 的成功率,防止整体成功率达标,外围 API 成功率有余的状况。申请响应工夫,须要关注 99、95、90、80...等一些要害分位的指标是否合乎预期,而均匀响应工夫没有太大的参考意义,因为压测须要保障绝大部分用户的体验,在不分明离散水平的状况下,平均值容易造成误判。零碎吞吐量是掂量零碎能接受多大访问量的指标,是压测不可短少的规范。下面三个指标遇到拐点时,就能够认为零碎曾经呈现性能瓶颈,能够进行压测或调小压力值,筹备剖析、定位性能问题了。 ...

October 17, 2022 · 1 min · jiezi

关于阿里云:行业实践RocketMQ-业务集成典型行业应用和实践

作者:洛浩 音讯典型利用场景 阿里云领有丰盛的音讯产品家族,除了 RocketMQ 以外,还有大家熟知的对标开源的云 Kafka、反对 AMQP 协定的开源音讯队列 RabbitMQ、物联网通信网关 MQTT、 对标 AWS SQS/SNS 的 Serverless 版音讯 MNS(当初也是轻量版 RocketMQ)以及云上事件总线、事件核心 EeventBridge 。 阿里云所有音讯产品均采纳 RocketMQ 作为底层存储引擎,为用户提供稳固、牢靠、高性能的音讯通信能力,比方百万 TPS、百万队列、毫秒级通信提早、分级存储、 Serverless 弹性等泛滥的音讯产品。也带来了丰盛的利用场景,分为利用集成和数据集成两大类。 利用集成以 RocketMQ 为主,利用最为宽泛,本文也将分享 RocketMQ 在微服务解耦、电商交易、金融领取等场景下的最佳实际,比方银行的交易流水、保单的领取流转等。RabbitMQ 、MQTT 也次要用于利用集成场景,比方物联网、 IoT 双向通信、云产品的事件告诉以及后处理等。对于新建的业务场景,个别首推 RocketMQ 作为音讯选型,因为 RocketMQ 领有最丰盛的性能个性;而对于存量的业务迁徙,则能够依据具体应用的音讯产品来进行抉择,以升高迁徙老本。 数据集成以云 Kafka 为主,在大数据分析、日志采集剖析等场景下利用最为宽泛,比方游戏的玩家操作、广告埋点、数据分析、利用数据监控等。各种 SaaS 类的集成、聚石塔、电商数据买通等场景,则次要应用 EventBridge。更多的产品选型比照,能够参考专题页中的音讯队列产品选型。 https://www.aliyun.com/produc...业务音讯应用场景 RocketMQ 通过阿里团体外部十年锻炼,通过双 11 大促等万亿级规模的实时场景验证,SLA 最高可反对 4 个9,数据可靠性反对 9 个9。 以微服务解耦、订单交易、金融领取等场景为例,在互联网、电商、批发、金融等行业,音讯的使用量十分大。尤其是在秒杀大促时,为了保障系统的稳固运行,须要 RocketMQ 进行削峰填谷。另外金融客户对每笔交易、每个订单也都要求数据不能失落。因而在此类场景广泛对音讯的牢靠传输、海量并发、低提早、稳定性与容灾等有着十分高的要求。RocketMQ 提供了丰盛的音讯类型,比方事务音讯、定时音讯、程序音讯等。 在交易系统里,为了简化交易流程,个别应用事务音讯和定时音讯。同时 RocketMQ 也提供了音讯轨迹查问、音讯 dashboard ,能够十分不便地对每个音讯进行回溯,对每个 topic 或者 group 进行监测。RocketMQ 5.0 也提供了丰盛的实例规格,从百级别 QPS 到百万级 QPS ,能够笼罩大部分利用场景。RocketMQ 默认提供多正本、多可用区部署,也提供了跨地区音讯路由能力,反对客户构建高可用容灾或多活,且 RocketMQ 可能反对 99.9%的音讯 RT 在 10ms 传输。 ...

October 15, 2022 · 1 min · jiezi

关于阿里云:Apache-RocketMQ-在阿里云大规模商业化实践之路

作者:周新宇 阿里云音讯队列 RocketMQ 商业化历程 RocketMQ 诞生于 2012 年,诞生即开源。2012~2015 年,RocketMQ 始终在通过外部电商业务打磨本身服务能力,并在 2015 年于阿里云上线公测。2016 年,阿里云 RocketMQ 实现商业化,同时被捐献给 Apache 基金会,同年取得了年度受欢迎中国开源软件荣誉。 在 Apache 孵化期间,Apache RocketMQ 经验了疾速倒退,2017 年即毕业成为了 Apache 顶级我的项目。同年,Apache RocketMQ TLP RocketMQ 4.0 正式公布。尔后,RocketMQ 4.0 经验了长足发展,期间阿里云商业和开源相辅相成、齐头并进,直到明天,独特迈入 RocketMQ 5.0 时代。 RocketMQ 5.0 公布后,阿里云商业会继续采取 OpenCore 的倒退模式,秉承上游优先的社区倒退准则,与社区一起将 RocketMQ 打造为一个超交融的数据处理平台。 阿里云音讯队列产品矩阵 阿里云基于 RocketMQ 音讯底座,构建了多元化的音讯产品系列。 RocketMQ 是阿里云主打的音讯品牌,互联网新兴业务畛域首选的数据通道。音讯队列 Kafka 是大数据的首选数据通道,微音讯队列 MQTT 是挪动互联网和物联网的数据通道,音讯队列 RocketMQ 是传统业务畛域的数据通道。音讯服务 MNS 是 RocketMQ 轻量版,次要利用于利用集成畛域,为平台型利用提供简略的队列服务。事件总线 Event Bridge 定位为云上事件枢纽,旨在阿里云上构建对立的事件核心。 阿里云音讯队列产品矩阵齐全构建在 RocketMQ 之上,根本实现了利用场景全笼罩,包含微服务解耦、SaaS 集成、物联网、大数据或日志收集生态,同时也在外部笼罩了阿里巴巴所有业务,在云上为数万阿里云企业提供了优质的音讯服务。阿里云的音讯产品矩阵涵盖了互联网、大数据、挪动互联网等畛域业务场景,为云原生客户提供不可或缺的一站式解决方案。 RocketMQ 在阿里云商业化历程中,始终致力于摸索业务音讯实际,也孵化了大量业务音讯个性,并继续反哺到开源社区。 RocketMQ 4.0 业务音讯摸索之路 ...

October 15, 2022 · 3 min · jiezi

关于阿里云:阿里云事件生态再升级使用-EventBridge-驱动全量云产品

作者: 昶风 引言用户应用阿里云每天都会有大量的事件产生,例如云资源的增删改查、配置的变更、利用的水位报警等。这些事件局部是由用户业务操作触发产生,局部是由零碎检测主动产生,这些离散的事件实时反映着用户云上资源的状态,稍加开掘便能够产生实用的价值。阿里云 EventBridge 作为云上事件枢纽,早已集成了云上产品的各类事件,用户开明 EventBridge 后应用内置的云服务专用总线就能够监听这些事件,无需创立任何额定资源。 同时,阿里云各个云服务提供了 open API 以满足用户对云上资源管理的需要。对于期待搭建事件驱动架构(EDA)利用的云上用户而言,通过事件来触发调用云服务 open API 进行资源管理的能力将是业务能力幅员中不可或缺的一部分。 为了加强 EventBridge 对云产品的驱动能力,EventBridge 在近期上线了 open API target,open API target 能够驱动所有云产品 openAPI,使得用户可能基于 EventBridge 来触发云产品 open API 以治理本人的云上资源。 至此,EventBridge 实现了对云服务事件的闭环解决,云服务事件的产生、接管、加工等都能够应用 EventBridge 来实现,帮忙用户低成本实现云上事件与资源的管控。 云服务专用总线与阿里云官网事件源事件总线 EventBridge 是阿里云提供的一款无服务器事件总线服务,反对阿里云服务、自定义利用、SaaS 利用以标准化、中心化的形式接入,并可能以标准化的 CloudEvents 1.0 协定在这些利用之间路由事件,能够帮忙用户轻松构建松耦合、分布式的事件驱动架构。 在 EventBridge 架构中,事件的流转过程是这样的:首先事件由事件源产生,随后被投递到事件总线,经过滤转换解决后最终投递给事件指标。事件源是事件的生产者,事件总线是事件在 EventBridge 中的承载者。EventBridge 目前曾经反对了阿里云服务产生的各类事件,用户通过一些简略的配置即可获取。 为了保障资源隔离,在事件总线和事件源层面,EventBridge 将云服务事件与用户自定义事件做了隔离解决,咱们别离称之为云服务专用总线与阿里云官网事件源。 云服务专用事件总线在事件总线层面,EventBridge 目前反对的事件总线类型有 2 种:云服务事件总线和自定义事件总线。 自定义事件总线是须要用户自行创立并治理的事件总线,用于接管自定义利用或存量音讯数据的事件。自定义利用或存量音讯数据的事件只能公布到自定义总线。 而云服务专用事件总线是一个无需创立且不可批改的内置事件总线,用于接管阿里云官网事件源的事件。阿里云官网事件源的事件只能公布到云服务专用总线。 对于云服务事件,EventBridge 真正做到了开箱即用,用户应用云服务专用事件总线即可与泛滥云服务的事件生态买通。 阿里云官网事件源EventBridge 将云服务事件对立收敛到一个事件源,称之为阿里云官网事件源。 官网事件源反对了目前阿里云简直所有类型的云服务,依照分类而言包含但不限于弹性计算、存储、数据库、平安、大数据、人工智能、网络与 CDN、视频服务、容器、中间件、开发运维、域名和网站、物联网、企业应用与服务等。 对于云服务事件,其类型蕴含以下几类: 操作审计事件:阿里云服务通过操作审计接入作为事件源公布到事件总线 EventBridge 的事件类型。操作审计事件类型有:API 调用事件。次要指开发者通过 API 被动对相干资源进行 CRUD 调用的事件,大量阿里云控制台基于 API 开发,对应的操作行为也会记录为 ApiCall 事件。 局部控制台或售卖页的管控事件。因为这些控制台或售卖页并不是基于 API 来开发的,因而操作审计会将此类事件类型记录为 ConsoleOperation 或 ConsoleCall。此类事件的名称并不一定是 API 名称,但可能传播基本操作行为的含意。 阿里云平台对用户资源执行的管控事件。由阿里云发动的操作,比方实例续费、到期开释。例如,在创立 ECS 实例时,设置了实例主动开释工夫,那到时就会产生 type:AliyunServiceEvent 的事件,这个事件不是被动调用的,而是阿里云平台调用的,此类事件就是 AliyunServiceEvent 事件。目前此类事件次要存在于预付费实例的到期主动开释事件。 配置审计事件:阿里云服务通过配置审计接入作为事件源公布到事件总线 EventBridge 的事件类型。配置审计事件类型有:配置变更历史。配置审计将产生的资源变更事件进行推送。资源不合规事件。当检测到资源不合规时,配置审计会将相干资源不合规的事件进行投递。云监控事件:阿里云服务通过云监控接入作为事件源公布到事件总线EventBridge的事件类型。 采集事件:只有开明相应的阿里云服务,就能够主动接入事件总线 EventBridge,事件总线 EventBridge 即可采集的事件。阿里云官网事件源应用示例能够参考:https://help.aliyun.com/docum...利用 EventBridge 驱动云产品 open API根底概念阿里云官网事件源解决了获取云上事件的问题,使得用户能够感知云上资源的变动。但对于局部用户而言,感知并不是最终目标,他们更冀望的是能够进一步对云上的资源进行操作。为了达到这一目标,用户能够在本人的业务代码中应用云服务的 openAPI 来实现,但当业务所应用云服务数目很多时,开发和后续运维老本将会陡然回升。 ...

October 14, 2022 · 2 min · jiezi

关于阿里云:OpenKruise-v13新增自定义-Pod-Probe-探针能力与大规模集群性能显著提升

作者:赵明山(立衡) 云原生利用自动化治理套件、CNCF Sandbox 我的项目——OpenKruise,近期公布了 v1.3 版本。 OpenKruise 是针对 Kubernetes 的加强能力套件,聚焦于云原生利用的部署、降级、运维、稳定性防护等畛域。 所有的性能都通过 CRD 等规范形式扩大,能够实用于 1.16 以上版本的任意 Kubernetes 集群。单条 helm 命令即可实现 Kruise 的一键部署,无需更多配置。 版本解析在版本 v1.3 中,OpenKruise 提供了新的 CRD 资源 PodProbeMarker,改善了大规模集群的一些性能问题,Advanced DaemonSet 反对镜像预热,以及 CloneSet、WorkloadSpread、Advanced CronJob、SidecarSet 一些新的个性。 新增 CRD 和 Controller:PodProbeMarkerKubernetes 提供了三种默认的 Pod 生命周期治理: Readiness Probe:用来判断业务容器是否曾经筹备好响应用户申请,如果查看失败,会将该 Pod 从 Service Endpoints 中剔除。  Liveness Probe:用来判断容器的衰弱状态,如果查看失败,kubelet 将会重启该容器。  Startup Probe:用来判断容器是否启动实现,如果定义了该 Probe,那么 Readiness Probe 与 Liveness Probe 将会在它胜利之后再执行。 所以 Kubernetes 中提供的 Probe 能力都曾经限定了特定的语义以及相干的行为。除此之外,其实还是存在自定义 Probe 语义以及相干行为的需要,例如: GameServer 定义 Idle Probe 用来判断该 Pod 以后是否存在游戏对局,如果没有,从老本优化的角度,能够将该 Pod 缩容掉。 K8s Operator 定义 main-secondary Probe 来判断以后 Pod 的角色(main or secondary) ,降级的时候,能够优先降级 secondary,进而达到降级过程只有一次选主的行为,升高降级过程中服务抖动工夫。 OpenKruise 提供了自定义 Probe 的能力,并将后果返回到 Pod Status 中,用户能够依据该后果决定后续的行为。 ...

October 12, 2022 · 4 min · jiezi

关于阿里云:antd-Upload组件上传文件到阿里云OSS

前言阿里云oss上传文件蕴含有好多SDK,个别像客户端的百度云盘这样的C端会应用如java相干的SDK,而浏览器端,也就是web端最好应用browser.js相干的SDK,上面就来解说下如何应用,心愿可能帮忙到大家。 配置ram权限获取sts token和跨域反对在应用阿里云OSS上传文件之前,要提前配置好ram相干权限,官网文档有阐明,具体请看应用STS长期拜访凭证拜访OSS,配置时,要留神两点:1、因为会应用上传和下载两种权限,所以应该应用上面权限策略(xxx为你的门路): { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:PutObject", "oss:GetObject" ], "Resource": [ "acs:oss:*:*:xxx", "acs:oss:*:*:xxx/*" ] } ]}配置好之后,咱们再来配置后盾,返回sts token给前端 @Override public AssumeRoleResponse getAcsForUploadFile(String userName) { // STS接入地址,例如sts.cn-hangzhou.aliyuncs.com。 String endpoint = aliyunOssConfig.getRamStsEndpoint(); // 填写步骤1生成的拜访密钥AccessKey ID和AccessKey Secret。 String AccessKeyId = aliyunOssConfig.getRamAccessKeyId(); String accessKeySecret = aliyunOssConfig.getRamAccessKeySecret(); // 填写步骤3获取的角色ARN。 String roleArn = aliyunOssConfig.getRamRoleArn(); // 自定义角色会话名称,用来辨别不同的令牌,例如可填写为SessionTest。 String roleSessionName = userName; // 以下Policy用于限度仅容许应用长期拜访凭证向指标存储空间examplebucket上传文件。 // 长期拜访凭证最初取得的权限是步骤4设置的角色权限和该Policy设置权限的交加,即仅容许将文件上传至指标存储空间examplebucket下的exampledir目录。// String policy = "{" +// " \"Version\": \"1\", " +// " \"Statement\": [" +// " {\n" +// " \"Action\": [" +// " \"oss:PutObject\"" +// " ]," +// " \"Resource\": [" +// " \"acs:oss:*:*:com-seaurl-cdn/space\"," +// " \"acs:oss:*:*:com-seaurl-cdn/space/*\"," +// " ]," +// " \"Effect\": \"Allow\"" +// " }" +// " ]" +// "}"; try { // regionId示意RAM的地区ID。以华东1(杭州)地区为例,regionID填写为cn-hangzhou。也能够保留默认值,默认值为空字符串("")。 String regionId = aliyunOssConfig.getRegion(); // 增加endpoint。实用于Java SDK 3.12.0及以上版本。 DefaultProfile.addEndpoint(regionId, "Sts", endpoint); // 增加endpoint。实用于Java SDK 3.12.0以下版本。 // DefaultProfile.addEndpoint("",regionId, "Sts", endpoint); // 结构default profile。 IClientProfile profile = DefaultProfile.getProfile(regionId, AccessKeyId, accessKeySecret); // 结构client。 DefaultAcsClient client = new DefaultAcsClient(profile); final AssumeRoleRequest request = new AssumeRoleRequest(); // 实用于Java SDK 3.12.0及以上版本。 request.setSysMethod(MethodType.POST); // 实用于Java SDK 3.12.0以下版本。 //request.setMethod(MethodType.POST); request.setRoleArn(roleArn); request.setRoleSessionName(roleSessionName); request.setPolicy(null); // 如果policy为空,则用户将取得该角色下所有权限。 request.setDurationSeconds(3600L); // 设置长期拜访凭证的无效工夫为3600秒。 final AssumeRoleResponse response = client.getAcsResponse(request); System.out.println("Expiration: " + response.getCredentials().getExpiration()); System.out.println("Access Key Id: " + response.getCredentials().getAccessKeyId()); System.out.println("Access Key Secret: " + response.getCredentials().getAccessKeySecret()); System.out.println("Security Token: " + response.getCredentials().getSecurityToken()); System.out.println("RequestId: " + response.getRequestId()); return response; } catch (com.aliyuncs.exceptions.ClientException e) { System.out.println("Failed:"); System.out.println("Error code: " + e.getErrCode()); System.out.println("Error message: " + e.getErrMsg()); System.out.println("RequestId: " + e.getRequestId()); return null; } }2、设置跨域反对如果设置了跨域规定还是不起作用,能够应用上面形式进行批改:设置跨域规定后调用OSS时依然报“No 'Access-Control-Allow-Origin'”的谬误 ...

October 11, 2022 · 4 min · jiezi

关于阿里云:RocketMQ-50无状态代理模式的探索与实践

本文作者:金吉祥, Apache RocketMQ PMC Member,阿里云智能高级技术专家 背景 首先,让咱们来看下是遇到了哪些痛点问题,促使咱们去摸索一种无状态代理的RocketMQ新架构的; RocketMQ 领有一套极简的架构,多语言客户端通过自定义的 Remoting 协定与后端 NameServer 和 Broker建设 TCP 长连贯,而后进行音讯的路由发现以及残缺的音讯收发。这套架构的劣势是:架构极简,客户端 与 Broker 通过 TCP 直连的模式,领有较高的性能以及较低的提早。同时,这套架构采取的是队列模型,非常适合基于队列批量高速拉取音讯的场景。 同时,RocketMQ 在上云过程中面临了各种各样的挑战。 首先,云上用户须要更为丰盛的业务语义音讯,包含事务、定时、程序以及死信等。为了满足用户的业务侧需要,须要在原先架构的客户端侧和 Broker侧别离进行开发,用户必须降级客户端之后能力享受新性能。 其次,上云过程须要面对更为简单的网络环境,不同场景下须要不同类型网络的接入。有些用户为了便捷性,冀望可能交付公网的接入点,让不同地区的消费者、发送者都能连贯到同一个音讯服务;而另一种用户为了安全性,须要内网接入点来隔离一些非法的网络申请;RocketMQ原先的架构在应答多网络类型的接入诉求时,老本是比拟高的,多网络类型的接入必须同时笼罩NameServer和Broker的每一台机器才行。比方咱们须要对外部 Broker进行扩容场景下,如果原先的 Broker 领有多种类型的网络接入诉求,那么新扩容的 Broker也须要额定绑定上多种类型的网络接入点之后能力失常对外交付。 做下总结,面对上云的挑战,此前的架构逐步暴露出了如下诸多痛点: ① 富客户端状态:客户端蕴含了大量企业级个性。用户必须降级客户端能力享受新性能,过程非常漫长。且同样的性能交付必须在多个多语言版本里都进行适配能力满足多语言客户端的接入,工作量微小。 ② 客户端与Broker所有节点的直连模式满足多类型网络接入的老本较高。 ③ 依照队列进行负载平衡和音讯拉取,后端扩缩容时会触发客户端rebalance,导致音讯提早或反复生产,消费者会有显著的感知;此外, 基于队列的模型非常容易导致一个用户饱受困扰的问题:单个故障消费者生产卡住会导致音讯在服务端大量沉积。 RocketMQ5.0无状态代理模式 为了解决上述痛点,RocketMQ 5.0 提出了无状态代理模式。 新架构在原先的客户端和Broker两头插入了代理层。策略上是将客户端的无状态性能尽可能下移到代理层,同时也将 Broker侧的无状态性能尽可能上移到代理层。在这里,咱们将客户端的原有的负载平衡机制、故障隔离、push/pop生产模型下移到了代理层,将 Broker 的访问控制、多协定适配、客户端治理以及NameServer 的音讯路由能力上移到了代理层,最终打造出的代理层的丰盛能力,蕴含访问控制、多协定适配、通用业务能力、治理能力以及可观测性等。 在构建代理层的过程中,咱们必须保持的一个准则就是:客户端和 Broker 往代理层迁徙的能力必须是无状态的,这样能力保障后续代理层是能够随着承接的流量大小进行动静扩缩容的。 在引入无状态代理层后,RocketMQ原先客户端、Broker的直连架构就演变为上图的无状态代理模式架构: 从流量上看,代理层承接了客户端侧所有流量, Broker 和 NameServer 不再间接对用户裸露,用户惟一能看到的组件只有代理层(Proxy)。 这里,Proxy的职责包含以下几个方面: 多协定适配: Proxy具备解析和适配不同协定的能力,蕴含 remoting 、gRPC、HTTP 以及后续可能衍生进去的MQTT和AMQP等协定。Proxy对不同协定进行适配、解析,最终对立翻译成与后端 Broker 和 NameServer 之间的 remoting协定。流量治理和流量散发: Proxy承接了客户端侧所有流量,因而可能很轻松地基于某些规定辨认出以后流量的个性,而后依据肯定的规定将流量散发到后端不同的 Broker集群,甚至进行精准的流量管制、限流等。性能扩大:包含访问控制比方容许哪个用户拜访后端Broker集群中的哪个 Topic、音讯轨迹的对立收集以及整体的可观测性等。Proxy能表演NameServer,交付给客户端查问TopicRoute的能力。Proxy可能无缝兼容用户侧的Pop或者Push生产模式:在Proxy和Broker侧采纳Pop生产模式来防止单个队列被锁导致音讯在服务端沉积的历史遗留问题。同时,咱们也能够看到Proxy具备以下两大个性: ...

October 10, 2022 · 1 min · jiezi

关于阿里云:RocketMQ-Streams在云安全及-IoT-场景下的大规模最佳实践

本文作者:袁小栋,Apache RocketMQ Committer,RocketMQ Streams Cofonder,阿里云平安智能计算引擎负责人 RocketMQ Streams简介 RocketMQ Streams蕴含以下四个局部的定义: (1)Lib包:轻量,启动即可运行。只须要从git下载源码,编译成jar包即可应用。 (2)SQL引擎:兼容了Flink的SQL语法,也兼容了UDF、UETF和UDAF,能够用Flink的语法或将Flink工作间接迁徙并进行应用。 (3) 轻量的边缘计算引擎:RocketMQ Streams和RocketMQ做了深度的集成。因为RocketMQ反对MQTT,所以RocketMQ Streams反对云计算的场景。此外,RocketMQ还反对音讯的存储和转存,因而根本可能满足边缘计算的大部分场景。 (4)SDK:其组件能够独立应用,也能够嵌入到业务里应用。 现有的大数据框架比方Flink、Spark、Storm等都曾经非常成熟,而咱们在此基础上仍然研发RocketMQ Streams这样一个凋谢框架的起因,次要基于以下思考: Flink是一个底座比拟重的大数据组件,集群开销和框架开销占比拟大,运维老本也比拟高,因而适宜做中台,由专门的运维人员部署,造成一个大的中台业务。 然而理论业务中必然存在中台无奈满足的场景,比方某产品依赖大数据的能力,须要将产品输入给用户,在用户的IDC里部署。如果将大数据计算能力也携带一起部署,则会产生三个问题:第一,部署麻烦,因为Flink的部署老本比拟高;第二,运维老本较高;第三,资源问题,Flink的工作须要提前预设资源,不同的用户日志量不一样,预设资源会很大,Flink无奈满足需要。 RocketMQ Streams的定位是适宜随产品输入的场景,不适宜中台。比方平安风控、边缘计算、音讯队列、流计算等,都适宜RocketMQ Streams。因而,RocketMQ Streams和Flink的能力能够互为补充。 RocketMQ Streams具备以下 特点: (1)轻量:RocketMQ Streams是轻量的,1core 1g即可部署;依赖较轻,除了音讯队列没有其余依赖;公布简略,可通过SQL热更新的形式公布。 (2)高扩大:RocketMQ Streams能够扩大Source、Sink、UDF等。 (3)高性能:对过滤做了很多优化,因而在高过滤场景下,性能可晋升3-5倍;RocketMQ Streams也实现了一些工作的轻量化,在SQL同源工作归并的场景下,资源可节俭50%;同时,它基于流计算,能够实现毫秒提早。 (4)多部署模式:jar包即服务;能够基于C/S模式通过提交SQL热公布,也能够通过SDK集成到业务里。 (5)超大维表反对:反对超大的维表,RocketMQ Streams自研的缓存内存占比仅为Java Map的16.7%;同机器上的多个工作能够共享,节俭资源;维表反对千万级别,不须要指定索引,可依据join条件主动推断索引,做到相似map的O(1)匹配。 (6)丰盛性能:反对准确计算一次以及灵便的窗口,比方滚动窗口、滑动窗口、散发窗口,也反对双流Join、维表Join、转化、过滤、大数据开发场景等性能。 上图为RocketMQ Streams反对的一些惯例大数据算子,与其余大数据框架根本类似,能够进行扩大。 RocketMQ Streams架构及实现原理 无论是Spark还是Flink,一个胜利的大数据组件往往都须要由一个很大的团队经验几年的工夫能力打磨实现。实现RocketMQ Streams次要会面临以下挑战: 大数据计算性能多且架构简单,是否可能实现?与Flink等大数据框架的外围差别是什么,是否会做成Flink的裁剪版? 实现一个轻量级、高性能的大数据计算框架,必须要有和Flink不一样的思路。 从业务架构剖析,一个惯例RocketMQ业务的架构基本相同,包含输出、无状态的计算、输入后果等。这种惯例的RocketMQ业务架构有两个长处:首先,比拟轻量,负载平衡、容错都由RocketMQ实现,不须要另外做;其次,部署简略,如果RocketMQ阻塞,间接扩容业务、减少生产能力即可。 然而这种惯例架构很难实现统计、join以及窗口计算等简单计算。要实现此类简单计算,必须实现shuffle,而要实现shuffle则必须实现不同算子之间的通信。算子之间的通信须要有全局的调度和全局的工作治理,而全局的调度和全局的工作治理又须要资源的治理和对工作资源的调配。上述的需要会导致架构变得复杂,使短时间内的实现存在稳定性和复杂性等方面的艰难。 逆向思考能够看到复杂性的本源是shuffle,解决思路是借助音讯队列的直达实现shuffle。以shuffle作为宰割,将简单的拓扑变为简略的拓扑。只需重点冲破整个架构的搭建、窗口计算的补充、性能的晋升这三个难关,即可实现一个既轻量又有高性能的大数据计算性能框架。 大数据架构包含Spark、Flink等,惯例设计思路是计算和集群的治理一体化。集群的治理要解决高可用问题、task调配和调度问题、job和task容错问题,因而大数据架构的实现存在微小挑战: (1)集群的治理需要使架构更重,因为高可用意味着必须引入组件。而且在资源耗费方面,一个集群模式至多须要三个阶段,而集群的开销可能须要 10%的内存。一旦治理构造集群化,工作的调配、资源的设定都须要预设。 (2)相似窗口计算的状态存储要求比拟高。大数据组件的部署对内存、大磁盘有要求,而这种要求无疑会减少架构的复杂性。 (3)通过音讯队列直达来实现shuffle的计划可能会加大RocketMQ的压力,减少部署的复杂性。 以上三点是基于大数据架构来思考实现一个轻量化架构的挑战。换一种思路,聚焦于外围业务,用业务架构的思路去思考。 惯例的大数据业务都会有一个音讯队列,无论音讯队列是不是RocketMQ。而大多数音讯队列都会实现分片的负载平衡和容错的治理,计算和治理的拆散能够借用MQ的集群能力,存储能够采纳RocketMQ的压缩存储来实现。 MQ的最小调度单元是分片,它能够对分片进行负载平衡、容错、调度等操作。只有将工作和分片进行映射,借用MQ的分片治理,即可实现task治理,无需额定实现治理能力。复用RocketMQ的压缩存储,也不须要额定实现存储。此外,用MQ做shuffle会加大MQ的压力。MQ的音讯量减少,使得CPU的使用率也会减少,整体资源使用率也会减少,因而要采纳策略来升高资源耗费。 窗口计算的实时性不高,比方10分钟的窗口只须要每10分钟取出后果。因而能够采纳微批的形式,比方1000条计算一次,将1000条基于shuffle key进行分组,分组当前多条数据合并成一条。RocketMQ基于QPS的压力,数据质变大,QPS降落,CPU的压力反而不大,而后进行压缩,将数据量升高,最终能够缩小shuffle开销。 最终后果如下: (1)采纳shared-nothing架构,没有任何集群和框架的开销。 (2)轻依赖:没有减少任何额定的依赖,尽管有MQ依赖,但MQ是业务必须的,能够间接复用业务的MQ。 (3)计算机不须要任何依赖,部署轻量,1core 1g即可部署。 ...

October 10, 2022 · 1 min · jiezi

关于阿里云:Apache-RocketMQ-50-在Stream场景的存储增强

本文作者:刘振东,Apache RocketMQ PMC Member RocketMQ根底介绍 RocketMQ的诞生是为了解决微服务解耦的问题。微服务解耦指将传统的微小服务拆分为分布式的微服务。 拆分之后,产生了一个新的问题:服务之间须要进行通信能力对外造成残缺的服务。通信形式分为两种:其一为RPC形式,也称为同步通信;其二为异步通信形式,比方RocketMQ。 RocketMQ的宽泛应用证实异步通信形式存在极大劣势。最显著的特点即异步解耦,所谓解耦指一个服务不须要晓得另外一个服务的存在。比方开发A服务,即便其余服务须要A服务的数据,A服务也并不需要晓得它们的存在,不须要依赖其余服务的公布,其余服务的新增也不会对A服务造成影响,从而实现了团队的解耦,指一个微服务由一个特定的团队去实现,而其余团队并不需要晓得该团队的存在,只须要依据当时约定的数据格式,通过RocketMQ实现异步通信。这种组织形式大大促成了生产力的倒退,天然也促使RocketMQ失去广泛应用。 在异步解耦过程中,有的组件生产音讯,有的组件生产音讯。RocketMQ的API model是其异步解耦过程的抽象概念。API model 的两端是RocketMQ畛域最典型的两个概念:其一为producer,指音讯的生产方或者数据生产方;其二为consumer,指音讯的生产方。 除此之外,topic也是API model的一个重要概念。因为异步解耦的须要,一条数据从producer收回到最终被consumer生产的过程并不是间接连贯,两头有一个形象层,这个抽象概念称为topic,相当于一个逻辑地址。topic就像一个仓库,当一条数据被发送到一个topic时,它会负责将音讯暂存,其余组件须要应用时能够拿取。 RocketMQ是一个分布式的消息中间件,因而topic本质上是一个逻辑概念,真正的物理概念是散布在每一个broker上的队列,即message queue。一个topic能够具备很多message queue,能够散布在很多broker上,从而具备了有限扩大的能力,这是topic的一个根本个性。 此外,topic接管音讯还有一个十分重要的个性,即音讯不可变。音讯的不可变个性使其能够被反复地读取。通过引入consumer group 的概念,能够看到不同组的消费者读取音讯的行为相互之间不会造成影响。Topic里的数据不会因为有consumer去读取而隐没,可实现一处发送多处生产的能力。比方在一个组织内,订单团队发了一条音讯到订单topic,该组织内的其余所有团队都能够间接进行读取,且一个团队的读取并不会影响其余团队的读取,实现了读取的互相独立。 MQ的一个重要个性是异步解耦,在互联网的超大流量场景下,异步解耦之后往往会跟随着削峰填谷问题。为了实现削峰填谷,须要长久化的能力。MQ是一个存储引擎,它能够暂存发送者的数据。如果消费者临时无奈解决,数据能够先沉积在MQ ,等到有足够的能力生产时再读取数据。 长久化也更好地反对了异步解耦的个性,即便consumer 全副不在线也并不影响producer的发送。长久化是MQ的一项重要能力。在长久化能力里,为了配合程序的个性,MQ的引擎是一个顺序存储的引擎。 RocketMQ设计时稍微有所不同,它将所有音讯集中式地存储,再依据不同的topic、不同的队列别离建设索引。这种设计是RocketMQ针对微服务场景特地优化的,它具备可能很好地反对同步刷盘的能力,在海量Topic的场景下写入提早仍然可能放弃安稳,这也是RocketMQ可与其余音讯引擎竞争的重要个性。 流场景最后利用于用户行为剖析。用户行为剖析指依据用户的行为日志去猜想用户的爱好。比方举荐零碎的搜寻举荐广告等业务就是流场景最典型的场景。 流场景的第一步为将各个系统里产生的用户行为,包含日志、数据库记录等,集中导入到某些剖析引擎。过程中数据起源多,数据的剖析引擎也很多,包含离线引擎、实时引擎等。 为了升高复杂度,咱们引入了相似MQ的工具,使得数据源和数据使用者不间接交互,而是先将数据发送到MQ里,整个零碎的连贯复杂度会从O(N2)变为O(N),复杂度大大降低。 从用户行为或者流解决的角度剖析MQ表演的角色以及它最终所冀望的IT架构,能够发现其与微服务解耦的架构十分类似,两者之间的所有概念比方consumer、producer、topic、message queue、分片等,都能够一一对应。因而,如果只思考RocketMQ的性能,它自身就能反对流解决场景。 目前有很多公司在应用RocketMQ进行流解决,但RocketMQ在解决流解决问题时依然存在可优化的空间。 Stream场景特征分析 流解决的场景具备三个特点: (1)单条音讯size很小:微服务解耦中,一条音讯个别就是一条订单,蕴含的数据十分多,买家、卖家等各种信息糅杂在一起发给上游,一条音讯通常会达到至多1KB甚至几KB。但在流场景里,数据相似于用户的行为日志,比方某个用户登录、某个用户下线、某个用户浏览某个页面等形容。用户行为的表白很可能只占几个字节到100个字节。 (2)音讯数量很多:用户的浏览行为数量远远大于操作行为数量,整体音讯数量急剧增多。通常在微服务解耦场景中,单机不会超过10万TPS。然而在流场景或者日志收集等场景当中,单机百万TPS很常见。 (3)Catch Up读常态化:在流场景中,常常有工作的replay,即读取历史数据再计算历史后果,也称为cache up read。绝对于微服务解耦场景,catch up read在流场景中会更常见。 总而言之,在整个流场景里,吞吐变得更加重要。 存储加强三步曲——批、分、合 RocketMQ起初为微服务解耦设计时,是面向单条记录,因而吞吐并不高。RocketMQ 5.0针对吞吐引入了一个新个性batch。 在传统RocketMQ里,一条音讯一条记录,一条音讯一条索引。这种传统设计的长处是可能保障提早更加稳固,但也意味着吞吐不高。因为通信链路层的RPC次数太多,对CPU的耗费太大。因而,RocketMQ 5.0针对该问题,推出了batch性能。 Batch的根本逻辑是:在客户端主动组装,将多条音讯依照topic和队列合并,作为一个申请发送到服务端;服务端收到音讯个别不解压,而是间接存储;生产端一次拿下一批,将多个byte的音讯拿到本地,再进行解压。如果每个 batch蕴含10条音讯,TPS能够很轻松地回升10倍。本来一条音讯要发一次近程申请,而退出batch后10条音讯发一次近程申请即可。 因为服务端不进行解压,所以对服务端的CPU减少十分小,将解压和合并的性能下放到各个客户端,从而使服务端资源不容易造成瓶颈,TPS能够很轻松地失去进步。 流场景中另一个典型问题是扩容和数据重平衡。在微服务场景中,流量不大的状况下,扩容问题并不显著。然而在流场景中,单机流量原本就高,一旦扩容,扩容和数据重平衡问题就难以疏忽。在扩容过程中,如果原先是一个node,须要扩容变成两个node,则会产生重平衡的问题。 为了解决该问题,通常有两个方法: (1)间接减少队列的数量,即“Add a Shard”。这种办法会产生一个问题,队列的数量发生变化导致整个数据的散布也发生变化。比方做word count单词个数计算,本来A单词位于队列0,队列数发生变化之后,A单词位于队列2,计算的后果会呈现问题。因而如果减少队列个数,流计算工作须要从新运行一遍来修改数据。另一问题为分片数,如果每动一次就减少分片数,则会导致分片数量收缩而且很难缩小,这也会产生问题。 (2)不减少队列,然而复制队列。比方本来队列1在node 0上,减少一个node 1,将队列1从node 0转移到 node 1,过程中队列数量没有发生变化,数据分布也没发生变化,因而客户端、发送端、生产端等流接管工作都不须要重跑。此办法对用户很敌对,但也会带来一个新的问题:复制过程会导致额定带宽耗费。在流场景中须要扩容的实质起因是机器的流量过高,然而为了将流量引走还须要新增一个复制工作,在还未实现引流之前就给零碎带来额定的性能耗费,可能会导致扩容的过程间接产生网络风暴,零碎解体。另外,复制分区时,因为流计算工作的每个分片数据量很大,复制过程耗时会很长。 因而采纳复制形式来解决大数据存储引擎的扩容其实很艰难,可用性与可靠性难以衡量。 ...

October 10, 2022 · 1 min · jiezi

关于阿里云:快手-RocketMQ-高性能实践

本文作者:黄理,快手在线音讯零碎负责人。 快手对于 RocketMQ 社区版本的优化个别为在其外层进行能力的构建,而不是对其外部进行大改变,因为外部大改不利于前期的版本升级。即便对外部 RocketMQ 进行了批改,咱们也会尽量通过 PR 将新个性回馈到社区。 快手会定期对 RocketMQ 进行降级。2022年春节,咱们大胆应用了尚未正式公布的 RocketMQ 4.9.3-SNAPSHOT 版本,安稳度过了快手一年中最重要的流动,这也证实了社区版本 RocketMQ 的兼容性和稳定性。 利用篇 RocketMQ 进入快手两年内,从 0 倒退到每天数千亿音讯级别。快手是 RocketMQ 社区版本的事务音讯最早的大规模用户,目前每天有百亿以上的事务音讯和定时音讯,实现了跨 IDC的主动负载平衡以及容灾,实现了多级泳道(我的项目)互不烦扰,多个我的项目可同时开发,以及可回落。 RocketMQ的落地形式个别为两种。 形式一:在开源软件的根底上进行批改,可能疾速轻松地实现须要的性能,但后续降级存在很大不便。 形式二:对RocketMQ的 client 和 server 只进行大量批改。如果 server 存在能力缺失,会开发辅助的 server 或以 proxy 进行补充。咱们在 client 之上包装了一层 MQ SDK,对用户屏蔽了具体实现。快手也是基于此形式对RocketMQ进行了落地。 MQ SDK如上图,分为三层:最上层为 API ,用户与该层打交道;两头为核心层,可能实现各种通用的能力;最底层负责与具体的 MQ 交互,以后只有 RocketMQ 的实现,但将来兴许会有其余消息中间件的实现。 中间层实现了热变更的能力。用户配置不写在代码里,而是在平台进行指定,指定当前热失效,SDK 会间接加载新的配置并主动 reload 用户程序,无需重启。 RocketMQ 会调配 Logic topic,业务代码无需关怀集群在哪,无需关怀以后环境,也无需关怀数据标记比方压测、泳道,只需应用咱们提供的非常简单的 API ,简单的过程全副在核心层进行封装,对业务用户屏蔽。 上图为跨机房负载平衡的实现流程。 所有Logic topic 都会映射到上图两头的两个机房,每个机房部署一个集群。RocketMQ 集群能够有多个 broker ,生产者和消费者对 broker 有故障感知和转移能力,可能通过 NameServer 发现哪个 broker 故障以防止与其进行连贯。为了实现更好的管制,咱们在集群之上又封装了一层负载平衡,并在 client 端实现。 ...

October 10, 2022 · 2 min · jiezi

关于阿里云:RocketMQ-DLedger架构在小米的大规模实践

本文作者:邓志文,小米研发工程师,Apache RocketMQ Committer 小米消息中间件选型 小米外部的业务场景可分为两类,别离是数据业务和在线业务。 其中数据业务包含日志流的计算、剖析场景以及数据集成场景,个别应用外部自研的音讯队列Talos。在线业务包含事件告诉、订单以及简单的异步调用场景,比方延时音讯、重试投递、死信等,个别应用RocketMQ。 DLedger架构是RocketMQ 4.5 推出的全新架构,稳定性有保障。小米的在线外围业务规模微小,须要很高的可靠性保障,因而咱们最终抉择了DLedger架构。小米心愿用数据谈话,踊跃地拥抱社区倒退,并且咱们认为大规模落地DLedger既是挑战,也是机会。 Dledger内核与优化 DLedger架构与主从架构的次要区别在于 broker。咱们的理论部署中,单个Broker组部署3台机器(倡议部署奇数台),主节点独自部署,从节点与 NameServer 混合部署,通过 raid 形式将多块磁盘组成单块大盘。 DLedger架构有两个外围模块: ①正本同步:主节点向从节点通过异步发送 push 申请。 ②主动选主:主节点定时向从节点发送心跳,若从节点在指定工夫内没有收到心跳则触发从新选主。 正本同步的过程如上图所示:同步时 leader 节点会向从节点发送 push 申请,要求同步数据。 RocketMQ4.8 社区版本对DLedger做了以下两个重要优化: 异步化 pipeline 模式:大幅晋升了同步双写的性能。批量日志复制:反对批量同步。然而批量同步会存在兼容性问题,从单条降级到批量的状况下会呈现不兼容。 小米外部针对批量同步进行了优化,做了兼容性革新:主从节点BatchPush兼容性优化,防止集群降级过程中集群不可用。具体优化内容为:BatchPush兼容性优化,反对了BatchPush滚动降级;以master节点配置为主,slave节点同时兼容batch/single申请。 咱们对 batch 同步做了性能测试,测试环境如上图右侧所示。测试后果为,开启Batch同步前后,极限值从5.5w/s进步至8w/s,10ms内写入极限从4.5w/s晋升至7w/s。 DLedger选举流程如上图所示。通过配置preferredLeaderlds能够指定优先选举某些节点为leader。由Candidate发动投票,获取半数以上投票则成为主节点,否则从新发动投票。 故障状况下,故障复原过程如上图所示。 集群必须保障一半以上节点可用。如果从节点呈现故障,则业务无感知;如果主节点故障,则从新触发选举。主节点一旦产生故障,则会立刻进行与从节点的心跳, 从节点会变为Candidate状态,发动新一轮投票选举,从残余存活的节点中选出新的 master 节点。 假如新的主节点并不是PreferredLeader,则会检测Leader与PreferredLeader之间的水位差距。如果两者之间正本写入差距小于1000条,则会发动LeaderShipTransfer,将leader的地位转移给PreferredLeader,此时Leader节点不再接收数据写入。 Follower节点接管到LeaderShipTransfer申请后,将节点状态设置为Candidate,不再接管正本同步。 当PreferredLeader被设置为Candidate时,节点正本同步进度将落后于Leader节点,会导致Candidate发动投票失败。起因为正本同步落后,同时该节点term值大于leader节点,无奈从新置为Follower,节点始终处于Candidate状态。 咱们对此进行了优化,在PreferredLeader节点接管到LeaderShipTransfer申请后,会跟上 leader 节点正本同步的进度,否则超时失败,防止了被配置为 PreferredLeader的从节点数据不同步的问题。 DLedger架构实践经验1.业务影响力 从2020年8月RocketMQ正式立项到当初,音讯规模已冲破到 260 亿条/天,预计2022-Q2可达 500 亿/天。 截至目前,小米外部已将多种业务自保护中间件比方Notify、RabbitMQ等进行了替换。 2.性能优化 小米外部的很多业务场景都须要延时音讯,然而,RocketMQ的延时音讯与音讯重试绑定,一旦客户端呈现大量生产失败,会导致延时性能受到影响。 小米针对上述痛点进行了优化。 此前为一个线程解决18个level,level之间相互影响。因而,咱们将Timer替换为ScheduledExecutorService,每一个线程负责一个level,使得level 之间不会相互影响。上图右下角表格显示,革新后的TPS仍然较差,远不能满足业务团队的需要。 ...

October 10, 2022 · 1 min · jiezi

关于阿里云:2022云栖大会|EMAS专项嘉宾领票通道现已开启

2022云栖大会将于11月3日-11月5日举办,往年云栖大会以“计算·进化·将来”为主题,在3天内设置两场主论坛,70多场数字技术、产业和生态分论坛,以及4万平米智能科技全景展览。 敬爱的开发者敌人们,现2022年云栖大会已进入倒计时,大家期待已久的低代码开发平台也将亮相此次大会。为答谢敌人们对EMAS的反对,本次大会咱们特地为您开明了专项嘉宾领票通道, 您可间接点击该链接: 阿里云E2企业云服务-EMAS特邀渠道实现线上注册申领;抉择11.5议程,期待您的大驾光临! 如有任何疑难,欢迎您退出EMAS开发者钉钉交换群35248489

October 10, 2022 · 1 min · jiezi

关于阿里云:活动报名共建云原生开源生态-PolarDB-×-Curve-线下-Meetup-来袭杭州站

随着企业数字化的转型,云原生已成为重要的技术趋势,带来了一场重大的IT技术改革。当然,云原生技术的倒退离不开开源社区的参加和共建,通过聚合社区力量,凋敝云原生技术生态,服务宽广开发者,推动技术改革。那么当云原生数据库 PolarDB 遇上 云原生分布式存储 Curve,会迸发出怎么的火花呢? 10月15日,PolarDB 和 Curve 两大开源社区将于杭州联结举办线下 Meetup,流动邀请到了来自阿里云、网易数帆、乘数科技的资深技术专家,为大家带来 PolarDB-PG、PolarDB-X 及 Curve 三大开源我的项目的最佳实际及生态单干案例。 工夫 :2022 年 10 月 15 日,13:30 地点 :杭州市滨江区网易大厦二期1号楼8楼_培训教室 报名地址:https://www.slidestalk.com/m/... 流动详情见海报:

October 9, 2022 · 1 min · jiezi

关于阿里云:说说-Spring-定时任务如何大规模企业级运用

作者: 姚辉(千习) Spring 定时工作简介定时工作是业务利用开发中十分普遍存在的场景(如:每分钟扫描超时领取的订单,每小时清理一次数据库历史数据,每天统计前一天的数据并生成报表等等),解决方案很多,Spring 框架提供了一种通过注解来配置定时工作的解决方案,接入十分的简略,仅需如下两步: 在启动类上增加注解@EnableScheduling@SpringBootApplication@EnableScheduling // 增加定时工作启动注解public class SpringSchedulerApplication { public static void main(String[] args) { SpringApplication.run(SpringSchedulerApplication.class, args); }}开发定时工作 Bean 并配置相应的定时注解@Scheduled@Componentpublic class SpringScheduledProcessor { /** * 通过Cron表达式指定频率或指定工夫 */ @Scheduled(cron = "0/5 * * * * ?") public void doSomethingByCron() { System.out.println("do something"); } /** * 固定执行间隔时间 */ @Scheduled(fixedDelay = 2000) public void doSomethingByFixedDelay() { System.out.println("do something"); } /** * 固定执行触发频率 */ @Scheduled(fixedRate = 2000) public void doSomethingByFixedRate() { System.out.println("do something"); } }Spring 定时工作原理运行原理Spring 定时工作外围逻辑次要在 spring-context 中的 scheduling 包中,其次要构造包含: ...

October 9, 2022 · 2 min · jiezi

关于阿里云:Dubbo-Mesh-总体技术架构方案

作者: 江河清 Dubbo Mesh 作为 Dubbo 全面拥抱云原生的又一个里程碑我的项目,将为 Dubbo 用户提供平滑降级到 Service Mesh 架构的解决方案,同时持续基于 Dubbo 弱小可扩展性底座提供生产级服务治理、服务管控等能力。 本文将对 Dubbo Mesh 整体设计准则、部署架构与插件管控机制的布局做整体阐明。 设计准则Dubbo Mesh 以插件化的形式接入各生态,除了局部维持根底运行的架构外绝大部分的组件反对热插拔,反对依据不同部署场景动静抉择部署形式。 插件化能力的设计连续了 Dubbo 一贯的高可扩展性的特色,基于这样的一个根底能力,开发者能够依据本人所需的实在部署场景进行定制,如接入外部的自建 DevOps 平台等。通过插件化的能力,也使得 Dubbo Mesh 在将来能更容易适配新的根底组件;通过热插拔的设计,绝大部分的新性能将能在生产环境平滑落地,很大水平上隔离因为中间件变更给业务带来的变更合作影响。 部署架构从架构与部署状态上来说 Dubbo Mesh 明确的辨别为管制面与数据面。 其中管制面作为服务治理外围,具备形象的、对立的模型,负责与底层基础设施的对接,提供从启动配置、服务发现、流量治理到认证鉴权等的对立治理入口。 数据面则专一在业务编程模型与通信能力上,基于多种部署状态(SDK、Sidecar、Agent)接入服务治理能力,基于动静部署能力从业务代码中解耦进去。 从整体组件角色来说,Dubbo Mesh 中有两种角色的组件:根底组件、扩展性组件。 根底组件由 Dubbo 原生提供,用于构建整个体系,如上图中的 Admin 用户管控组件、Dynamic Binary Push 动静散发组件(下文中会开展阐明)、Proxy 数据代理组件等。 扩展性组件由 Dubbo 和其余生态共建提供,用于提供特定化能力,如上图中性能的 Test 服务测试组件、Config 配置动静批改组件、Skywalking 全链路追踪组件等。各扩展性组件均设计为可热插,能够可选的动静开关局部能力。 数据流上图中除了部署架构的形容之外,还标识了在 Dubbo Mesh 这样一个部署架构下的数据流向。 Dubbo Mesh 提供了两种通信模式,别离是 Proxy 模式与直连模式。在根底组件中的 Proxy 提供达到数据面的通路,一个 Any 数据流,不绑定任何下层语义。扩展性组件可选通过 Proxy 进行互通,或者间接和数据面进行互通。 ...

October 8, 2022 · 1 min · jiezi

关于阿里云:运维成本降低-50丽迅物流是如何应对大规模容器镜像管理挑战的

作者:瑶靖、阳磊 2022 年,越来越多的行业开始踊跃拥抱云原生,以疾速响应市场需求,实现降本增效。 丽迅物流是百丽旗下专一于时尚产业、为企业提供业余物流及供应链解决方案的服务商。其产品服务次要包含城市落地配、仓配一体、支线运输及定制化解决方案。通过自研智能化物流治理平台,全面助力企业单干集约化倒退。目前,丽迅物流已在全国领有 70+ 全渠道实体云仓、5 大核心电商仓,总面积达 100 万+平方米,服务笼罩 300+城市、3000+商圈,为多家出名时尚品牌及其品牌门店提供全渠道配送服务。 为了升高业务各环节中的运维老本、进步物流服务效率,2021 年 8 月起,丽迅物流开始了在阿里云上实现本身从 IDC 自建到全面云原生化的过程。容器镜像作为承载云原生利用的重要载体,是云原生利用生命周期的源头。为了应答规模化场景下的云原生利用交付挑战,丽迅物流将外围容器镜像资产均迁徙至阿里云容器镜像仓库企业版(简称 ACR EE) ,并深度应用 ACR EE 和阿里云容器服务 ACK 作为容器制品治理及调度平台。 通过本文,丽迅物流运维总负责人阳磊分享了对于基于 ACR EE 减速企业业务云原生化过程的实践经验。 云原生规模化场景下的容器镜像治理挑战在技术架构转型及业务疾速倒退的背景下,丽迅物流原有在 IDC 自建 Harbor 托管容器镜像制品计划的问题逐步浮现,阳磊介绍:“开源版 Harbor 在初期还能满足根本需要,然而随着企业业务一直迭代倒退,在大规模散发场景下,运维 Harbor 会非常复杂,不仅要思考到高可用、网络带宽、安全性等等运维须要解决的问题,一些镜像版本平安治理及部署还要波及二次开发需要。在市场环境和消费者需要疾速变动的现状下,咱们更心愿将精力专一于外围业务的研发。” 丽迅外围容器镜像从 Harbor 迁徙至 ACR EE 实际ACR EE 可提供企业级容器镜像、Helm Chart 平安托管能力,领有企业级平安独享个性,具备千节点镜像散发、寰球多地区同步能力;提供云原生利用交付链,实现一次利用变更,全球化多场景主动交付,尤其实用于平安需要高、业务多地区部署、领有大规模集群节点的企业级客户应用。 阿里云容器镜像服务 ACR 架构图 为了帮忙企业疾速满足理论生产环境下对云原生制品的治理需要,ACR EE 提供了镜像极速导入和自定义域名等性能,可在短时间内迁徙自建 Harbor 至容器镜像服务企业版。阳磊从实际的角度分享了迁徙至 ACR EE 的过程: “为了降本增效,咱们间接抉择了 ACR EE 服务,整个从 Harbor 迁徙 ACR EE 的过程是自动化的,能够兼容之前的域名应用。迁徙后,咱们的镜像版本治理也更加便捷,不须要再放心镜像的散发、拉取性能问题。” ...

September 30, 2022 · 1 min · jiezi

关于阿里云:资源画像看得见的容器资源优化助手

作者:张佐玮(佑祎) 背景介绍K8s 为集群资源提供了良好的形象,用户能够间接依据利用的资源需要填写容器资源规格,这种形式无效晋升了集群资源的管理效率。然而,始终以来,容器资源规格填写的难题始终都让利用管理员们无奈解脱,过高的资源规格会导致资源节约,而过低的规格又会为利用带来潜在的稳定性危险。 往期文章《资源画像,让容器资源规格的填写不再纠结》中咱们介绍了阿里云容器服务 Kubernetes 版(Alibaba Cloud Container Service for Kubernetes,以下简称 ACK)提供的资源规格智能举荐性能,用户能够通过 ack-slo-manager 组件提供的 CRD 对象查问到容器的资源推荐值。 日前,ACK 控制台在此基础上正式公布了资源画像性能,为用户提供了可视化的交互页面,便于管理员疾速剖析利用资源规格的合理性,并进行资源规格配置的变更。该性能目前曾经正式凋谢公测,ACK 用户能够间接申请白名单试用。 容器资源配置K8s 应用了 request 和 limit 来形容容器对 CPU 和内存资源的需要,reqeust 影响 Pod 的节点调配后果,调度器会应用节点的“资源容量”(capacity)进行匹配,确保容量短缺,而 limit 决定了容器在节点运行时能够应用的资源下限,当容器尝试超用资源时会被束缚(throttled)甚至终止(kill)。 始终以来,容器资源规格 request 和 limit 的填写都让 K8s 的用户饱受困扰,一方面,利用管理员须要预留相当数量的资源冗余来应答上下游链路的负载稳定,保障线上利用的稳定性;而另一方面的事实是,在大部分在线服务的生产环境中,集群的资源利用率处于相当低的程度,存在大量的资源节约。 利用的资源画像数据能够提供无效帮忙,所谓资源画像,指的是利用 CPU、内存等资源的应用特色,如果咱们可能将资源应用的历史数据收集起来,并进行汇总剖析,在设置容器资源规格时就能够做到对症下药。ACK 控制台资源画像性能的公布,就旨在解决这一难题,帮忙运维人员优化容器资源规格,晋升管理效率,保障利用稳固运行的同时,充沛晋升集群资源使用率。 资源画像ACK 资源画像会继续收集容器的资源用量进行汇总剖析,为每个容器生成资源规格的推荐值,控制台会针对工作负载原始的资源申请量(request)给出调整倡议,包含“升配”、“降配”、以及”放弃“三种,若工作负载有多个容器,控制台会优先应用偏差幅度最大的容器作为举荐。利用管理员能够通过该页面间接筛选出须要调整的利用,并在详情页进行批改。 策略管理资源画像反对按需开启的的管理策略,能够指定命名空间和利用类型范畴。策略同时还反对为利用配置资源耗费冗余,所谓资源耗费冗余,对应的场景是管理员在评估利用业务容量时(例如 QPS),通常不会将物理资源应用到 100%。起因既包含超线程等物理资源的局限性,也包含利用本身须要思考留有余量以应答顶峰时段的负载申请。当资源画像的推荐值与原始资源申请的差距超过平安冗余时,才会提醒降配倡议。 资源用量剖析在资源画像控制台主页,点击工作负载名称,能够进入对应的画像详情页面,在画像详情页能够对利用的资源耗费数据做进一步的详细分析。详情页的资源曲线别离展现了各容器的资源限度值(limit)、资源申请值(request)、资源画像性能提供的推荐值(recommend),以及利用各正本资源使用量的平均值和最大值(average/max usage)。 通过利用的画像详情页,用户能够对资源应用状况进行直观的剖析,评估容器以后的资源规格(request/limit)是否正当。 资源配置变更画像详情页面底部还同时提供了资源变配的性能,变配窗口内默认展现了各容器以后的所需资源(request)和限度资源(limit),以及资源画像为容器生成的推荐值,推荐值来自于对容器资源耗费历史数据的聚合剖析,确保推荐值能够尽量满足容器资源耗费的需要。这里同时还展现了策略管理中为利用配置的冗余系数,不便利用管理员在批改资源规格配置时参考。 填写实现后点击确定按钮,将执行资源规格更新操作并主动跳转到工作负载详情页。资源规格更新后,控制器会对工作负载进行滚动更新并从新创立 Pod。 应用倡议资源冗余配置资源画像的变配倡议是比拟推荐值与以后利用资源申请量(request)失去的,当推荐值高于 request 时,阐明容器理论的资源用量曾经超过了申请量,应进步申请规格;而当推荐值低于 request 时,阐明容器理论的资源用量低于申请量,但这并不代表着肯定要升高申请规格。 起因是利用管理员在填写资源申请时,通常都会在原始的资源需要根底上额定减少肯定水平的资源冗余,用于应答流量顶峰,或是做例如“同城多活”这类高可用场景的切换。此外,局部利用还对资源较为敏感,无奈在宿主机负载较高时安稳运行,这也须要在根底值上调高规格。 因而资源画像的变配倡议会参考用户在策略管理中配置的冗余系数,只有当推荐值显著低于申请量时才会提醒“降配”操作。冗余系数只影响资源变配的提醒,不影响推荐值算法的计算过程,起因是资源画像提供的推荐值是对利用以后资源需要状况的总结,管理员在应用时应联合利用本身个性,在推荐值的根底之上进行加工。 利用实用类型目前资源画像的推荐值会优先思考满足容器的资源应用,确保能够笼罩绝大部分历史数据样本,因此更实用于在线类型的利用,因为它们通常以服务的模式部署,对响应工夫(RT)会有严格的束缚,要求资源必须及时失去满足。 与“在线”绝对应的是“离线”利用,通常为批处理类型的工作,其更关注数据处理的整体吞吐量,能够承受肯定水平的资源竞争,以进步集群资源的整体利用率,因而以后资源画像的推荐值对于离线利用来说会显得有些激进。此外,集群内还会有一些要害的零碎组件,通常以“主备”的模式部署多个正本,处于“备份”角色的正本长期处于资源闲置状态。这些“备份”角色的资源用量样本数据会对画像算法产生肯定水平的烦扰,影响推荐值的准确性。 针对这些场景,管理员应基于利用特点对资源画像的推荐值二次加工后再应用,后续咱们也将凋谢更多能力,提供更加精密的资源画像策略管理。 数据累积时长资源画像推荐值的算法波及一套多维度的数据模型,外围关注以下几个方面: ...

September 30, 2022 · 1 min · jiezi

关于阿里云:阿里云云通信作为-CPaaS-全球代表服务商上榜-Gartner-报告

近日,国内出名钻研机构Gartner公布2022年《CPaaS市场指南(Market Guide for Communications Platform as a Service, 2022)》钻研报告,阿里巴巴作为CPaaS寰球代表服务商,上榜该报告。 此次,Gartner从北美、欧洲、亚太等寰球范畴,精益评估、重点举荐20家极具实力的企业列入CPaaS寰球代表服务商,阿里巴巴以CPaaS畛域的卓越技术实力和商业能力趁势入榜。 近几年来,随着信息通信的高能量倒退,数字化策略推动数字化体验,在寰球范畴内,逐渐将CPaaS概念推入企业IT策略的眼帘核心。 CPaaS(通信平台即服务),是一个基于云计算的通信平台,提供集成开发环境(IDE)和应用程序编程接口(API)、软件开发工具包(SDK)等,从而简化了向业务流程中增加通信性能的过程。 从更宽泛的市场视角,Gartner点题了CPaaS的价值,其不仅简化了对一系列通信工具的拜访(跨语音、短信、音讯和视频)、构建了通信解决方案、改善了业务工作流程,更晋升了客户体验,也助力进步新产品与服务的上市速度。 CPaaS,云化之上的触达与连贯如果拉近阿里云对CPaaS的着力视角,其本质是触达和连贯。 阿里云云通信是以PaaS或SaaS云化,提供运营商网络连接能力、互联网通信能力、通信类利用能力,从而为企业客户提供快捷、高效的用户“触达”能力,并通过通信数据的积攒和积淀,更加高效的“连贯”用户。 深刻来看,阿里云CPaaS平台具备夯实的技术底座、丰盛的产品矩阵,和宽泛的利用场景。 阿里云CPaaS产品大图 凭借NLP、语音、图像及视频等弱小的AI技术,阿里云CPaaS积淀了对话能力、对话剖析与开掘能力、多渠道的通信能力、调度决策能力4大外围中台能力。 从技术底座,衍生出全面的通信产品矩阵:短信、语音、视频、物联网连贯、消息传递(包含WhatsApp、钉钉)、SDK、IDE、AI性能(包含机器人和NLP)和全渠道编排提供了丰盛的API接口。 由此,实在延长到场景和行业,阿里云CPaaS广泛应用于智能联系核心、电子商务、客户获取、智能营销、近程物流等具化场景,以及批发、政府、教育、运输、金融服务、公共事业等垂直行业。 站在商业视角,阿里云云通信聚焦两点: 第一,CPaaS能力蕴含很多档次,阿里云云通信并非简略地将企业的通信能力云化,而更多是通过联合AI、数据能力,实现对客户的精准触达,让云通信领有最全面的综合产品能力。 第二,随着各国隐衷爱护法案的落地,将来针对客户的信息触达,云通信的多渠道模式产品将是更好的商业抉择,同时,云通信的规模能力和高可信性也是最佳支撑力。 CPaaS,更好的数字化体验在某种意义上,CPaaS是一项翻新策略,带来新的可能。 Gartner在报告中倡议,须要激发激励企业开发人员,联合更丰盛的通信模式以扩大CPaaS策略,在更简单和更垂直的应用领域采纳更丰盛和先进的CPaaS能力。 从寰球的利用场域,曾经能感知到CPaaS的价值展露。如,消息传递应⽤程序,通过将 AI、机器⼈和 NLP 等机制以及编排性能,整合到单个连贯通道中,以实现更丰盛的对话;如,反对VR/AR利用,让虚拟世界诞生新的现象;如,音频与视频的实时通信,进一步带来全新交互状态。 所有都忠于更好的数字化体验。 Gartner预计,到2026年,寰球90%的企业将利用CPaaS作为策略IT技能来放弃数字化能力,这一比例远大于2022年的30%。 现在,寰球范畴内,在CPaaS重要性被一直降级的背景之下,报告指出,“阿里巴巴、亚马逊和微软这类超大规模企业在CPaaS畛域中变得越来越沉闷。” 阿里云CPaaS平台,基于阿里巴巴团体的生态规模、业务范围以及在云计算、批发、领取、通信和物流方面的深厚教训,是一个具备寰球通信覆盖面和丰盛利用、高扩大、高可用的CPaaS平台,在中国和东南亚曾经开展重要业务和领有大量客户。 Gartner此次提到,“CPaaS 是⼀个扩散的市场,有许多合并、收买和合作伙伴关系,以扩⼤影响范畴、填补技术空⽩,及加强进⼊市场的能力。微软、亚⻢逊和阿里巴巴等超⼤规模企业正在积极参与CPaaS,利⽤它们现有的能力(数据存储/解决能力/软件即服务 [SaaS] 通信),更容易助力扩大客⼾应⽤的部署抉择。” 阿里云立足CPaaS,将来在扩充Viber、LINE和RCS的全渠道通信之外,还将一直扩建合作伙伴生态体系,减少更多渠道合作伙伴和独立软件开发商(ISVs),以丰盛的产品矩阵和技术劣势,助力客户实现业务价值的提增。置信将来,在传统的物理与数字渠道之上,高阶的CPaaS倒退还将成长出更多可能。

September 29, 2022 · 1 min · jiezi

关于阿里云:基于-RocketMQ-的-MQTT-服务架构在小米的实践

本文作者:房成进 - 小米高级研发工程师 小米 MQTT利用场景 小米之家门店的领取告诉是小米MQTT落地的重要场景之一,流程如上图所示。店员通过终端发送下单申请到后端服务,后端在接管到下单申请后,调用领取服务,期待用户付款。门店终端如何晓得本次付款是否胜利呢? 咱们采纳MQTT协定来实现领取音讯的告诉。领取服务将本次订单的领取后果公布到MQTT 服务的一个 Topic中,门店终端与服务放弃长连贯,订阅 Topic来实时获取领取后果,从而进行下一步操作如打印发票等。得益于 TCP长连贯和MQTT协定的轻量化,门店终端零碎的领取响应能力从 200 毫秒降落至 10 毫秒内,MQTT服务公布端到订阅端的均匀延时为2.6ms。 手机智能制作工厂是小米MQTT落地的另一个外围场景。MQTT次要利用于设施状态数据采集以及设施控制指令下发。上图右侧为小米智能制作工厂架构图。 上行链路流程为:手机生产线上的泛滥工业设施会将操作日志、设施参数、环境参数等通过工业管制层公布到MQTT服务,MQTT服务的存储层通过数据集成工作将数据打入大数据系统,进行数据的剖析、建模和解决等,最初实现最上层利用工业 BI 和数字孪生的需要。 上行链路流程为:工厂的工作人员通过云端服务将控制指令下发到MQTT集群,生产线上的设施与MQTT服务集群放弃长连贯,以承受来自云端的控制指令并执行相应动作。这两个链路对时效性要求很高。目前, MQTT 服务能保障上行和上行链路延时在 20ms以内,服务可用性为99.95%。 小米 MQTT服务架构演进过程 晚期,小米次要基于RocketMQ 社区在 18 年开源的RocketMQ-IoT-Bridge来构建本人的 MQTT 服务。RocketMQ-IoT-Bridge为单机架构,一是不反对程度扩大,总连接数存在瓶颈,天然无奈保障高可用。二是数据无奈长久化,只提供内存存储,一旦重启服务,必然导致音讯失落。三是只反对MQTT 协定QoS0,音讯存在失落危险,无奈满足小米的业务要求。如图所示,服务整体为单机服务架构,公布端和订阅端连贯到同一个过程。 小米基于单机的架构进行了一系列的拓展。高可用方面,从单机变为分布式的可扩大架构,连接数从单机的 5 万变为可横向扩大的模式;可靠性方面,在QoS0 的根底上实现了MQTT协定规定的 QoS 1 和 QoS 2;生产模式方面,除了默认的播送生产,反对了MQTT5.0新增的共享生产模式,同时还反对了离线音讯。 上图右侧是小米基于 RocketMQ 的分布式 MQTT 架构图。最上层为客户端,发布者和订阅者连贯到负载均衡器,这里应用四层的负载平衡LVS, 次要目标是将申请均摊到各个MQTT Bridge。MQTT Bridge 即MQTT的服务节点,负责连贯、订阅、解析协定和音讯转发。RocketMQ 作为存储层,负责长久化音讯。相似于存算拆散设计,MQTT Bridge 和 RocketMQ 均可独立程度扩大。 得益于 RocketMQ 从 2020 年开始在小米大规模落地,咱们采纳RocketMQ来长久化 MQTT 音讯。整个公布订阅的过程演变成音讯从 Bridge发送到RocketMQ,再从RocketMQ生产数据而后推送到订阅端。每一个MQTT Bridge 内嵌 RocketMQ SDK ,充当 RocketMQ的客户端,既作为生产者也作为消费者。 ...

September 27, 2022 · 2 min · jiezi

关于阿里云:开发者测评相比-Harbor我选择-ACR-的三点原因

2022 年 8 月起,阿里云容器镜像服务 ACR 开发者评测流动继续炽热发展。截至目前,本次流动已累计吸引 600 余位开发者参加,产生了 30 位公布优质测评内容的开发者并取得相应处分。 云原生生态的凋敝大大丰盛了云原生利用制品的多样性,容器镜像作为承载云原生利用的重要载体,是云原生利用生命周期的源头,因而,在企业架构降级、开发者技能集体晋升中施展了越来越重要的价值。 阿里云  ACR(Alibaba Cloud Container Registry)是面向容器镜像、Helm Chart 等合乎 OCI 规范的云原生制品平安托管及高效散发平台。产品分为个人版和企业版,个人版面向容器开发者限额收费应用,企业版面向对平安及性能要求较高的企业客户。 本次流动是为了帮忙更多开发者理解容器镜像服务 ACR 的性能、应用形式和产品体验,从而在不同利用场景下,更好地进行容器镜像治理计划的选型。不少开发者在流动中发表了他们在这个过程中的思考,以及抉择阿里云容器镜像服务 ACR 的起因。 相比 Harbor,我抉择阿里云 ACR 的三点起因测评员 ID:197*870在很多人看来,Harbor 简直曾经是事实上的镜像仓库自建规范。然而在其能力一直倒退的同时,相干组件的复杂度也给相干开发运维人员的能力带来微小的挑战。 自己曾参加过 Harbor 的社区个性开发,对 Harbor 的生产环境利用也有较多实战经验。然而在跳槽到以后公司(一家中小型互联网企业)后,最终还是抉择了阿里云 ACR 仓库。次要基于以下几点: 1. 跨境镜像同步能力,这点是重中之重。ACR 基于阿里云的全球化网络能力,非常符合咱们公司的全球化部署利用场景。相比自建的跨境 Harbor 仓库,须要额定占用一些专线带宽。 2. 节省成本。尽管 Harbor 是开源的,乍一看必定比云厂商的付费镜像服务划算,然而实际上并不一定。Harbor 的部署波及到泛滥组件,在高可用性、可靠性上须要投入肯定的人力老本;同时公司原计划中境外用于部署 Harbor 的机器也都是云上虚拟机,加上网络、存储等费用并联合人力老本,Harbor 实际上并无太多老本劣势。 3. 可维护性。Harbor 的 Redis、Postgres(能够抉择云上相干服务,然而老本劣势就不显著了)等组件,至多须要有一个人力有相干技术储备来保护,尽管 Harbor 功能强大,也够牢靠,然而仍然会有一些潜在的 bug 存在,在生产级利用中还是会有肯定危险。在替换到 ACR 后将近一年的工夫里,服务足够稳固,还没有产生功能性故障,简直不须要保护老本 。 给 ACR 在金融场景下的能力点个大大的赞测评员 ID:n3c*m6o很多金融企业在面对合规、平安等保要求下,须要对业务进行多账号的多 ACK(阿里云容器服务 Kubernetes 版) 集群拆分。与此同时,面对业务扩大,服务跨账号、跨地区部署的问题随之而来。阿里云 ACR 提供了容器镜像、Helm Chart 等 OCI 制品平安托管和高效的散发能力,其产品的散发治理性能,很好地反对了不同业务依据不通命名空间镜像散发,进而实现应用服务的版本更新,大大晋升运维工作效率。 ...

September 26, 2022 · 1 min · jiezi

关于阿里云:龙湖千丁基于

作者:蔡佩、刘涛 在物联网、大数据、云服务等的疾速倒退及规模化利用下,明天,大量在日常生活中产生的数据能够被更好地连贯和利用,为智能设施的运行提供反对,在推动社会高效合作,建设有温度、有速度的智慧生存中施展价值。 龙湖千丁是国内最早一批参加智慧城市、智慧社区建设的高科技企业,已被纳入“专精特新”、国家高新技术认证企业名录等。龙湖千丁专一社区、商业、公寓、园区等空间化智能解决方案,以 AI+大数据驱动业降本增效,为高效、节能与平安加码。智慧停车是龙湖千丁生存服务的次要场景之一。依靠龙湖千丁停车云零碎,千丁智能已为全国范畴内自有及托管的 1000+车场的智慧停车业务提供对立的车管解决方案。随着服务规模的不断扩大及用户需要的疾速变动,零碎挑战也随之而来。 智慧停车场景下的利用治理挑战具体来说,龙湖千丁停车云是一套以停车和治理服务为外围,全面整合停车治理问题的智慧化停车零碎,联合车牌辨认一体机、道闸、停车对讲立柱等 IoT 设施的协同,实现社区车库智慧通行。业主可通过线上注销车牌、月卡车辆信息、预约注销客车牌信息等操作,享受出行主动抬杆放行等便捷高效的停车治理服务。 图 1:龙湖千丁停车云零碎架构 不难看出,智慧停车场业务对于服务响应速度的要求十分高,并且有大量近场传感器、管制设施等须要协同管控。如果齐全依赖传统的核心云模式,势必会为边缘利用的治理带来一系列挑战: 网络通信问题:各个车场地理位置地位扩散,彼此网络隔离,车场内的计算资源无奈间接被公网拜访,无论是业务公布,还是问题排查,往往须要相干人员现场解决。业务的开发、测试、降级和运维面临微小挑战。 异构环境差别:绝大部分车场的节点环境为 Windows PC 服务器,且车场之间的业务部署环境差别较大,如何屏蔽底层环境差别,确保业务安稳运行也是须要重点解决的问题。 利用公布效率:不同接入平台的经营主体不同,且用户需要更迭频繁,须要依据业务特点实现分批公布、灰度公布,在保障业务的稳固运行的同时进步公布效率。 基于 [email protected] 的边缘云原生智慧停车零碎实际为了解决以上问题,龙湖千丁停车云平台通过阿里云边缘容器服务 [email protected] 提供的规范 Kubernetes 服务以及云边一体化协同解决方案。 阿里云边缘容器([email protected]),依靠 ACK 托管服务构建,打造通用的边缘容器云原生基础设施。基于支流云原生非侵入式设计准则,实现云边端一体化。阿里云边缘容器采纳原生与插件化组合形式,十分利于业务疾速集成及扩大,且不会减少额定的边缘资源老本和保护老本。在计划选型比照过程中,龙湖千丁对于 ACK @Edge 的如下特点也很感兴趣: 反对云端托管,帮忙用户疾速构建边缘计算的云原生基础设施。反对丰盛的利用场景,包含边缘智能、智慧楼宇、智慧工厂、音视频直播、在线教育、CDN 等。反对多种边缘计算资源的疾速接入,包含 IoT 网关设施、端设施、CDN 资源、自建 IDC 资源等。反对丰盛的异构边缘节点资源,包含自建 IDC 资源、ENS、IoT 设施、X86、ARM 架构等;并反对异构资源的混合调度。面向边缘计算弱网络连接场景,提供节点自治和网络自治能力,保障边缘节点和边缘业务的高牢靠运行。提供边缘单元治理、单元化部署、单元流量治理能力。 计划的整体架构和实现性能如下所示: 图 2: 基于 [email protected] 的云边一体化协同解决方案 云端管控:只需一条命令,即可疾速将节点接入到 [email protected] 提供的规范 Kubernetes 集群中,通过云端实现地区散布的计算资源对立治理,通过云端进行对立的利用散发。 单 元化公布:依据业务特点,划分不同的节点池,不同车场的算力接入不同的节点池,从而造成不同的公布单元。通过抉择不同的公布单元,实现分批公布、灰度公布。 云端运维,近程调试:借助 [email protected] 提供的 Tunnel 通道, 能够让开发运维人员疾速查看容器日志和进入容器调试。 边缘自治:借助 [email protected] 的边缘自治能力,能够在云边网络断开、主机重启这种极其状况下,保障本地边缘服务器上的业务能失常运行。成果&价值联合龙湖千丁自研的新版停车云零碎以及 [email protected] 提供的规范 Kubernetes 服务以及云边一体化协同解决方案,整体来着,边缘部署工夫老本由 1 天缩短到 3 小时,将之前的手动降级形式迭代为主动 OTA 降级,降级工夫由 3 小时缩短到 5 分钟,计算下来每年节约 740 人天。 具体表现为: ...

September 26, 2022 · 1 min · jiezi

关于阿里云:阿里云容器服务-ACK-产品技术动态202208

点击此处即可查看容器服务 ACK 产品详情!

September 26, 2022 · 1 min · jiezi

关于阿里云:Fluid-助力阿里云-Serverless-容器极致提速

作者:东伝 背景数据对于当今互联网业务的重要性显而易见,它简直渗透到了当今这个世界的每一个角落。但单有数据是不够的,真正让数据产生价值的,是针对各业务场景运行的对大量数据的密集剖析与计算,如机器学习、大数据分析、OLAP 聚合剖析等等。近些年,随着数据规模的增大,这些对于资源有着更高要求的数据密集利用天然地导向了以弹性资源著称的云服务。 在这种数据密集利用上云的趋势下,Serverless 仿佛并不是这个趋势的显著受益者。只管简直所有人都对这种计算资源有限扩容、弹性麻利交付、低运维老本的架构不吝赞美之词,但因为它将计算存储拆散的架构推向了一个更纯正的极其,具备强数据依赖的数据密集利用想要高效运行于 Serverless 环境变得极其艰难。 举例来说,如果咱们想将 AI 推理服务利用部署在 Serverless 架构下,每个服务利用启动前必须将寄存在内部存储系统的 AI 模型首先拉取到本地内存中。思考到近年来 AI 大模型曾经成为业界支流,让咱们假如这个 AI 模型的大小为 30GB,并且存储于 OSS 对象存储服务中,如果须要同时启动 100 个这样的 AI 推理服务利用,那么总共的数据读取量就是 3000GB。OSS 存储默认的数据拜访限速是 10Gbps,这就意味着 100 个利用都须要期待 2400 秒(3000GB 8 / 10Gbps) 才能够真正开始对外提供服务。如果每个服务咱们创立一个 ecs.gn7i-c32g1.16xlarge 的实例(按每小时单价折算每秒 0.008 元),这意味着光在期待数据上就曾经花掉了 1920 元(0.008 元/秒  2400 秒  100) 。总结来说,咱们大量的费用没有花在产生价值的计算上,这显然不是咱们想要的。(理论价格以阿里云官网显示为准) 那么,有没有什么办法能够优化上述过程?这就引入了本文的配角:Fluid。Fluid 是一个 Kubernetes 原生的分布式数据集编排和减速引擎。Fluid 诞生的初衷即是为利用的数据拜访延时问题提供云原生的解决方案。对于困扰着 Serverless 数据密集利用的上述相干问题,Fluid 在保障用户简略易用的应用体验前提下,给出了一套 Serverless 环境新的数据拜访架构计划,帮忙用户晋升数据拜访效率。 本文将 step by step 地介绍 Fluid 的运行示例,帮忙大家理解如何在阿里云 ASK(Alibaba Serverless Kubernetes)环境中应用 Fluid,展现如何借助 Fluid 实现 zero to zero 的(从零资源应用开始到全副资源开释完结)规模化数据密集型工作执行模式,并获得降本提速的成果。 ...

September 26, 2022 · 5 min · jiezi

关于阿里云:SAE-助力贵州酒店集团从容支撑贵州特产抢购

作者:王彬|杏祉尧|黄枫 我的项目背景贵州酒店团体有限公司于 2019 年 2 月 28 日注册成立,是经贵州省人民政府批准并受权省国资委履行出资人职责的省管大一型企业,全资及控股子企业 23 家,自营及委管酒店(我的项目)80 余家,客房近 1.3 万间。 酒店团体组建以来,构建了以酒店经营与治理为外围业务,以游览商品、教育培训、会议会展、电商科技、黔菜餐饮为支柱业务的“1+N”主营业务架构,正逐渐培养打造系列酒店、特色餐饮、教育培训等游览产业化服务品牌体系。 在 2020 年,成立了贵州乐旅网络科技有限公司专门负责酒店团体信息化建设,贵州乐旅网络科技有限公司肩负着建设酒店团体现代化信息系统的使命,初期在三四个人的疾速迭代下,疾速构建起了撑持全团体内外部业务的信息系统。随着公司的倒退和市场需求的迅速变动,乐旅网络科技也一直壮大,从最后的三四个人倒退到了十几人,零碎模块越来越多,同时各种问题也开始浮现。 现状问题&剖析酒店团体的信息系统最后部署在阿里云 ECS 上。零碎依照微服务的架构拆分成多个组件,基于 ASP.NET Core 框架开发。在开发运维过程中遇到一系列问题: 组件短少扩展性:团体的业务有显著的峰谷个性,平台会定期上线一些流动,如土特产秒杀,酒店房间优惠,通过这些流动,用户能够获取抢购贵州名牌白酒的资格等。在流动期间访问量微小,峰值最高能达到几十万 qps,是平时的几十倍。同时信息系统仍旧连续第一代架构,扩展性不好,没法做到很好的弹性伸缩,对于越来越大的流量,零碎稳定性问题愈发凸显。 多环境建设不欠缺:线下测试环境与线上生产环境隔离,线下测试中并不能齐全笼罩线上生产环境的场景,在上线时会呈现须要上线的组件在线上实在环境中呈现预期之外的异样,须要疾速复原,这就须要有很好的版本治理,这一块也是缺失的。 团队协同效率低:整个零碎有多个模块,扩散在不同团队,ECS 机器也都是独立保护,发版过程须要上下游链路一起协同,依照依赖关系程序公布,耗费工夫长,协同难度大。 监控零碎不欠缺:运行状态没有对立的观测平台,遇到问题也只能子系统别离排查,且短少问题排查帮助工具。 技术选型&比照为了更好的对应零碎倒退的须要,乐旅网络科技决定同阿里云达成策略单干,基于阿里云打造信息平台 2.0。 在新架构的设计上,针对以后遇到的痛点问题,项目组在技术选型时定下了以下几个指标: 自动化运维,团队需要多,开发工作重,专门负责运维的同学并不多,心愿 2.0 零碎能够借助体系化的运维平台,晋升运维效率,大幅加重运维压力。自动弹缩,团队的业务流动较多,流动到来时有不可预知的流量波峰,之前通过预估扩容的形式存在预估不准和扩大艰难的问题,2.0 零碎心愿能够更加简略的扩缩零碎,最好可能通过自动化的形式防止反复的部署和下线操作。版本治理,测试环境并不能齐全模仿线上生产环境,新上线的组件上线后可能会呈现问题,心愿可能有版本治理的工具,当遇到问题时,能够很不便的切换到指定版本,实现代码资产的可选治理。团队协同,目前团队合作次要靠人为线下沟通,不同团队的组件都由本人保护,ECS 机器彼此也都权限隔离,2.0 版本心愿能够应用对立的零碎管理权限,实现不同团队,不同角色都能够应用同一套权限体系,简化团队之间协同的工作。监控平台,目前的零碎短少监控,于实时运行状态监控简直没有,目前只有基于机器运行指标的监控。各组件依照开发人员设计自行打日志,当呈现问题时,排查问题链路简短,且没法做到对立的链路追踪。因为零碎短少量化指标,对系统的把控性偏低,没法做到异样预警,也没法很好的做针对性的继续优化。2.0 零碎心愿在这方面有所改观,能多维度的对系统进行监控,加强对系统的控制力。为此,项目组在阿里云上进行了第一轮全面筛选,很快选型指标放大到了自建 K8s 和 SAE,并对这两种技术进行了一系列的比对,次要比对指标如下: 比照这两种技术后,思考到自建 K8s 自身的复杂性,对技术栈的深度,技术的继续投入和业务的收益,项目组进行了多方面掂量,最终抉择了 SAE。 SAE 这款产品在免运维,自动弹缩,可观测等方面都深度合乎酒店团体以后我的项目的需要,项目组在最后选型时就对以下几个性能十分感兴趣: 免运维:SAE 可能免运维底层基础设施,例如 IaaS、K8s、微服务组件和 APM 组件等,无需自建 ZooKeeper、Eureka、Consul 和 Skywalking 等,极大升高开发运维老本。提供商业化稳定性兜底。 自动弹缩:SAE 提供了精准容量+弹性+限流降级一整套高可用产品化解决方案。通过该计划,SAE 可能帮忙利用轻松应答流量顶峰,在保障业务 SLA 的同时也节俭了资源老本。 体系化监控:SAE 无缝集成的 ARMS 产品,具备白屏化利用监控和诊断能力,可用定位到慢 SQL、慢办法、办法的调用堆栈、对于线上问题的剖析、排查、预警和解决,提供强有力反对,节俭大量的排查工夫。 所以,最终项目组毫无疑问的抉择了 SAE。 ...

September 26, 2022 · 1 min · jiezi

关于阿里云:云原生-06使用-Vercel-NextjsMidway阿里云函数计算部署前端应用

系列专栏申明:比拟流水,次要是写一些踩坑的点,和实际中与文档差距较大的中央的思考。这个专栏的典型特色可能是 次佳实际,争取能在大量的最佳实际中生存。 一、基于 Midway 的根底设计一些概念参见 部署架构设计。 对于 FC,没有选型 Custom Container ,因为冷启动太显著了,耗时和罗唆 504 频率太高,除非维持一个长期的兜底热容器,否则天生无奈解决对于 Midway,没有选型自带的 npm run deploy 模式,而是 npm run package 后将 serverless.zip 传到了 OSS 制品仓库,是因为在现阶段 git commit 和 build artifact 还能难做到一一对应,实际上还是要以 build 为准;典型的场景是事变回滚,重新部署一个 build 是比拟有信念的,而指定一个 git commit 再执行一次 build 是没有信念的index.html 和 rsrc 是同一个 制品,体现在这个架构图上,即都被打包到了 serverless.zip 中,也即拜访 https://app.../index.html 和 https://app.../rsrc/ 可能拜访到相应的文件;然而咱们会应用一个名为 rsrc.cdn 的配置项,指定用户去拜访 https://cdn... <!-- template --><html> <body> <div id="root"></div> <script src="{rsrc.cdn}/rsrc/dist/umi.js" /><!-- profile=local --><html> <body> <div id="root"></div> <script src="http://127.0.0.1:3000/rsrc/dist/umi.js" /><!-- profile=prd --><html> <body> <div id="root"></div> <script src="https://cdn.../rsrc/dist/umi.js" />实践上,应该将制品中的 public 这个文件夹上传到 bucket-cdn,但这样就须要实现相应的受权 upload 流程,所以这里采纳了回源模式: ...

September 19, 2022 · 1 min · jiezi

关于阿里云:阿里云EMAS移动测试|快速掌握移动端兼容性测试技巧

兼容性测试用于验证利用在不同设施上进行装置/启动/登录/不同版本笼罩装置/卸载等操作时,是否存在兼容性问题;如界面适配问题、利用性能等,现阿里云EMAS套餐收费试用,帮您疾速把握挪动端兼容性测试技巧。 一、兼容性测试能够查到哪些问题界面适配问题,确定是否能失常装置、启动。各个页面潜在的解体、无响应等问题。利用性能问题,例如启动工夫、页面加载工夫、功耗等。二、阿里云兼容性测试工具的性能劣势提供在线录制性能,可视化录制出性能笼罩业务链路的脚本。功能测试,与机型联动,实现支流机型的齐全自动化笼罩。反对Android、iOS、HarmonyOS平台利用。反对前置脚本:通过脚本登录利用,通过脚本进入业务场景。反对最多3个历史版本的利用笼罩装置测试。反对Crash/ANR检测及谬误调用栈剖析定位。反对应用遍历拓扑图复现问题。 三、阿里云兼容性测试工具如何应用?1、前提条件1)开明阿里云EMAS收费套餐2)进入EMAS控制台创立我的项目,找到“挪动测试-兼容性测试”,上传须要测试的Android/iOS利用包 2、施行Android/iOS兼容性测试1)单击新建测试,进行测试需要配置 2)配置实现提交测试,查看测试报告 欢送退出开发者钉钉开发者交换群:35248489

September 15, 2022 · 1 min · jiezi

关于阿里云:DolphinSchedulerRocketMQ-联合-Meetup-即将重磅开启集中展示任务调度与消息队列能力

点亮 ⭐️ Star · 照亮开源之路 [GitHub:https://github.com/apache/roc...]() 锁定 9 月 17 日 14:00 Apache RocketMQ社区 和Apache DolphinScheduler 强强联合 邀请大数据专家与社区外围开发者 为大家带来大数据技术以及生产实践的精彩分享 报名已开启,马上预约吧! 在大数据开发中,任务调度和音讯队列是两个十分要害的能力。任务调度对异步、周期性的工作进行定时触发或提早触发,达到有序执行工作的目标。而音讯队列中间件是分布式系统中重要组件,解决利用解耦、异步音讯、流量削锋、音讯通迅等问题, 实现高性能、高可用、可伸缩和最终一致性的架构。 作为音讯队列和工作流任务调度的领先者,以及 Apache 基金会孵化器毕业的中国优良我的项目,RocketMQ 和 DolphinScheduler 强强联手,邀请来自互联网企业大数据专家与社区外围开发者,为大家带来一场大数据开发技术以及生产场景实际的精彩分享! 社区介绍Apache RocketMQApache RocketMQ 作为云原生音讯事件流交融解决平台,历经多年双十一流量洪峰严苛考研。目前,寰球超过数万家企业都在应用Apache RocketMQ,不仅包含字节、快手、小米、滴滴、微众银行、同城艺龙等互联网头部企业,也涵盖头部银行、券商、保险,基金公司等一系列要求极为严苛的金融公司。 Apache RocketMQ 目前寰球 Contributors 超过 500 人,成立包含内核、批、Connect、Streaming、多语言客户端、rocketmq-flink、Operator、Exporter等系列兴趣小组,社区开发者也成立了包含北京、深圳、苏州等系列城市社区,不定期举办线下流动,大量翻新从社区中产生并且落地。 Apache DolphinSchedulerApache DolphinScheduler 是一个云原生并带有弱小可视化界面的大数据工作流调度平台,致力于让调度变得更加容易,已在 1000+ 家公司的生产环境上稳固运行。身为一款专门针对于大数据平台的工作调度零碎,具备本土化格调和多样化的部署形式。同时,Apache DolphineScheduler还领有非常沉闷的社区与定期的交流会。 报名通道已开启流动工夫:2022 年 9 月 17 日 下午 2-5 点\流动模式:线上报名链接:https://www.slidestalk.com/m/... 扫码预约 RocketMQ交换群 海豚调度交换群 流动议程 这是任务调度和音讯队列能力的一次集中展现,无论是对于有相干的开发需要的技术人员,还是学习充电的小伙伴,这都是一次难得的收费学习机会 ,不要错过。 退出 Apache RocketMQ 社区十年铸剑,Apache RocketMQ 的成长离不开寰球靠近 500 位开发者的积极参与奉献,置信在下个版本你就是 Apache RocketMQ 的贡献者,在社区不仅能够结识社区大牛,晋升技术水平,也能够晋升集体影响力,促成本身成长。 ...

September 13, 2022 · 1 min · jiezi

关于阿里云:直播预告-PolarDB-开源人才培初级考试备考辅导公开课

往年 8 月份,阿里云正式推出“阿里云 PolarDB 开源人才培养打算”,旨在帮忙各位开发者可能一站式学习云原生关系型数据库 PolarDB for PostgreSQL 以及云原生分布式数据库 PolarDB-X 的能力。 为了让学员的学考更有针对性,本次特邀 CUUG 首席讲师陈卫星老师(Oracle 10g/11g OCM、PostgreSQL PGCM 证书获得者,PolarDB 开源人才高级课程金牌讲师)为您答疑解惑,陈老师目前总共分享过 200 多场数据库相干技术公开课,此次公开课将比照 PolarDB 与其它国产数据库的技术特点,分享 PolarDB 开源人才高级考试秘笈,助您顺利通过考试。 直播工夫:9 月 13 日(周二) 20:00 分享内容:此次公开课将比照 PolarDB 与其它国产数据库的技术特点,分享 PolarDB 开源人才高级考试秘笈与考试要点,囊括 PolarDB 过程构造、内存构造、体系架构、性能调优、事务 id 治理、备份复原、存储管理等技术热点,助您顺利通过考试。 学考地址:https://developer.aliyun.com/... 参加形式:钉钉扫描下图二维码,入群观看直播

September 13, 2022 · 1 min · jiezi

关于阿里云:阿里云可观测-8-月产品动态

可观测产品夏日特惠专场 点击此处,即享优惠!

September 13, 2022 · 1 min · jiezi

关于阿里云:从负载均衡到路由微服务应用现场一键到位

作者:屿山、十眠 微服务体系架构中,服务之间的依赖关系盘根错节,咱们往往会应用负载平衡组件配合注册核心来实现服务间的感知。而这种感知行为须要调用方、负载平衡组件、注册核心、被调用方互相配合才可能实现,在呈现问题时咱们又可能很难确定是哪一部分的问题,在惯例场景中,注册核心会有对应的控制台能够查看,而调用方、负载平衡组件、被调用方处则须要咱们手动减少日志打印语句并重启利用能力失去相干的信息,而有些组件又难以找到适合的地位增加咱们日志代码,使得这类问题的排查效率低下。 负载平衡原理分析咱们以 Spring Cloud 利用为例剖析一下,微服务负载平衡到底是怎么一回事? 本文的 demo 蕴含 log-demo-spring-cloud-zuul、log-demo-spring-cloud-a、log-demo-spring-cloud-b、log-demo-spring-cloud-c 四个利用,采纳最简略的 Spring Cloud 规范用法顺次调用,能够间接在我的项目上查看源码: https://github.com/aliyun/ali... 以 Spring Cloud  罕用的客户端负载平衡组件 Ribbon 作为示例,其工作原理如下图所示。 Ribbon 位于客户端一侧,通过服务注册核心(本文中为 Nacos)获取到一份服务端提供的可用服务列表。随后,在客户端发送申请时通过负载平衡算法抉择一个服务端实例再进行拜访,以达到负载平衡的目标。在这个过程中为了感知服务注册核心的可用服务列表的变动,Ribbon 会在结构 com.netflix.loadbalancer.DynamicServerListLoadBalancer 时,启动一个定时线程去循环调用 com.netflix.loadbalancer.DynamicServerListLoadBalancer#updateListOfServers 办法更新本人持有的可用服务列表。 @VisibleForTesting public void updateListOfServers() { List<T> servers = new ArrayList<T>(); if (serverListImpl != null) { //从注册核心获取可用服务列表 servers = serverListImpl.getUpdatedListOfServers(); LOGGER.debug("List of Servers for {} obtained from Discovery client: {}", getIdentifier(), servers); if (filter != null) { //依据加载的过滤器过滤地址 servers = filter.getFilteredListOfServers(servers); LOGGER.debug("Filtered List of Servers for {} obtained from Discovery client: {}", getIdentifier(), servers); } } //更新可用服务列表 updateAllServerList(servers); }通过代码能够发现,updateAllServerList(servers)办法的参数 servers 就是更新后可用服务列表,不过为了确保取得实在的现场,咱们随着调用链持续往下。 ...

September 13, 2022 · 2 min · jiezi

关于阿里云:中秋特辑嫦娥妹妹你别着急~

作者:不周 俗话说,英雄难过美人关,呵,神仙也不例外。 很久很久以前......南天门的吴刚和家住月亮上的嫦娥相互爱慕,因为他常常与嫦娥相会,而疏于职守。玉帝怒发冲冠,罚吴刚砍月桂树,直到砍断月桂树吴方才能与嫦娥相会。 吴刚为了能与嫦娥相见,开始无止境的疯狂砍树~ 即便中秋节降临,也只能留嫦娥一人单独伤神,连封信也收不到~ 很多很多年当前的一天,吴刚无聊靠在树上,小声哼唱:“妹妹可知我对你的怀念,哥哥我日日夜夜写情书,可是我送不进来啊~~~ 想晓得吴刚最初是怎么将情愫传递进来的吗?让咱们一起关上视频一探到底吧~ 点击下方链接,立刻查看视频: https://www.bilibili.com/vide... 吴刚满脸惊喜,开心的跳起来了:嫦娥妹妹,你别着急!我有方法了! 方法是什么呢? ▼ 祝大家中秋节高兴~ 点击此处,进入官网理解更多阿里云音讯队列选型详情~

September 9, 2022 · 1 min · jiezi

关于阿里云:极致体验基于阿里云-Serverless-快速部署-Function

作者:凌云Cloud 本文起源:Serverless 函数计算征集令流动Serverless 前世今生Serverless 背景介绍云计算的一直倒退,涌现出很多改变传统 IT 架构和运维形式的新技术,而以虚拟机、容器、微服务为代表的技术更是在各个层面一直晋升云服务的技术能力,它们将利用和环境中很多通用能力变成了一种服务。但无论这些技术利用在哪里,帮忙企业 “降本增效” 是技术改革永恒的主题。 Serverless 架构的呈现,带来了跨越式的改革。Serverless 下主机治理、操作系统治理、根底软件的部署运维、资源分配和扩缩容能力全副由云厂商提供,把计算能力做成像水电煤一样的公共服务,这就意味着基于 Serverless 服务构建利用,开发者只须要专一在产品代码上,而无需治理和操作云端服务运行环境,计算资源从过来购买 “服务器” 转向购买对应的 “服务”。 Serverless = Faas (Function as a service) + Baas (Backend as a service) Serverless 解决模型: Serverless 开发模式Serverless 真正做到了部署利用无需波及基础设施的建设,主动构建、部署和启动服务。 以大数据利用开发举例: 在传统开发流程中,咱们须要先依据大数据理论利用从采集,存储,荡涤,关联,到剖析开掘全链路所波及的组件列表,实现后端大数据平台一系列组件的装置部署,再等到大数据利用实现后,进行利用性能调试、利用+平台性能调优,最终测试、上线后,还须要大数据平台运维工程师对整个大数据平台进行保护。 整个过程波及多个角色,而自身大数据平台的运维和调优具备肯定的技术门槛,调优成果齐全取决于自有员工的能力,而一个好的调优人员,就像一个好的数据库 DBA 一样,须要长期我的项目实际积攒,属于要害稀缺人才。 基于 Serverless,所有事件变得非常简单了,云厂商以服务的模式对外提供大数据组件能力,以往简单的平台搭建过程失去齐全解放,只须要写完大数据应用程序后部署到 Serverless 服务即可,后续也不须要关怀任何服务器以及大数据平台组件的运维、调优操作。 云厂商在对外提供服务的同时,背地都有一个齐备的团队 7*24 提供业余的撑持。因而只须要大数据利用开发工程师即可实现所有工作。当然,如果具备肯定的大数据平台能力,对大数据利用侧的性能调优也是十分无利的,往往能够事倍功半。 Serverless 外围价值升高经营复杂度Serverless 架构使软件应用和服务器实现理解耦,服务器不再是用户开发和经营利用的焦点。在利用上线前,用户无须再提前布局服务器的数量和规格。在运维过程中,用户无须再继续监控和保护具体服务器的状态,只须要关怀利用的整体状态。利用经营的整体复杂度降落,用户的关注点能够更多地放在软件应用的体验、改良以及其余能带来更高业务价值的中央。 升高经营老本服务器不再是用户关注的受管资源,经营的复杂度降落,利用经营所须要投入的工夫和人力大大降低。在最好的状况下,能够做到少数几个利用管理员即可治理一个解决海量申请的利用零碎。 缩短产品的上市工夫在 Serverless 架构下,利用的性能被解形成若干个细颗粒度的无状态函数,性能与性能之间的边界变得更加清晰,功能模块之间的耦合度大大减小。这使得软件应用的开发效率更高,利用开发的迭代周期更短。 Serverless 实战我的项目体验登录阿里云控制台进入阿里云官网后,点击右上角登陆按钮,输出用户名和明码后登陆进入 Dashboard 进入函数计算 FC 服务 创立服务 输出服务名称再点击确定 ...

September 8, 2022 · 1 min · jiezi

关于阿里云:国内唯一|阿里云入选-Gartner-应用性能监控与可观测魔力象限

近期,Gartner 公布《2022 Gartner 利用性能监控与可观测魔力象限》(Magic Quadrant for Application Performance Monitoring and Observability )。报告显示,阿里云入选该象限,这是中国惟一入选厂商。 Gartner 作为寰球当先的 IT 钻研与参谋征询公司,针对本次入选的近 20 家具备国内影响力的可观测服务商,从产品、策略、市场体现等维度进行深入研究剖析。Gartner 将阿里云定义为此魔力象限中的细分畛域者(NICHE PLAYERS),其可观测产品由利用实时监控服务 ARMS、Prometheus 监控作为阿里云可观测外围产品,联结云监控 CMS、日志服务 SLS 独特组成,以公共云 SaaS 服务、混合云不同产品状态为不同规模、不同业务需要的企业提供开箱即用的可观测服务,并如此评估阿里云: 解决方案的完整性 对于部署在阿里云上的企业,阿里云提供丰盛的原生可观测解决方案以满足泛滥可观测需要,无需施行第三方解决方案。 弱小的生态系统与泛滥超大规模企业一样,阿里云领有弱小的上下游产品生态,既有丰盛的剖析工具,也包含与钉钉等工具的严密集成,以实现合作。 极致性价比 与在阿里云上施行第三方工具相比,阿里云可观测产品及解决方案更具性价比,老本效益显著。 相较于去年,阿里云可观测产品能力取得了显著晋升,包含通过与 Grafana 服务集成的数据大盘、加强的平安性能 RASP 以及改良的业务剖析工具,与阿里云的企业分布式应用服务 EDAS、钉钉等原生云服务严密集成,反对阿里云生态、多云、本地部署等不同客户需要状态。这些性能晋升与集成,都使得阿里云可观测产品在大部分关键技术及性能的得分均高于平均水平,其中平安能力更是在泛滥厂商中拔得头筹。 因而,报告中这样形容阿里云能力: Alibaba Cloud monitoring is best suited to the application owners/line of business use case.阿里云可观测产品是最适宜应用程序所有者/业务线所应用的(可观测)产品套件。不同于今年,报告指出利用性能监控的认知与技术边界进一步扩大,从单纯的监控能力向着以可观测性为核心的探索性、剖析驱动的工作流演进。在市场领导力、创新力、服务欠缺度、技术支持度、治理团队教训与能力之外,从新定义可观测厂商必备的技术能力与规范: 通过 Agent 探针或分布式追踪 Tracing 实现对应用程序残缺事务行为的可观测能力(至多三种支流语言或框架); 应用程序及其基础架构组件(包含云服务)的主动发现与映射; 对挪动端、PC 端浏览器上运行的应用程序的监测与可观测; 辨认与剖析应用程序性能问题及其对业务运行的影响; 与自动化工具、服务管理工具、公共云厂商的原生集成; 对业务指标与用户旅程的剖析能力; 对 Tracing 链路、Metrics 指标、Log 日志等不同可观测数据类型的剖析能力,无效辨认意外事件的潜在问题; 通过探针、框架实现应用程序平安能力的增强。 联合上述技术能力与规范的演进,咱们能够看到随着挪动化、云原生化、企业上云的继续落地,凭借着性能不断丰富、减速价值实现、价格老本更优等劣势,可观测理念与技术,逐渐从互联网、金融行业延长至政企单位、制造业等行业,受众也从传统运维工程师向着 SRE 工程师、架构师、研发工程师等不同团队扩大,可观测成为企业数字化转型翻新的重要伎俩。 阿里云作为国内可观测畛域的领军者,再次入围 Gartner 魔力象限。这得益于阿里云在可观测畛域一直进行技术创新学习及产品优化降级。自 2017 年,脱胎于阿里巴巴团体监控产品「鹰眼」的利用实时监控服务 ARMS 诞生,为企业提供利用性能治理(APM)能力;从前端监控、云拨测等数字化体验(DEM)能力逐步加强;到全面拥抱 Prometheus、Grafana、Opentelemetry 等开源规范。并于往年6月推出阿里云可观测套件(Alibaba Cloud Observability Suite,ACOS),打造云原生时代残缺可观测数据生态与产品套件。 ...

September 8, 2022 · 1 min · jiezi

关于阿里云:合阔智云核心生产系统切换到服务网格-ASM-的落地实践

作者:刘如鸿 背景合阔智云(www.hexcloud.cn) 是专一于为大中型批发连锁行业,提供全渠道业务中/前台产品和解决方案,并建设以消费者为核心的全渠道交易和麻利供应链的新一代批发经营协同平台。 合阔智云提供了从全渠道交易治理到订单履约再到门店供应链残缺的餐饮批发连锁解决方案,整个计划采取微服务设计,并深度应用了 Kubernetes 作为生产调度平台。 技术现状整个业务零碎采纳微服务架构,但不同业务场景在不同阶段抉择了不同的技术语言来开发,如 Python、Golang 和 Java,甚至有局部利用应用了 Nodejs,因为技术栈的缘故,Spring Cloud 或者 Dubbo 这样的全家桶并不适宜咱们,为了可能适应业务须要,咱们抉择了上面的策略: 不依赖于繁多语言和繁多技术框架,容许应用更加适合业务的开发语言,如疾速业务迭代应用 Python,根底服务和云原生局部应用 Golang,外围的业务零碎应用 Java 服务外部应用 gRPC 通信,服务接口定义依赖于 Protobuf 原则上跨服务通信不依赖于音讯队列,音讯队列只用于服务本身的调度与弥补,这样子升高了音讯零碎自身的复杂性 所有零碎不间接裸露 HTTP,须要提供 HTTP 服务的,应用团队开发的 grpc-proxy 来实现 HTTP to gRPC 的转码代理工作原则上利用只解决业务自身的问题,所有基础架构局部的能力都转由 K8s 来负责,包含: 网关服务发现负载平衡指标与监控健康检查故障复原以后挑战晚期所有技术人员只须要专一业务的编写,其余所有的工作全副交给 K8s,在流量比拟小业务绝对简略的状况下,这个运行十分晦涩。然而,随着利用数量的减少,业务变得越加简单,内部流量也在一直增长,由此带来了利用链路调用更加简单等新的运维难题: 外部调用用的是 gRPC 协定,利用端没有做特地解决,导致基于 HTTP2 的长连贯协定无奈实现负载平衡,尤其是繁多客户端调用变大的状况下,服务端无奈无效负载; 因为利用自身比拟薄,利用调用链路无奈透明化,每次新的公布部署容易出问题。在 2022 年之前,咱们应用 Linkerd,初步解决了服务在负载平衡和调用链路上的治理难题,但咱们大部分的基础架构都是依赖于阿里云,比方: 日志应用 SLS利用监控应用 ARMS链路追踪应用 XTrace仪表盘应用 Grafana容器监控应用 Prometheus为了简化基础架构的复杂性,咱们在根底服务上的根本准则是应用云厂商而非自建,而 Linkerd 在理论的应用过程中遇到了一些问题: 须要应用自建的基础设施,无奈和阿里云提供的基础设施很好的交融利用可观测性比较简单Sidecar 应用默认配置,控制能力绝对较少,在应答一些简单一点的场景,无奈做到灵便配置而可观测性是服务网格的基石,在一套自建的基础架构上,咱们会偶发的呈现链路被熔断、某个端口无法访问的场景,最终的解决方案就是勾销注入或者从新注入来解决。 基于服务网格 ASM 的摸索集群现状咱们目前有两个生产集群,共计 150 台 ECS,2500 个 Pod,不同开发语言利用的特点如下: Golang 用于用户基础架构以及计算密集型性的利用零碎,总体内存占用不会超过 500M,局部服务会随着临时性的内存而增长,如文件的导入导出服务; Python 用于晚期业务麻利迭代构建的业务零碎,都是单过程多线程工作模式,繁多 Pod 内存占用不高,但一个 Deploy 须要更多的 ReplicaSet 数量;Java 用于全渠道在线交易业务构建的零碎,繁多 Pod 须要消耗的资源比拟多,但等同状况下繁多 Pod 的解决能力比拟强。两个集群包含了不同的利用场景: ...

September 8, 2022 · 2 min · jiezi

关于阿里云:通过Jenkins构建CICD实现全链路灰度

作者:卜比 本文介绍通过 Jenkins 构建流水线的形式实现全链路灰度性能。在公布过程中,为了整体稳定性,咱们总是心愿可能用小局部特定流量来验证下新公布利用是否失常。 即便新版本有问题,也能及时发现,管制影响面,保障了整体的稳定性。 整体架构咱们以如下 Demo 为例: 为了保障稳固,咱们约定如下上线流程: 其中,在灰度验证中,有几种不同的策略: 间接应用线上小局部流量来测试(依照百分比放量)从线上依照特定规定抉择流量(比方特定的 header、特定的 cookie 等)在客户端或浏览器上标识出流量是否灰度(比方通过 header 传递)部署利用&创立泳道依照参考文档部署利用后,咱们首先要辨别线上流量和灰度流量。 创立泳道组,将整个链路波及到的利用全选: 而后创立泳道组,将合乎规定的利用划入 gray 泳道: 注:没有匹配的流量,会走到基线环境,也就是没有打标的利用节点上。配置实现后,拜访网关,如果不合乎灰度规定,走基线环境: 如何合乎灰度规定,走灰度环境: 配置 Jenkins 流水线本文实际须要将源码打包后执行镜像推送,请确保 Jenkins 有权限推送到镜像仓库中。具体操作,请参见应用 kaniko 构建和推送容器镜像。 在 Jenkins 命名空间下应用生成的 config.json 文件创建名为 jenkins-docker-cfg 的 Secret。 kubectl create secret generic jenkins-docker-cfg -n jenkins --from-file=/root/.docker/config.json在 Jenkins 中创立全链路灰度公布流水线基于 Jenkins 实现自动化公布的流水线,通过该流水线能够使利用公布具备可灰度、可观测、可回滚的平安生产三板斧能力。 在 Jenkins 控制台左侧导航栏单击新建工作。输出工作名称,抉择流水线,而后单击确定。在顶部菜单栏单击流水线页签,在流水线区域配置相干参数抉择,输出脚本门路,而后单击保留。 定义:抉择 Pipeline script from SCM。SCM:抉择 Git。Repository URL:输出 Git 仓库的 URL。脚本门路:输出 Jenkinsfile。您能够参考以下的文件填写好指定的参数,当然您也能够依据需要编写 Jenkinsfile ,并上传至 Git 的指定门路下(流水线中指定的脚本门路)。 ...

September 7, 2022 · 2 min · jiezi

关于阿里云:Dubbo-Mesh-从服务框架到统一服务控制平台

作者:Dubbo 社区 Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官网提供了 Java、Golang 等多语言 SDK 实现。应用 Dubbo 开发的微服务原生具备相互之间的近程地址发现与通信能力, 利用 Dubbo 提供的丰盛服务治理个性,能够实现诸如服务发现、负载平衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩大,用户能够不便地实现流量拦挡、选址的各种定制逻辑。 什么是 Dubbo 3Dubbo 3 放弃了 Dubbo 2 的经典架构,以解决微服务过程间通信为主要职责,通过丰盛的服务治理(如地址发现、流量治理等)能力来更好地管控微服务集群;Dubbo3 对原有框架的降级是全面的,体现在外围 Dubbo 个性的简直每个环节,通过降级实现了稳定性、性能、伸缩性、易用性的全面晋升。 通用的通信协议: 全新的 RPC 协定应摒弃公有协定栈,以更通用的 HTTP/2 协定为传输层载体,借助 HTTP 协定的标准化个性,解决流量通用性、穿透性等问题,让协定能更好地应答前后端对接、网关代理等场景;反对 Stream 通信模式,满足不同业务通信模型诉求的同时给集群带来更大的吞吐量。 面向百万集群实例,集群高度可伸缩:随着微服务实际的推广,微服务集群实例的规模也在不停地扩大,这得益于微服务轻量化、易于程度扩容的个性,同时也给整个集群容量带来了累赘,尤其是一些中心化的服务治理组件;Dubbo 3 须要解决实例规模扩大带来的种种资源瓶颈问题,实现真正的有限程度扩容。 拥抱云原生:在云原生时代,底层基础设施的改革正深刻影响利用的部署、运维甚至开发过程,往上也影响了 Dubbo 3 微服务技术计划的选型与部署模式。Dubbo 3 在服务发现模型上全面对齐云原生基础设施的模型,在地址、生命周期等设计可与 Kubernetes 等容器调度平台对齐。 将来的 Dubbo 须要解决什么问题 在 Dubbo 3 性能根本齐备的当下,咱们开始从新对以后 Dubbo 的整体架构进行思考,总结出有以下几个问题: 业务代码与各微服务组件间接耦合,降级难度高在目前的部署状态下,如果须要集成一个组件须要在业务代码的环境中对该组件进行适配。举一个简略的例子,如果须要接入一个自定义数据格式转换组件须要基于 Dubbo 的 SPI 在业务的代码中织入对应的适配实现。这种部署形式对业务的部署造成较高的侵入。如果这个转换组件须要降级,须要推动所有部署了该组件的业务方都降级一遍。在生产环境中难度极高。 多语言实现复杂度高因为目前 Dubbo 所有的计算解决逻辑都以 SDK 的模式集成进业务代码中,在须要跨语言进行调用的时候不可避免地导致了实现复杂度高的问题。对于 Dubbo 来说,除了 Java 和 Golang 的 SDK 实现较为欠缺,其余语言仍欠缺对应欠缺的实现。此外,对于一个拦截器性能,在 Java SDK 下的实现因为语言和接口设计的差别不可能间接复用到 Golang 的 SDK 上,肯定水平上也给中间件开发带来难度和不稳固因素。 ...

September 7, 2022 · 1 min · jiezi

关于阿里云:KubeVela-15灵活框选-CNCF-原子能力打造独特的企业应用发布平台

作者:曾庆国(悦达) KubeVela 1.5 于近日正式公布。在该版本中为社区带来了更多的开箱即用的利用交付能力,包含新增零碎可观测;新增 Cloud Shell 终端,将 Vela CLI 搬到了浏览器;加强的金丝雀公布;优化多环境利用交付工作流等。进一步晋升和打磨了 KubeVela 作为利用交付平台的高扩展性体验。另外,社区也正式开始推动我的项目提级到 CNCF Incubation 阶段,同时在屡次社区会议中听取了多个社区标杆用户的实际分享,这也证实了社区的良性倒退。我的项目的成熟度,驳回度皆获得了阶段性问题。这非常感谢社区 200 多位开发者的奉献。KubeVela 近一年来公布了五个大版本,每一次迭代都是一个飞跃。1.1 的公布带来了连接多集群的能力,1.2/1.3 带来了扩大体系和更敌对的开发者体验,1.4 引入了全链路平安机制。现在 1.5 的公布让咱们离 KubeVela “让利用交付和治理更轻松”的愿景更近了一步。一路走来,咱们始终遵循同样的设计理念,在不失可扩展性的根底上构建自动化解决底层差异化基础设施复杂性的平台,帮忙利用开发者低成本从业务开发降级为云原生研发。技术上则围绕从代码到云、从利用交付到治理的残缺链路,基于凋谢利用模型(OAM)提炼连接基础设施的框架能力。如图 1 所示,现在的 KubeVela 曾经笼罩了从利用定义、交付、运维、治理全链路的能力,而这所有能力都基于 OAM 的可扩展性(即 OAM Definition)插件式地连接生态我的项目实现。实质上,每一个 Definition 都是将一项具体能力的应用教训,转化为一个可复用的最佳实际模块,通过插件打包实现企业共享或者社区共享。 图 1 KubeVela 扩展性的外围构造 云原生畛域的原子能力百花齐放既是贵重的财产,同时也晋升了从业门槛。平台构建者须要学习大量的开源我的项目,聚合多个畛域的教训。这往往会破费几个月甚至更长的工夫能力构建起企业云原生撑持平台。然而往往搭建的平台将复杂性间接传递给了利用开发者,使其也得学习大量的额定常识。KubeVela 的设计理念和已有技术成绩或者能够帮忙到你疾速进入云原生世界。KubeVela 在 1.5 版本以及之前数个版本中重点打磨的插件集成标准和对立利用交付体验,无效的解决了云原生畛域的原子能力离散问题。 插件标准降级,更灵便的定义形式KubeVela 插件机制从 1.2 版本公布以来,广受社区用户青睐,社区插件仓库中已存在近 50 款插件。有近 50 位开发者参加了插件的奉献。 详见: https://github.com/kubevela/c... 从 1.5 版本开始,插件开发者能够取得更优的体验。从插件定义,散发到可视化治理都全面晋升。开发者除了能够应用 YAML 形式来定义插件以外,如果心愿更灵便的组合插件包含的资源和更高级的参数化管制,开发者能够齐全应用 CUE 来实现插件的定义。目前插件定义的标准包含以下几局部: template.cue 或者 template.yaml 联合 resources 目录来定义插件的运行时,例如扩大一个工作负载须要在背地运行的 Operator 等。这一部分不是必须的,例如一些轻量级插件能够没有背地的运行时或者复用其余运行时。通过 YAML 和 CUE 联合的配置形式能够笼罩大多数需要场景。definitions 目录,寄存 Definition 定义,这是插件的外围局部,定义了该插件扩大的能力如何被用户应用。schema 目录,用来辅助 Definition,定义相干 Definition 在 UI 侧的自定义渲染规定。 views 目录,存储 VelaQL 的语法定义,用来扩大 VelaQL 的查问能力。 metadata.yaml 与 readme.md,插件元数据定义文件,形容该插件的根底信息和环境需要。 具体标准详见文档: ...

September 7, 2022 · 2 min · jiezi

关于阿里云:ARMS-助力羽如贸易打造全链路可观测最佳实践

随着奢侈品行业在我国疾速倒退,跨境电商市场一直扩张。作为电商行业初创企业的上海羽如贸易有限公司(简称羽如贸易)踊跃进行数字化翻新,突破固有批发思维,借助可观测能力无效晋升用户体验,为业务飞速增长提供稳固反对。

September 6, 2022 · 1 min · jiezi

关于阿里云:Dubbo-Mesh从服务框架到统一服务控制平台

作者:Dubbo 社区 Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官网提供了 Java、Golang 等多语言 SDK 实现。应用 Dubbo 开发的微服务原生具备相互之间的近程地址发现与通信能力, 利用 Dubbo 提供的丰盛服务治理个性,能够实现诸如服务发现、负载平衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩大,用户能够不便地实现流量拦挡、选址的各种定制逻辑。 什么是 Dubbo 3Dubbo 3 放弃了 Dubbo 2 的经典架构,以解决微服务过程间通信为主要职责,通过丰盛的服务治理(如地址发现、流量治理等)能力来更好地管控微服务集群;Dubbo3 对原有框架的降级是全面的,体现在外围 Dubbo 个性的简直每个环节,通过降级实现了稳定性、性能、伸缩性、易用性的全面晋升。 通用的通信协议。全新的 RPC 协定应摒弃公有协定栈,以更通用的 HTTP/2 协定为传输层载体,借助 HTTP 协定的标准化个性,解决流量通用性、穿透性等问题,让协定能更好地应答前后端对接、网关代理等场景;反对 Stream 通信模式,满足不同业务通信模型诉求的同时给集群带来更大的吞吐量。 面向百万集群实例,集群高度可伸缩。随着微服务实际的推广,微服务集群实例的规模也在不停地扩大,这得益于微服务轻量化、易于程度扩容的个性,同时也给整个集群容量带来了累赘,尤其是一些中心化的服务治理组件;Dubbo 3 须要解决实例规模扩大带来的种种资源瓶颈问题,实现真正的有限程度扩容。 拥抱云原生。在云原生时代,底层基础设施的改革正深刻影响利用的部署、运维甚至开发过程,往上也影响了 Dubbo 3 微服务技术计划的选型与部署模式。Dubbo 3 在服务发现模型上全面对齐云原生基础设施的模型,在地址、生命周期等设计可与 Kubernetes 等容器调度平台对齐。 将来的 Dubbo 须要解决什么问题 在 Dubbo 3 性能根本齐备的当下,咱们开始从新对以后 Dubbo 的整体架构进行思考,总结出有以下几个问题: 业务代码与各微服务组件间接耦合,降级难度高在目前的部署状态下,如果须要集成一个组件须要在业务代码的环境中对该组件进行适配。举一个简略的例子,如果须要接入一个自定义数据格式转换组件须要基于 Dubbo 的 SPI 在业务的代码中织入对应的适配实现。这种部署形式对业务的部署造成较高的侵入。如果这个转换组件须要降级,须要推动所有部署了该组件的业务方都降级一遍。在生产环境中难度极高。 多语言实现复杂度高因为目前 Dubbo 所有的计算解决逻辑都以 SDK 的模式集成进业务代码中,在须要跨语言进行调用的时候不可避免地导致了实现复杂度高的问题。对于 Dubbo 来说,除了 Java 和 Golang 的 SDK 实现较为欠缺,其余语言仍欠缺对应欠缺的实现。此外,对于一个拦截器性能,在 Java SDK 下的实现因为语言和接口设计的差别不可能间接复用到 Golang 的 SDK 上,肯定水平上也给中间件开发带来难度和不稳固因素。 ...

September 6, 2022 · 1 min · jiezi

关于阿里云:面向对象分析与设计的底层逻辑

作者: 不拔 面向对象是合乎人意识事物的根本办法人是怎么意识事物的在面向对象呈现之前,已有面向过程的分析方法,为什么面向对象被提出了呢?究其实质起因,人们发现面向过程并不是依照人失常意识事物的形式去剖析软件,那么人到底是怎么意识事物的呢,Yourdon 在《面向对象的剖析》一书中提到,人类意识事物是遵循分类学的原理,分类学次要蕴含三点:辨别对象及其属性;辨别整体对象及其组成部分;不同对象类的造成及辨别。 咱们当初能够回忆下咱们意识事物的过程,是不是和分类学所提到的 3 个要点很类似,看到一个事物,大略会感知到它的组成构造是怎么的,形态是怎么的,属于什么分类。所以,人意识事物是以对象的视角切入的,而后赋于对象具体的概念,比方苹果、梨子、汽车等等概念名称。 分类与分层的两种思维咱们面对的事实世界是非常复杂的,应答复杂事物的有一个重要的办法即是形象,形象在理论利用过程中,又体现在两种办法上:分层和分类。分类即是将有差别的事物归类到不同的分组中,正如咱们常听到的"物以类聚、人以群分"的情理一样,产生分类的起因有两点:一点是事物间的关联严密水平,不须要将所有的事物都耦合在一起;另一点是人把握事物是有局限的,只能把握大量的要点,比方 5~7 个要点,超过了容易遗记。 分层是通过不同的视角看事物,每一层的关注点是不一样的,这种关注点不同是由本人的视角造成的,比方咱们了解计算机,并不需要深刻到二进制电信号去了解计算机。档次个性在软件设计中咱们常常遇到,比方计算机体系结构、TCP 七层协定等,档次个性有一个特点:越往上越具体、越往下越形象,越往上的内容越不稳固,也即是容易变动。 问题域到解空间的映射咱们把须要解决的问题称之为问题域,或者问题空间,把解决方案称之为解空间。正向上一大节中提到的事物有档次个性,不同的人了解的事物是站在各自了解的视角,这样大家的了解、沟通并不统一的。如果咱们看到的问题空间是表层的,那么基于浅层次了解设计进去的计划就会不稳固,可能下次有一个小变动导致计划须要从新设计。 咱们能够把一个软件划分成三层:场景、性能和实体,场景层是常常会变的,比方发放优惠券场景就十分多,比方有天降红包支付优惠、分享有礼支付优惠券、新人注册支付优惠券等,这种场景的更迭随着业务的调整变动得十分快,因而场景层是不稳固的。性能撑持某一些的场景汇合,比照场景,性能相对而言稳固些,就像后面提到的发放优惠券场景,实质就是给用户发放优惠券,只须要提供发放优惠券的性能即可,至于哪些场景来调用它并不关注,但性能还是基于场景的汇合形象进去的,如果场景场景类型变动了,性能也就随之变动,比方担保交易和预售交易就不一样。实体是稳固的,以担保交易和预售交易为例,它的订单模型大抵是一样的,只是新减少了一些信息而已。 因而,咱们心愿从问题空间到解空间,大家看到的、了解的是统一的,而且看到的是问题的实质而非表象,往往场景、性能是不稳固的,而面向过程又是以性能驱动的,所以在易变动的场景下,它面临的问题就比拟多。比较稳定的是问题空间中的实体对象,所以面向对象分析是事实的须要。面向过程和面向对象是两个不同的视角的分析方法:面向过程是一种演绎的分析方法,由外到内的过程;面向对象是一种演绎的分析方法,由内到外的过程。 三个一致性软件开发会经验须要剖析、概要设计、具体设计、编码、测试、上线次要阶段,咱们不心愿每块是割裂的,比方剖析做完之后,做设计阶段又要从新去做剖析的工作,那么这外面就波及到一致性的问题,即需要到剖析的一致性、剖析到设计的一致性、设计到编码的一致性。 这样做的益处能够保障无信息失真,因而咱们急需要一种剖析设计办法能做到这一点,面向对象分析与设计就能做到,因而全流程是以对象作为剖析与设计的指标,在最终编码中也都是对象。 面向对象的底层逻辑提到面向对象,有局部人会提到封装、继承、多态等个性,而后这些并不是面向对象的实质个性,比方封装,面向过程中也有封装,多态面向过程也有体现,这些个性算不上面向对象特有的个性。面向对象的底层逻辑是基于事实事物做的形象映射:事实事物对应软件中的对象,咱们探讨解空间能对应到问题空间中的对象,两者是一一间接映射的,其它的分析方法是问题空间到解空间的间接映射。 面向对象分析与设计的全景图咱们面临的问题是什么从顶层看,咱们要实现需要到编码的工作,然而从需要到编码又会通过多个阶段,如需要剖析、方案设计等,从大的层面讲,咱们次要遇到三个问题: 1. 做什么的问题 看似这是一个简略的问题,但在简单的业务场景下,对做什么的了解太重要了,因为不同的人对需要的了解是不同的,比方最近做了一个我的项目,有一个业务判断规定是只针对跨境订单计税,最开始开发同学的了解是判断卖家类型是否是跨境卖家,然而到了测试阶段,发现大家对这个业务规定判断了解是不统一的,跨境订单跟卖家类型是没有关系的,真正的跨境订单计税场景是 shipTo(收货地址)和 shipFrom(发货地址)国家地址是不一样的。在大项我的项目中,波及到多个团队之间的协同,这样的问题异样突出。而且从业务诉求到产品需要,再到技术计划,这其中是通过了 2 次变换,每次变换是不同的角色在外面,大家的意识也会不一样。 2. 怎么做的问题 落实到事件具体要怎么做时,往往大家并不会出大的问题,怎么做偏具体执行阶段,程序员往往在逻辑严密性上没多大的问题,往往出问题是在第一个问题上,相当于方向弄错了,所做的工作也是无用的。 3. 办法领导的问题 咱们往往心愿劳而不获失去一种万能的办法,可能应答所有的问题,同时又看不起低级的办法,比方大部分人对用例分析方法不屑一顾,想要能体现技术水平高大上的办法。其实自上世纪 70、80 年代,软件的剖析设计办法并没有太大的变动,而且在咱们大学期间都学过,只是大家并不认为它是一种高大上的办法而已。 剖析到设计的过程在本节中,咱们推导软件剖析到设计的过程,由粗到细,最终落实到咱们接触到的 UML 常识上。从需要提出到编码实现,这两头有两个关键问题:一是界定指标,即是定义分明要做什么的问题,相当于是咱们做事的方向、指标;二是具体如何做的问题,即通过怎么具体的计划撑持需要指标实现。因而,咱们须要一种办法可能帮忙咱们界定指标和示意具体计划,而且是大家互认的一种通用的办法。 通过用例图能够帮咱们界定指标,用例中有三个要害因素:用户、场景和指标。比方交易下单是一个用例,它的用户是买家,场景蕴含下单胜利和下单失败两个场景,用例的指标是买家能够购买心仪的商品。当用例指标确定了,相当于界定了指标,晓得需要要做什么,这个过程要重复和业务方确认好,至到最终大家对指标的了解是统一的,方向对了,具体怎么做就好办了。 具体怎么做用时序图示意,画时序图须要留神的一点是顶层的对象档次要统一,不能有的对象示意具体的实体对象,有的示意零碎对象,即对象的层级是统一的,要么大家都是零碎,比方导购零碎调用交易系统,交易系统调用领取零碎,要么大家都是对象,比方商品、订单等。通过时序图能够看到一个残缺性能的执行步骤,它就蕴含具体执行的细节,如失常流程、异样流程。 其实在下面有一个问题,在画时序图时要确定好对象,那么这个对象是怎么来的呢?它是由健壮性图剖析进去的,它外面有三个要害的对象:一个是边界对象,这个比拟好了解,比方UI界面就是边界对象;另一个是管制对象,即是管制业务流程的对象,如下单服务就能够看作是管制对象;实体对象即是问题空间中的业务对象,比方订单。画健壮性图是有规定的,个别是边界对象调用管制对象,管制对象产生实体对象,比方用户下单界面是边界对象,下单服务是管制对象,订单就是实体对象。 寻找对象之路对象从哪里来在本文第一局部第三大节中曾经提到,问题空间到解空间是一一映射,咱们探讨解空间中的对象时,其实它映射到问题空间中的对象,而问题空间中的对象次要来源于业务概念、业务规定、要害事件。大部分的对象是浮现的,咱们通过了解业务能发现,有的对象是隐性的,须要咱们继续对业务有更深的了解能力发掘出来。好的对象模型是须要通过屡次迭代打磨进去的,并非一次就能设计得美中不足。 发现对象的办法在本文第二局部第二大节中曾经提到寻找对象的办法,不过那还只是要害浮现的对象,在本节中次要讲述残缺对象发现的办法,次要办法分成四个步骤: 通过健壮性图找到要害的实体对象;通过构造分析方法找出更多的实体对象;将对象组成有机的对象模型;最初通过用例走查对象模型是否齐备。 这里以一个案例来阐明发现对象的过程,案例是用户在下单时,在订单上展现税的金额。首先画出健壮性图,这里的边界对象是下单界面,管制对象有两个,一个是下单服务,另一个是计税服务,实体对象也有两个,一个是计税单,一个是订单。有了计税单和订单这两个实体对象后,接下来通过构造分析方法,剖析出更多的对象。 对象都是有构造的,只有咱们把握了对象的构造,基本上就能把握对象的概貌,因而咱们从对象的构造动手,去剖析对象外部的构造、对象关联的构造,本质上是从两个维度登程:一是从本身的角度登程,看本人外部还蕴含了哪些对象,如主订单蕴含了子订单;另一个是从内部的角度登程,看本人还与哪些对象相关联,如计税单与订单是有关联的。这种找对象的办法我称之为构造分析方法,因为自身构造又是事物本质的一种表达方式,比方化学分子结构决定化学景象。 为了更好地表白出对象的构造,我的一个教训是给对象下好定义,下定义能够从不同的维度,比方功能性维度、价值性维度、目的性维度、结构性维度等,这里能够从结构性的维度去给对象下定义。以计税单为例,能够给它下一个定义:计税单是将订单金额信息转成若干个标的物计税的单据模型,从这个定义中,咱们能够看到计税单是与订单有关联关系的,另一个是计税单是蕴含了若干个标的物,咱们能够画出计税单的对象模型。 当对象模型画进去后,后续咱们探讨业务基本上围绕这个对象模型去探讨业务问题的,比方商品标的物哪些金额要参加计税、计税金额的计算口径是怎么的,到这里,大家再领会下"问题空间到解空间一一间接映射"这句话,业务上的诉求也无非是哪些订单费用项要计税,计税的逻辑是怎么的,有可能在这个场景下要扣减金本位优惠,在另外一种场景下金本位优惠不须要扣减,基于对象模型与产品、测试同学探讨问题,大家都是处于同一个维度的视角看问题,沟通了解老本会少很多。 对象模型是一种可视化的表白,咱们大部分的沟通问题是不足显性表白造成的,这句话能够这样了解,也能够那样了解,导致大家了解有偏差,当初用模型的模式沟通问题,很多偏差、歧义就打消了。 组织对象构造当咱们剖析出一堆的对象后,还须要通过肯定的组织,正如后面提到,人对事物了解是有局限的,不能一下子承受太多的事物,因而能够将它们分成一个个小的域,比方商品域、订单域、税务域等,这样当汇集一个问题时,能够只看某个子域里的对象模型即可。 如何调配职责职责是怎么来的面向对象最难的点有两个:一个是找出对象;另一个是调配职责。UML 把职责定义为"类元的契约或任务",因而职责的划分从实质来讲还是类元自身决定的,比方订单,它要提供订单渲染、订单创立、订单批改、订单查问的任务。 职责分为两类:一类是认知职责;另一类是行为职责。 认知职责蕴含:<!----> 对公有数据封装的认知。对相干对象的认知。对其可能导出或计算的事物的意识。行为职责蕴含:<!----> 本人执行的行为,包含创建对象或计算。初始化其它对象的动作。管制或协调其它对象的流动。调配职责的逻辑上一大节中提到的职责有两类,认知职责是对象本身的认知范畴,即它只能基于本身属性实现相应的职责,举一个例子,如果一主多子的订单,要计算总的订单金额,怎么调配职责呢?首先商品只能查到本身价格的信息,它的意识是基于商品 price 属性,一个子订单能够有多个商品,那么它也只能计算出子订单的金额信息,它的认知是基于 item 和 quantity两个属性,主订单蕴含所有子订单的信息,那么就能够计算出总的订单金额。 ...

September 6, 2022 · 1 min · jiezi

关于阿里云:阿里云丁宇以领先的云原生技术激活应用构建新范式

8 月 11 日,2022 阿里云飞天技术峰会在深圳举办,会上阿里云提出云原生激活利用构建三大范式,并公布最新的产品与解决方案。基于分布式云容器平台 ACK One,实现多地区分布式系统统一治理;公布 ACK FinOps 解决方案,让企业实现数字化老本治理,云原生老本优化。同时在峰会现场发表,音讯队列 RocketMQ5.0 全面商业化,以更优的老本、超大规模弹性、轻量易集成、全链路可观测的劣势,助力企业构建稳固的音讯零碎。 阿里巴巴研究员、阿里云智能云原生利用平台总经理丁宇在主论坛发表演讲,以下依据演讲内容整顿而成。 丁宇在峰会现场 明天,企业应用构建仍然面临很大挑战,资源如何按需应用,实现降本增效?如何在简单零碎架构下充沛保障业务稳固和连续性,如何做到利用的麻利和业务的智能化?以及十分重要的一点,如何保障系统的可信和平安? 企业亟需充沛开掘云计算的技术红利,助力业务倒退,发明更多的商业价值。而云原生能够激活利用构建范式,以解决企业在新期间遇到的挑战。 全面容器化。 容器带来运维的标准化,明天容器曾经成为云计算和企业交互的新界面,并带来弹性和可伸缩能力的晋升,助力企业应答降本增效的刚需。同时咱们也看到一个趋势就是全负载的容器化。明天讲的容器化,不仅仅是微服务,包含 AI、大数据等新型利用也在全面容器化,这就让容器部署变得无处不在。 核心技术互联网化。 互联网化能够撑持业务的麻利迭代,同时构建弹性架构,让利用能够从容应对流量的顶峰,并实现高可用、高牢靠,保障业务的连续性。 利用 Serverless 化。 Serverless 大幅度晋升企业开发运维效率。并且因为全托管,带来了更加极致的弹性,针对所有场景进行笼罩,让利用上云更简略。 IDC 预测:到 2024 年,因为采纳了微服务、容器、动静编排和 DevOps 等技术,新增的生产级云原生利用在新利用的占比将从 2020 年的 10% 减少到 60%。针对三大利用构建新范式,阿里云提供了哪些云原生产品与计划呢? 首先咱们来看容器服务。阿里云容器产品公布 7 年以来,已倒退成为企业客户与阿里云自研飞天云操作系统交互的新界面。相比开源计划,阿里云容器服务实现了计算密集型利用性能晋升 20%,容器网络延时升高 50%,异构资源利用率晋升 100%,并实现全链路可观测。目前容器服务 ACK 已全面降级为 ACK Anywhere,在企业任何须要云的中央,提供对立的容器基础设施能力。 分布式云容器平台 ACK One:多地区分布式系统统一治理据预测,到 2025 年,50% 大型企业将通过分布式云推动业务翻新,为此阿里云推出了企业级多地区/多集群容器治理平台 ACK One,大幅简化了集群治理界面,提供统一的治理、交付、运维体验。无论是基于公共云、专有云、自有 IDC 还是边缘节点,用户都能够通过 ACK One 进行对立的容器集群治理、资源调度、数据容灾和利用交付。 泛生子是我国当先的癌症精准医疗公司,基于ACK容器技术支持对癌症基因检测数据处理,充分利用了云的弹性能力,日解决能力在过来三年晋升了10倍, 单样本解决老本相比于云下节省成本 60%。 vivo 是国内出名的智能手机厂商,其 AI 计算平台通过 ACK One ,及时满足算力需要,大大缩短资源交付周期,从数月缩短到天级别。 对于长期的短期应用的算力需要,通过混合云应用私有云资源,可升高 90% 以上老本。 ...

September 6, 2022 · 2 min · jiezi

关于阿里云:微服务治理热门技术揭秘动态读写分离

作者:十眠 咱们从利用的视角登程整顿形象了咱们在拜访、应用数据库时场景的一些稳定性治理、性能优化、提效等方面的实战经验,对于每一个后端利用来说,数据库无疑是重中之重,咱们心愿通过咱们的数据库治理能力,能够帮忙到大家更好地应用数据库服务。 MSE 数据库治理残缺解决方案 本文将具体介绍 MSE 数据库治理的热点性能,动静读写拆散的设计与实现。 读写拆散的概述数据库动静读写拆散的常见场景: 一个大客户的申请过去,查询数据库返回上万条几百 M 的数据,数据库的 CPU 间接打满。 微服务利用的某些业务并不是那么重要,却存在大量查询数据库的逻辑,影响数据库实例稳定性,从而导致整体服务质量的降落。 在业务处理过程中,如果对数据库的读操作远多于写操作,那么在做零碎性能优化时就能够思考引入读写拆散的计划,一方面只读库能够承当主库的压力,另一方面可能无效的防止由数据更新导致的锁期待,晋升微服务利用的性能。 随着业务的增长,咱们在肯定机会下须要对数据库实例进行扩容。依据教训大多数利用的读写比都在 5:1 以上,有些场景甚至大量的高于 10:1,在对数据库有大量写申请,但有大量读申请的利用场景下,单个实例可能无奈接受读取压力,甚至对业务产生影响。能够理解到的是数据库读写拆散计划能够满足阿里云上大多数公司的稳定性治理、性能晋升以及数据库扩容的需要。 如果理解读写拆散实现的同学肯定会关注以下这些问题: MSE 是如何解决读写拆散对业务的侵入性?如何做到业务无需改变一行代码,即可具备读写拆散能力。 MSE 如何做到精细化动静的读写拆散管制?即便咱们不晓得这个业务接口实在的 SQL 是什么,但咱们曾经能够管制这个接口的读 SQL 拜访只读实例。 MSE 是如何解决读写拆散带来的一致性问题?对于一致性敏感的业务,如何实现一致性的保障,满足业务在不同场景下对一致性级别的要求。MSE 读写拆散技术揭秘读写拆散也就是将数据库拆分为主库和从库,即主库负责解决事务性的增删改操作,从库负责解决查问操作的数据库架构。单单看读写拆散的概念,第一感觉就是对业务的侵入性肯定不小,那么 MSE 是如何做到无侵入的呢? 无侵入性:无需批改一行代码MSE 数据库治理能力通过 JavaAgent 技术,动静减少用户的数据源,注入动静读写拆散能力,反对运行时动静将弱读申请路由至只读实例。 MSE 在数据源层面实现了形象,其中 DynamicConnection、DynamicStatement 会依据具体规定从而实现 Master/Slaver 的切换,做到依据 SQL 的读写类型、事务的状态以及用户的业务规定来做 SQL 的路由,将符合条件的读 SQL 申请转发至 RDS 只读实例中。 精细化路由:依照申请条件、接口、SQL 多层次多条件很多时候咱们通过编写 DAO 拜访数据库,那么在一些简单利用的场景下,咱们很可能只晓得 DAO 接口,在一些简单场景下咱们只晓得微服务的接口,外部甚至搞不清楚到底调用的哪个 DAO 接口、SQL 语句,甚至如果是运维角色参加设计,咱们很可能不晓得哪个微服务接口导致的读申请导致数据库抖动,咱们只晓得入口利用的某个 uid。那么咱们如何做到对业务接口内的读申请路由至只读实例呢? MSE 数据库治理提供了利用层面残缺的 callStack 信息,能够让咱们站在利用的视角上清晰地看到哪些接口外部执行了哪些 SQL。 MSE 通过链路传递技术,反对在入口微服务、微服务接口、DAO 层面标记弱读申请的标记,反对标记的以后线程内的 SQL 调用、以后微服务内的 SQL 调用、合乎流量条件的申请链路级别的所有 SQL 调用等多个层面的弱读标记传递,最终传递给读写拆散组件的路由引擎进行  SQL 的路由根据的判断。 ...

September 6, 2022 · 1 min · jiezi

关于阿里云:一图看懂天河文链如何实现云原生架构升级

作者:华相

September 6, 2022 · 1 min · jiezi

关于阿里云:如何在-ACK-中使用-MSE-Ingress

作者:彦林 随着云原生架构的遍及,K8s 通过 Ingress 规范逐渐把流量网关标准化,微服务网关作为微服务的入口正在减速跟流量网关交融,Ingress 作为容器和微服务的交加,作为数字世界的入口,作为平安和高可用的第一道防线变得越来越重要!本文将为大家分享一下 Ingress 规范 和 实现的趋势,介绍一下 MSE Ingress 在这个趋势下的劣势和实际,为大家做要害入口抉择多一些参考。 Ingress 趋势K8s Ingress由规范和实现两局部组成, 上面咱们别离探讨一下他们各自的现状和发展趋势。 Ingress 规范现状咱们把网关依照入口-外部,2C-2B 分成四个象限,每个象限都有一个网关子畛域,目前 Ingress 次要定义的是流量网关的规范,然而不能很好的定义 API 网关(API治理) 和 微服务网关(服务治理)场景,更无奈定义集成网关(新老零碎协定转换和接口集成)场景;因而 Ingress 从规范上往 Gateway-API 方向去演进,解决 API 治理和 微服务治理的问题,然而演进须要比拟长时间,以后因为 Ingress 规范定义能力比拟无限,不同的实现通过各自办法扩大,然而扩大形式在分化,因而 Ingress 作为规范的价值弱化,面对将来 Ingress 规范该何去何从? Ingress 规范趋势从社区的反馈上看,Ingress 长期会往 Gateway API 场景去演进,中短期并存,短期以 Ingress 为主去扩大;目前 Gateway API 目前也发了 Beta 版本,根本定型;Gateway API 中减少了对 API 治理和微服务畛域的加强。 Ingress 实现现状Ingress 实现目前从社区上有 Nginx 和 Envoy 两个体系,Nginx 存量大,然而因为架构设计的问题,随着用户规模变大逐渐裸露平安和稳定性危险,目前社区发表进行6个月新需要开发, 集中解决平安和稳定性问题;Envoy + Istio 作为后起之秀,采纳数据面和管制面拆散架构,有更好的平安和稳定性保障,并且反对多语言扩大,热更新劣势,Envoy 社区也推出 Gateway 产品减速 Gateway API 落地。 ...

September 6, 2022 · 2 min · jiezi

关于阿里云:秒懂边缘云-CDN基础入门CDN监测计量与告警

作者:辰舒 在通过CDN对外提供服务时,您须要关注以后减速域名的流量和带宽、回源流量和回源带宽、申请次数和QPS、命中率状况、HTTP状态码和回源HTTP状态码的状况,帮忙您更好地评估CDN的运行状况,并针对业务本身状况设置告警规定,及时发现业务上的突发异常情况。本章节将为您重点介绍「CDN的监控查问及告警」配置的相干性能。 筹备工作1.曾经增加实现的CDN域名 2.阿里云CDN控制台。 本章节内容纲要监控与计量:如何查看业务的带宽、流量、状态码、命中率、账单计量详情等信息。业务报警:如何配置业务域名的异样信息报警推送。其余运维监控性能:站点监控、一次性拨测工具介绍。   监控与计量概述监控:CDN有2种罕用监控,即资源监控 & 实时监控,用于关注业务状态状况 计量:如果须要计量对账,举荐应用用量查问。 性能比照 资源监控在资源监控中,反对查问: 按时间段、域名、区域、运营商、拜访协定、标签查看「拜访流量/带宽」按时间段、域名、标签查看「回源流量/带宽」按时间段、域名、区域、运营商、拜访协定、标签查看「申请数/QPS」按时间段、域名、区域、运营商、拜访协定、标签查看「命中率」按时间段、域名、区域、运营商、拜访协定、标签查看「HTTPCODE」拜访状态码的占比散布和呈现次数按时间段、域名、标签查看「回源HTTPCODE」回源状态码的占比散布和呈现次数留神:资源监控中的区域指用户的起源区域。 查问页面示例 实时监控绝对资源监控,实时监控的数据提早更低,在实时监控中,反对查问: 按时间段、域名、区域、运营商查看「拜访流量/带宽/申请数/QPS」按时间段、域名查看「回源流量/带宽」按时间段、域名、区域、运营商、拜访协定、标签查看「命中率/状态码」  留神:资源监控中的区域指用户的起源区域。 查问页面示例 用量查问用量查问次要用于计费、对账应用,因而用量查问中的区域指节点所在区域。 在用量查问中,反对查问: 按时间段、域名、计费区域、标签查看「流量带宽/HTTPS申请数/QUIC申请数」按时间段、域名查看「回源流量/带宽」查问页面示例 此外,您还能够通过用量中的其余性能标签导出信息用于对账: 用量汇总:反对按日或按月查问CDN的用量数据。查问后果将显示按流量计费、按实时日志条数计费、按增值服务计费和QUIC申请数的用量数据。汇总导出:反对按日或按月导出CDN用量数据。胜利创立用量导出工作后,可导出PDF格局的用量信息,便于您及时理解CDN用量明细(目前暂不反对在日本语和繁体中文语言环境下创立工作,请在简体中文或者英文语言环境下创立工作)。明细导出:反对创立用量明细导出工作。明细导出最多只能导出30天的数据,胜利创立账单导出工作后,可将用量明细下载到本地查看。导出用量明细的所有数据,均为每五分钟一个计费点。用量明细以Excel模式展现,便于您理解CDN的用量明细,核查理论用量。业务报警在CDN控制台的利用中心里,点击「监控CDN服务」-「去应用」将跳转到云监控的控制台。 报警联系人设置在云监控的报警服务中,能够创立报警联系人,并反对创立报警分割组,在后续创立报警规定中,指定告警通过指定的联系方式推送到相干联系人/分割组。 CDN报警配置在云产品监控中搜寻CDN,跳转CDN监控报警配置页面。 单域名告警针对须要配置报警的域名,创立报警规定,设置所需关注的监控指标及告警指标阈值。 下图以设置单域名回源5xx告警为例: 对立域名告警针对所有CDN域名,创立对立报警规定,设置所需关注的监控指标及告警指标阈值。 下图以设置所有域名带宽峰值告警为例: 其余运维监控性能网络分析与监控-站点监控(定时拨测)站点监控反对Http(s)、Ping、Tcp、Udp、Dns、Smtp、Pop3、Ftp等丰盛的协定探测。通过散布在寰球的网络节点,对域名或IP发动模仿终端用户的拨测申请。寰球300+自建探测节点,国内笼罩省会城市及三大运营商,海内笼罩AWS、Google、Azure等云厂商海内热门城市可用区。节点稳固牢靠,探测后果精确可信,帮助您把握不同地区运营商网络用户到域名/IP的可达性、响应时延等状况,并反对配置异样监控告警。反对响应工夫、可用率、地区、运营商等不同维度指标穿插剖析监控数据,也可将多个工作监控数据做比照剖析。 一次性拨测在一次性拨测工具页面,能够从服务端发动HTTP检测、Ping检测、DNS检测或路由追踪检测,并反对指定相干参数发动申请。您能够从不同地区运营商网络的探测点发动HTTP、Ping、DNS或路由追踪的网络拨测,以便理解不同地区网络环境单次访问检测指标的状况。 完结至此,CDN监控、计量与告警局部曾经完结,举荐您在CDN业务运行过程中,结合实际状况配置监控告警,及时发现线上突发状况和异样问题,保障业务的安稳运行。 在下个章节中,咱们会持续学习「CDN经营报表」性能的应用,经营报表反对统计并展现用户拜访的PV/UV、地区和运营商、域名排行、热门referer、热门URL、回源热门URL和Top客户端IP七个报表内容,帮忙您进行业务状态剖析。 更多边缘云产品动静欢送关注公众号【阿里云Edge Plus】

September 5, 2022 · 1 min · jiezi

关于阿里云:首次全面解析云原生成熟度模型解决企业诊断难规划难选型难问题

作者: 白慕、长虑 从“上云”到“云上”原生,云原生提供了最优用云门路,云原生的技术价值已被宽泛认可。以后行业用户全面转型云原生已是大势所趋,用户侧云原生平台建设和利用云原生化革新过程正在减速。 然而,云原生简单的技术栈和传统IT的历史包袱给用户带来了微小挑战, 针对平台建设和利用革新的能力要求短少对立标准成为企业转型的最大阻碍。在用户侧, 企业执行层面存在“三难”问题,即诊断难、布局难、选型难,需要和供应不能精准对应,短少权威建设指南;在技术供应侧, 技术迭代减速,产品能力构建短少行业“灯塔”,技术押宝的危险掣肘倒退。 正因如此,想要推动云原生技术的规模化利用,云原生产业仍需买通供需最初“一公里”。在此背景下,中国信通院联结业界20余家单位近 40 名专家、历时 1 年,实现了国内首个云原生能力成熟度模型规范体系的编撰,并实现首批评估工作。阿里云是国内首个通过云原生能力成熟度模型测评的企业,并在最终信通院颁布的测评后果中取得国内惟一全域(资源管理域、运维保障域、研发测试域、应用服务域)最高等级认证。 总体介绍云原生的趋势首先咱们先总体介绍一下云原生成熟度相干规范的产生背景,以及以后云原生的发展趋势,包含技术架构、业务利用和架构平安三个方面去做具体的规范解读,以及对阿里云测评后果的剖析。 过来几年,云原生技术失去了高速倒退,云原生技术可能给企业带来利用开发效率的大幅晋升。IDC 预测,到 2024 年,因为采纳了微服务、容器动静编排和 DevOps 等技术,新增的生产级云原生利用在新增利用的占比,将从 2020 年的 10% 减少到 60%;到 2024 年,数字经济的倒退将孕育超过 5 亿个新利用和服务。这与过来 40 年间呈现的利用数量相当。同时到 2025 年,超过一半的中国五百强企业将成为软件生产商,超过 90% 的应用程序为云原生应用程序。到 2025 年,三分之二的企业将每天公布新版本的软件产品,这都是云原生技术倒退可能给企业带来的直观的扭转。 云原生技术已大规模进入企业生产环境在去年信通院公布的《中国云原生用户考察 2021》中,咱们也看到,有靠近半数的企业客户曾经把容器技术利用在外围生产环境中。在微服务畛域,超过八成的用户曾经采纳或打算采纳微服务架构进行利用开发。微服务曾经成为了利用开发的架构优选;在 Serverless 畛域,它作为云原生畛域一个新兴的技术演进方向,目前已在外围业务中应用,Serverless 的用户也曾经靠近了两成,已开始和打算应用 Serverless 技术的用户超过七成, 市场的后劲是十分大的。 云原生技术价值已被认可,规模化利用仍有瓶颈在这种状况下,大量的企业客户一方面认同云原生技术可能带来的价值晋升,比如说晋升资源利用率,晋升弹性伸缩效率,晋升交付效率,晋升零碎运维效率等等。并且从趋势来看,2021 年对于这些价值的认同点相较 2020 年失去了大幅晋升。也就是说,企业客户对于云原生价值的认同感是大幅度的提 升。 然而同时咱们也看到,企业客户对于云原生技术选型存在的顾虑,也在肯定水平上减少了,次要包含大规模利用云原生技术时,对于安全性、可靠性、性能和业务连续性方面的顾虑。同时对于高速倒退的技术栈带来的适度简单、学习老本高的问题,也是企业客户十分关注的点。 云原生产业供需仍需买通最初「一公里」所以咱们能够看到,包含咱们在跟很多客户去做沟通的时候,也看到企业客户在面对云原生技术的时候,通常处于一个比拟纠结的状态。一方面寄心愿企业的 IT 架构可能享受技术倒退的红利,实现降本增效。然而同时又因为简单的技术,或者是对于本人的技术人员以及相干技术的控制力有余,可能带来的一系列问题有十分大的顾虑。咱们简略把这些顾虑分成供应侧和需要侧两端来看,在企业客户执行面的确存在诊断难、布局难、选型难等问题。 站在技术供应的角度来看,技术倒退及产品的倒退脉络是很难把握的。因为云原生技术它不像中间件或者是虚拟化技术曾经倒退了很长一段时间,云原生技术通过了六年的高速倒退,其中也是经验了十分多技术路线的扭转。在这个过程中,用户对于倒退脉络其实是比拟难把握的。同时用户的需要又是比拟多变的,短少一个主线,同时还蕴含了技术押宝的危险比拟高。在用户需要侧整体的架构布局不足规范的参照。比方当用户在设计业务零碎架构时,其实没有一个很好的权威阐明怎么去利用云原生技术。同时在建设门路方面,也不够清晰,技术路线庞杂也比拟难筛选,撑持架构的技术水平不足比照。事实需要和供应商能力不能精准对应需要侧的艰难等。所以站在供应和需要两端来看,咱们其实是短少一个行业权威建设云原生的指南,可能给到企业客户在布局本身 IT 架构原生化的过程中,有一步一步演进的操作指南。这个指南须要解决什么呢?解决用户侧理论问题为导引,并且以行业技术倒退的趋势为指引,来实现用户云原生化的疾速和高效落地。 所以基于一系列问题,阿里云云原生利用平台团队在2020 年初推出了《云原生架构白皮书》,并于往年全新降级了 2022 版。 全新降级!《云原生架构白皮书 2022 版》重磅公布 《云原生架构白皮书》是把阿里巴巴过来多年在云原生畛域的实际和推动的教训进行了总结和形象,并且咱们在《云原生架构白皮书》中也提出了云原生架构成熟度模型,咱们提出的模型次要蕴含了服务化能力、弹性能力、无服务器化水平、可观测性、韧性能力、自动化能力这六个指标维度。并且每个指标维度给出了 0 到 3 分的倒退阶段的评分。客户能够基于这样的一个维度,对于本身的 IT 架构零碎进行一个比拟具体的评分,并且基于总分可能整体地来定级。咱们蕴含了零级、根底级、倒退级和成熟级,基于整体的云原生成熟度模型,能够有助于企业站在一个全局的视角看本人的 IT 架构云原生化的成熟度状况。 ...

September 5, 2022 · 1 min · jiezi

关于阿里云:MSE-支持-Apache-Shenyu-网关实现全链路灰度

作者:卜比 什么是全链路灰度微服务体系架构中,服务之间的依赖关系盘根错节,有时某个性能发版依赖多个服务同时降级上线。咱们心愿能够对这些服务的新版本同时进行小流量灰度验证,这就是微服务架构中特有的全链路灰度场景,通过构建从网关到整个后端服务的环境隔离来对多个不同版本的服务进行灰度验证。 在公布过程中,咱们只需部署服务的灰度版本,流量在调用链路上流转时,由流经的网关、各个中间件以及各个微服务来辨认灰度流量,并动静转发至对应服务的灰度版本。如下图: 上图能够很好展现这种计划的成果,咱们用不同的色彩来示意不同版本的灰度流量,能够看出无论是微服务网关还是微服务自身都须要辨认流量,依据治理规定做出动静决策。当服务版本发生变化时,这个调用链路的转发也会实时扭转。相比于利用机器搭建的灰度环境,这种计划不仅能够节俭大量的机器老本和运维人力,而且能够帮忙开发者实时疾速的对线上流量进行精细化的全链路管制。 基本概念 泳道:一条虚构的流量门路,比方上图中标签 1 的流量,就属于一个泳道 基线环境:承载所有流量,比方某个服务,没有标签 1 节点,那么就会回退到基线环境 流量回退:某个服务,没有标签 1 节点,那么就会回退到基线环境,这个行为叫流量回退 泳道组:为便于了解,流量波及利用以及其泳道,称为泳道组。全链路灰度的利用场景日常/开发/我的项目/测试环境隔离结构日常、开发、我的项目、测试等多套环境的“泳道”,每个我的项目环境都有惟一的一个我的项目标签,流量带上这个我的项目标签后会路由到该我的项目环境,否则会去骨干环境。如果没有这套机制,开发环境要进行物理隔离,这就须要部署整套微服务架构,老本十分高。 全链路灰度公布线上所有利用部署灰度版本,灰度流量全副进入灰度版本,失常流量进入生产版本。灰度版本只针对灰度流量验证,无效缩小危险。云上客户安 x 就有这样的场景,要灰度公布 N 个利用,想灰度流量在这 N 个利用的灰度版本之间路由。 高可用/邻近路由业务高可用部署后,服务调用如果跨机房,会带来额定的调用提早。开启同机房优先路由后, 让 Consumer 服务调用优先选择雷同机房的 Provider,升高 rt。 全链路压测间接应用线上环境压测,让压测流量的 DB 操作落库到影子表,Redis 落到影子 KEY,MQ 落到影子 TOPIC。如果没有路由能力,须要搭建一套仿真的线上环境用于压测,老本直线回升。用线上环境配合流量控制能力能够实现 0 机器老本,0 保护老本实现全链路压测。 波及技术那么全链路灰度具体是如何实现呢?咱们须要解决以下问题: 1.链路上各个组件和服务可能依据申请流量特色进行动静路由 (标签路由) 2.须要对服务下的所有节点依照标签分组,可能辨别版本 (节点打标) 3.须要对流量进行灰度标识、版本标识,并向下传递 (标签传递) 除了对 RPC/HTTP 调用须要依照标签灰度,对 DB、音讯、分布式工作也须要依照标签灰度(音讯灰度、数据库灰度)标签路由在云原生环境下,因为节点的生命周期缩短,IP 变动,导致原来依照 IP 来设置路由规定的形式不再实用。所以,标签是云原生环境下的一等公民。 不管节点、流量、还是音讯,都不再通过 IP、节点来标记,运维开发同学只须要关注标签就能够。 在不同的上下文中,有不同的标签值,能够带来不同的业务场景。 比方当标签值是可用区的时候,就能够实现邻近路由;当标签值是版本的时候,就能够据此实现金丝雀公布、全链路灰度等。 节点打标在云原生环境下,尤其是典型的 K8s 部署模式下,咱们能够通过 labels 来给一组 pod/workload 打标,这样就能通过标签来标记、查找节点。比方 K8s 的 service 就依赖了 label;阿里云微服务引擎(MSE)也应用 label alicloud.service.tag 来设置节点标签。 ...

September 5, 2022 · 2 min · jiezi

关于阿里云:十问-RocketMQ十年再出发到底有何不同

背景作为一种实时数据的解决平台,音讯零碎的倒退跟业务架构的变迁始终非亲非故,那么咱们能够透过业务架构的变动来看音讯零碎的倒退历程和将来趋势。通过十多年的倒退,RocketMQ 逐步成为了一个音讯、事件和流一体的超交融解决平台。 在音讯畛域,全面拥抱云原生技术,弹性伸缩,开箱即用。在事件畛域,产品状态全面降级,拥抱行业标准,让事件驱动架构无处不在,从繁多业务的数字化零碎,扩大到跨业务、跨组织的数字化商业生态。事件驱动架构同时也让云计算、云原生的技术可能更大规模的落地,进步云产品和用户业务的集成度,让 Serverless 技术被更大范畴的驳回,为客户降本增效。在流畛域,流存储加强批量个性,大幅度提高数据吞吐量;新增逻辑队列能力,解耦逻辑资源和物理资源,在流场景也具备无缝伸缩能力;新增轻量流解决引擎,提供实时事件流解决、流剖析能力。 云原生时代,RocketMQ 全新降级背地的起因是什么?咱们选取了十大问题,抛给阿里云 RocketMQ 团队,听听他们对于产品倒退与决策的思考。 十问 RocketMQ消息中间件有着近 30 年的行业历史,其在业务开发过程中表演的角色产生过哪些变动?音讯队列属于最经典的中间件之一,曾经有 30 多年的历史,其倒退历程能够总结为几个阶段: 第一阶段,2000 年之前。这个阶段的音讯队列供应商是几家商业软件巨头,比方 IBM、Oracle、Microsoft 都有本人的商业化 MQ,其中最具代表性的是 IBM MQ,价格昂贵,面向高端企业,次要是大型金融、电信等企业;这类商业 MQ 个别采纳高端硬件,软硬件一体机交付,MQ 自身的软件架构是单机架构。 第二阶段,2000~2007 年。进入 00 年代后,初代开源音讯队列崛起,诞生了 JMS、AMQP 两大规范,与之对应的两个实现别离为 ActiveMQ、RabbitMQ,他们引领了初期的开源音讯队列技术。开源极大的促成了音讯队列的风行、升高了应用门槛,技术普惠化,逐步成为了企业级架构的标配。  第三阶段,2007~2017 年。PC 互联网、挪动互联网爆发式倒退。因为传统的音讯队列无奈接受亿级用户的拜访流量和海量数据传输,诞生了互联网消息中间件,外围能力是全面采纳分布式架构、具备很强的横向扩大能力,开源典型代表有 Kafka、RocketMQ,闭源的还有淘宝 Notify。 在前两个阶段,消息中间件在业务开发过程中,单纯地扮演着「异步解耦」的角色,属于软件架构的一种范式,业务通过引入消息中间件来解决同步架构带来的耦合问题。进入到第三个阶段后,互联网的海浪数据是前两个阶段无奈设想的,对于业务来讲单纯的异步解耦远远不够的,在互联网的流量下,音讯队列的消费者会轻易被打垮,这个时候业务对消息中间件的需要多了「沉积和削峰」,RocketMQ 便是在这个背景下诞生的,通过 RocketMQ 对流量进行削峰,让业务有机会通过安稳的流量解决海量的沉积数据,这项技术是撑持淘宝天猫每年双十一的利器。 进入互联网时代以来,音讯队列跟互联网业务相辅相成,经验了疾速倒退的阶段,音讯队列在业务开发过程中也逐步从「架构层面」深刻到「业务层面」。在这期间,RocketMQ 做了大量业务上的翻新来满足业务的疾速迭代需要,这其中最典型的就是 RocketMQ 在撑持阿里团体和阿里云用户过程中孵化进去的 「全类型业务音讯」,这些音讯能够说承当了相当于一部分的业务逻辑。 全类型的业务音讯诚然大大提高了互联网业务的迭代速度,但互联网的规模对音讯队列的挑战远不止于此,互联网业务对音讯队列的音讯解决和服务能力都有极高的要求,RocketMQ 为服务互联网业务诞生了大量当先的音讯解决能力,比方阿里的交易音讯(Notify),订阅比达到了 1:300,然而投递比只有 15:300,SQL 过滤的能力就是用来解决这种高订阅比、低投递比的业务场景的。除此之外,RocketMQ 提供了大量的音讯治理能力,包含音讯回放、音讯重试、死信音讯等。 RocketMQ 将音讯的治理能力在容灾方面施展到了极致,大家都晓得互联网业务对可用性有着极高的谋求,阿里外部的数据库和中间件在各个商业化版本外面都提供了容灾能力,来满足互联网用户对于容灾高可用需要。 RocketMQ 创新性地通过组合流量管控和数据复制「寰球音讯路由」方面的技术积淀提供了多活和灾备的解决方案。 总结下来,音讯队列在倒退的过程当中,从最后的帮忙业务进行「异步解耦」,到互联网时代的沉积和削峰,再到起初从架构层面深刻到业务层面,通过不同的业务音讯来积淀通用的开发范式,到最初通过当先的音讯治理和服务能力,来满足互联网业务对业务管控和多活容灾等方面的需要。能够说 RocketMQ 倒退至今曾经深刻到了业务的架构、开发范式、运维管控、可观测性、容灾架构等方方面面。 在消息中间件的倒退历史当中,业务开发架构有过哪些降级,音讯零碎又是如何去适配这些变动的?音讯的倒退跟业务架构的变迁是非亲非故的,业务最开始采纳的架构是「单体架构」,其开发、运维和迭代都非常简单,但受限于其扩大能力,业务很快便向「分布式架构」演进,早在 2008 年淘宝和天猫发动一次最大规模的架构降级,启动了“五彩石”我的项目,把单体利用拆分成分布式应用,同时形象淘宝、天猫的独特底座-业务中台,包含交易中心、商品核心、买家核心等。在业务中台之下,同时诞生了阿里中间件(初期三大件包含音讯、RPC、分布式数据层),RocketMQ 是其中之一。 能够说,RocketMQ 诞生于「分布式架构」阶段,在这个阶段,业务对「分布式」并没有达成共识,各个公司对单体利用的拆分形式也是形形色色的,有垂直拆分,有程度分层,有按组件拆分,也有按服务拆分,但最终微服务架构逐步成为了业界支流。但不论业务如何去落地分布式架构,音讯零碎在外面总是以「分布式通信」的原子能力去适配这些变动的,无论分布式应用是如何组织业务架构的,音讯零碎在这个阶段总是作为「分布式应用的通信基础设施」来助力业务架构的疾速变迁,最终演进到较为理想的微服务架构。 近些年,利用的拆分粒度从「微服务」有逐步向「单个函数」演进的趋势,利用呈现出所谓的 Serverless 架构,通过函数构建的利用粒度更细,每个函数往往是单个操作,函数的编排和驱动面临着十分大的挑战。音讯零碎作为通道除了施展「通信设施」作用,在函数计算场景,会进一步承当「集成与被集成」的角色,帮忙函数计算编排函数,集成各类事件源,成为函数计算的驱动力。 ...

September 5, 2022 · 2 min · jiezi

关于阿里云:我们总结了-3-大使用建议并首次公开-Nacos30-规划图-Nacos-开源-4-周年

作者:于怀 Nacos 是什么Nacos 是 Dynamic Naming and Configuration-Service 的首字母简称,定位于一个更易于构建云原生利用的动静服务发现、配置管理和服务治理平台。从 2018 年 7 月开始发表开源以来,曾经走过了第四个年头,在这四年里,备受宽广开源用户欢送,共播种 23.3K 的 star 数,10.3K 的 Fork 数,在开源中国公布的 2021 年度 OSC 中国开源我的项目评比中,Nacos 被评为云原生畛域人气指数 Top5 的我的项目,公布电子书《Nacos 架构与原理》6w+浏览量,2w 下载量,公布半年的工夫里在阿里云藏经阁历史下载榜前十。Nacos 在社区独特的建设下一直成长,逐渐的开始帮忙用户解决理论问题,助力企业数字化转型,目前曾经宽泛的应用在国内的公司中,依据微服务畛域考察问卷,Nacos 在注册配置核心畛域曾经成为国内首选,占有 50%+国内市场份额,被头部企业宽泛应用! 《2022 中国开源倒退蓝皮书》由中国开源软件推动联盟(COPU)牵头,联结中国开发者网络(CSDN)、北京开源翻新委员会、凋谢原子开源基金会、中国电子信息产业倒退研究院、中科院软件研究所等 85 家企业及行业机构、120 多位开源专家和志愿者独特合作编撰实现,旨在全面展示以后中国开源倒退的全景图,为国家政府相干治理部门、科研院所、科技企业以及开源从业者提供更多的实践参考和数据撑持,进一步助力我国开源生态的蓬勃发展。 依据最近刚公布的《2022 中国开源倒退蓝皮书》报告中显示,Github 中国我的项目活跃度 TOP 20,Nacos 排名全国第六,作为根底类型云原生中间件,能有如此活跃度是十分不容易的,在上一年度《2021 中国开源倒退蓝皮书》中,Nacos 排名全国第十,也体现 Nacos 不仅仅维持高的我的项目活跃度,而且我的项目关注度和活跃度还在逐步提高。 同时阿里巴巴在国内企业中开源影响力排行第一,在《2022 中国开源倒退蓝皮书》中介绍:“阿里巴巴是国内参加开源技术生态建设的企业榜样。自 2011 年至今,阿里累计开源我的项目超过 3000 个,代表性的我的项目包含龙蜥操作系统、Apache RocketMQ、Apache Dubbo、Spring Cloud Alibaba、 Nacos、Seata、PolarDB-X、PolarDB for PostgreSQL 等”。 Nacos 是阿里巴巴微服务畛域开源我的项目的活跃度排行第一,也得益于开源合作模式,并且在 Nacos 中有大量国内外出名公司的外围贡献者,其中也蕴含就任在腾讯、华为、小米等等知名企业的同学,也正是社区整体的贡献者和用户在帮忙 Nacos 成长,让 Nacos 逐步完善生态,反对简直所有支流语言,整合更多开源生态,也正是用户和社区贡献者让 Nacos 为企业数字化转型首选产品。 ...

September 5, 2022 · 1 min · jiezi

关于阿里云:新零售标杆-SKG-全面拥抱-Serverless实现敏捷交付

作者:排列昂、昕辰、龙琛、黛忻 我的项目背景SKG 公司是一家专一于高端衰弱产品的研发、设计与制作的企业。专一为消费者提供粗劣、时尚的高端产品,以及极致的按摩仪产品体验。 随着市场需求的迅速变动,SKG 的 IT 零碎也逐步面临着库存不精确、线上线下渠道无奈协同、部署架构不灵便、IT 响应速度过慢等问题,为了能适配销售拓展、提高效率、增强规模化经营,SKG 同阿里云达成策略单干,打造基于线上线下买通,并笼罩全渠道利用场景的渠道中台我的项目。本次渠道中台建设面向 SKG 线上、线下、礼品等渠道的营销治理,买通经销商、导购、后端 SAP 多端业务数据,同时整合面向 C 端会员数据和渠道批发终端销售数据,以全新的互联网架构云化零碎能力撑持业务疾速倒退。 基于底层渠道中台构建的营销经营治理平台、经销商门户、导购终端小程序,须要有多端触达能力,同时满足不同端的个性化业务诉求和拜访特点,要求中台有灵便的扩大定制能力、以及适配不同渠道流量需要的弹性能力。 现状问题&剖析在渠道中台建设之前、SKG 次要是租用 IDC 机房部署利用,也有业务跑在云上,整体是 IDC 机房+ECS 自建利用配套 RDS 等云产品的混合云架构。整套零碎架构须要手工保护的中央比拟多,比方:利用公布、开源产品搭建接入、云服务集成、集群保护等根本都是单点治理、手工操作。老零碎交付过程中和转维后痛点有: 麻利协同、DevOps 等的成熟度低:过来我的项目迭代短少全生命周期管控,对问题和工作进度的跟进次要靠线下沟通、短少在线化追踪工具;DevOps 流程短少自动化的工具撑持,如业务利用的公布上线,根本都是人肉公布,公布耗时长、流程低效、且容易产生线上平安故障。 利用上线部署繁琐:上线需进行资源评估、应用服务器购买、装置配套软件初始化等操作流程较长;此外还须要搭配集群监控、公布&调度脚本服务治理、配置管理、日志备份等能力,都须要独自部署配套组件或零碎。 自行施行容器化存在上手老本:开发对 K8s 等容器治理平台底层细节不相熟、绝对比拟黑盒,呈现问题排查进度较慢。 弹性伸缩不不便:业务侧有肯定的峰谷,而在低谷期资源利用率很低;扩容须要从新走一套上线流程、且扩容后不容易下机器; 后续中台上线之后、预计会拆出更多的微服务利用、但这些利用因承接的业务场景不同流量不平均,须要有更灵便的弹性策略。 前期运维老本高:不单须要保护利用自身、还须要保护整套基础设施及对应的配套零碎;须要投入较多的额定人力技术选型&比照基于以上痛点以及其余中台我的项目的施行教训,项目组在渠道中台项目前期做技术选型、架构设计时,一开始就否决了在 ECS 或 K8s 上间接部署利用的计划,心愿有一个省事的“容器托管平台”。尽量减少运维老本、屏蔽底层细节,对开发上手敌对、且能较大化进步部署公布效率,具体来说,次要心愿达到以下几个指标: 心愿有对立的治理平台进行在线化交付,全生命周期管控,以此来进步我的项目施行效率,该平台需具备麻利协同、DevOps、品质保障等能力,尤其是具备 CI/CD 流水线自动化部署至选型的容器托管平台的能力,用于保障我的项目交付品质、晋升我的项目交付效率、同时升高交付老本。我的项目采纳基于 Spring Cloud 的微服务架构、须要容器平台能无缝兼容。心愿平台能屏蔽底层 ECS 和 K8s 的运维工作,开发大部分工作能够在控制台实现,不须要投太多精力在运维下面,能够专一在业务性能开发上。有肯定的弹性伸缩能力、扩缩容比拟不便、可能定制性的做一些资源优化。微服务利用的配套设施要齐备:如灰度公布、流量管制、近程调式、监控等等,可能不便的集成。基于以上的一些诉求,咱们举荐了基于 SAE(Serverless 利用引擎)的无服务器化容器平台计划、并做了一个两者的比照(如下表格): 我的项目交付停顿我的项目在施行过程中深度应用了阿里云飞天技术服务平台——大禹进行在线化交付,通过平台进行对立的管控和赋能。 目前 SKG 渠道中台已上线包含微服务网关、微服务中心、前台 Portal、终端小程序、前端 Node 利用等前中台所属 20 多个利用全副部署在 SAE 上;上线过程不须要花太多额定的工夫做零碎革新或适配,只须要在控制台做一些必要的配置即可,且上线后平台运行安稳。 渠道中台业务零碎的研发态和运行态大图如下所示: SKG 渠道中台研发态&运行态大图 我的项目交付过程中的直观感触CI/CD 自动化部署至 SAE:通过大禹提供的 CI/CD 流水线能力将业务利用自动化部署至 SAE,彻底替换原来的人工部署、人肉运维的低效形式,在晋升利用部署效率的同时,也无效升高了利用公布变更的危险,实现了可控部署、平安生产的成果。 免运维&聚焦业务:以往相似规模的集群和利用数、至多须要配置 2 个专门的运维;应用 SAE 后根本免运维、省去专门运维投入;一些 SAE 控制台配置操作根本由开发兼职即可;以往保护利用集群、常常须要排查 K8s 集群和 ECS 底层的一些问题;应用 SAE 这块根本不必关注。 良好兼容各类微服务框架:对基于 Springboot、Spring Cloud、Dubbo 等微服务框架开发的利用兼容较好、同时很不便的集成了 ACM、ARMS 等云产品;屏蔽了局部底层细节,能够做到一键低配置部署。弹性伸缩、疾速扩缩容:弹性策略灵便、在做资源优化的时候较为不便调整。我的项目交付成果SAE 指标全副 20+利用初始化配置-创立-部署到 SAE 上只须要 2-3 个小时;资源老本比独自购买机器节俭 30% 以上;因为 SAE 反对 0.5core 的规格,开发测试环境资源开销得以升高50%以上;扩容效率则从按天计进步到分钟级。 ...

September 5, 2022 · 1 min · jiezi

关于阿里云:我们总结了弹性伸缩的五个条件与六个教训

作者: 孤弋 前言弹性伸缩是云计算时代给咱们带来的一项核心技术红利,然而 IT 的世界中,没有一个零碎性能能够不假思索的利用到所有的场景中。这篇文章,咱们将利用企业级分布式应用服务-EDAS 的客户在进行零碎架构设计时,在弹性场景下遇到的点滴做了一个零碎的梳理,总结为五个条件和六个教训分享给大家。 五个条件1、启动无需手动干涉是否须要手动干涉是弹性伸缩和手动伸缩的本质区别。在传统利用的运维中,一个过程的启动往往须要在机器上手动筹备一系列的事件,如:环境搭建,依赖服务的配置梳理,本地环境配置调整等。如果是在云上的利用可能还须要手动调整平安组规定,依赖服务的访问控制等;但这些须要手动执行的动作在主动弹性时都会变得不可行。 2、过程自身无状态确切的说,无状态次要是指业务零碎运行时对于数据的依赖水平,数据是在过程执行的过程中产生的,产生的数据会对起初的程序行为产生继续的影响,程序员须要在编码逻辑的时候,就思考如果零碎在一个新环境中从新拉起时,这份数据是否对于行为会造成不统一的状况?举荐做法是数据应该最终以存储系统中为准,让存储计算做到真正的拆散。 3、启动的要快,走的要有“尊严”弹性,尤其是云上的弹性,其中一个特点是会进行得很频繁。尤其是流量突发型的业务,带着肯定的不确定性。而启动后的零碎往往处在一个“冷”的状态,启动之后如何疾速的“加热”是弹性有效性的要害。而在弹性完结之后,往往随同着一次主动的缩容,因为这个过程也是主动的,所以咱们须要能从技术上能做到主动流量摘除的能力,这里的流量不仅仅包含 HTTP/RPC,也包含音讯、工作(后盾线程池)调度等。 4、磁盘数据可失落在利用启动过程,咱们的应用程序可能会应用磁盘配置一些启动依赖项之外;在过程运行的过程中,咱们也会习惯性应用磁盘打印一些日志,或者记录一些数据。而弹性场景是过程快起快没,没了之后放在磁盘上的数据也都没了,所以咱们要做好磁盘数据失落的筹备,可能有人会问日志怎么解决?日志应该通过日志收集组件收走,进行对立的聚合、荡涤和查阅。这一点在 12 factor apps 中也做了强调。 5、依赖的服务充沛可用成规模的业务零碎,往往不是一个人在战斗。最典型的架构中,也会应用到一些缓存、数据库等核心服务。一个业务弹性扩容上来之后,很容易疏忽核心依赖服务的可用性。如果依赖服务呈现不可用,对于整个零碎可能就是一个雪崩的效应。 六个教训1、指标值设置不合理弹性整体分为三个阶段:指标获取、规定计算、执行伸缩;指标获取个别通过监控零碎或者 PaaS 平台自带的组件获取。根底监控指标常见的如:CPU/Mem/Load 等。短期内有一些根底指标数值会存在不稳固的特点,然而工夫拉长,失常来看会处在一个“安稳”的状态,咱们设置指标的时候,不能以短时间的特色为根据,参考较长时间的某种水位数据能力设置一个正当值。且指标不宜过多,同时缩容指标要和扩容指标存在显著的数值差。 2、把“延时”当指标很多时候咱们识别系统可用性的一个很大的判断,就是看零碎屏幕是不是在“转圈圈”,即零碎很慢。常理推断,很慢就要扩容了。所以咱们有一些客户间接把零碎的均匀 RT 当成了扩容指标,但零碎的 RT 是多维度的,比方 health check 个别都是很快的,这类 API 呈现的频率稍高一点,一下就拉低了平均值。也有的客户会准确到 API 级别,可是 API 也是依据参数不同逻辑不一样的从而造成 RT 不一样。总之,依据延时去做弹性策略是很危险的一种做法。 3、指定繁多的扩容规格扩容规格指的是资源的规格,比方在云上的场景中,对于同一种 4c8g 的规格,咱们能够指定内存型、计算型、网络增强型等。然而云上是一个大资源池,对于某一种规格,会存在售罄景象;如果咱们只指定了繁多的规格,就会呈现资源无奈提供而呈现扩容失败的状况。这里最危险的还不是扩容失败自身,是呈现业务故障之后的排查过程会特地漫长。 4、只思考RPC链路中的利用策略针对单个利用往往都很简略的,难的是整个业务场景的梳理。梳理思路一个简略的方法就是依照利用调用的场景进行,从利用间调用的场景来看,一般来说分为三种:同步(RPC,中间件如 Spring Cloud)、异步(音讯,中间件如 RocketMQ)、工作(散布式调度,中间件如 SchedulerX)。咱们个别会很快整顿出第一种状况,然而很容易疏忽掉前面两种。而前面两种呈现问题的时候,问题排查诊断又是最为耗时。 5、没有配套相应的可视化策略弹性伸缩是一个典型的后台任务,在治理一个大集群的后台任务的时候,最好是有一块大屏进行直观的可视化治理。对于扩容失败的情景,不能静默解决。如果是外围业务呈现扩容失败,可能带来的就是间接的业务故障,然而故障真正产生时,很多时候不会去关怀扩容策略是否失效,如果真是因为扩容造成的故障,也很难排查到这个点。 6、事先没做正确评估尽管云计算给弹性提供了近乎无尽的资源池,但这也只是解放了用户准备资源的工作,而微服务零碎自身简单,繁多组件的容量变动会产生全链路的影响,既解除一处危险之后零碎瓶颈点可能会迁徙,有些隐形束缚也会随着容量变动逐渐浮现,所以做弹性策略大多数时候不能靠力大砖飞的思维,须要做好全链路的压测、验证,演练到适应于全局的弹性配置;咱们还是倡议事先从高可用的多个维度理解各种技术手段,造成多套预案以备应用。 序幕云原生场景下弹性能力更为丰盛,可供弹性的指标也更具备业务定制能力。利用 PaaS 平台(如企业级分布式应用服务 EDAS/ Serverless 利用引擎 SAE 等)能联合云厂商在计算、存储、网络上的技术根底能力,能让应用云的老本更低。然而这里对于业务利用会提出一点点挑战(如:无状态/配置代码解耦等等)。从更广的侧面来看,这是云原生时代利用架构面临的挑战。不过利用越来越原生的话,云的技术红利也会离咱们越来越近。 关注阿里云云原生,让利用架构云原生化助力更多企业数字化转型!

September 5, 2022 · 1 min · jiezi

关于阿里云:数据变更白屏化利器推送轨迹上线

作者: 子葵 背景Zookeeper 可作为注册配置核心,选主,分布式锁等多种场景,随着业务规模的扩充,业务之间的依赖关系逐步变得复杂,在这种简单的场景下如果遇到变更推送相干问题,排查起来相当艰难,尽管 Zookeeper 原有的审计日志可能记录 Znode 的变更记录,然而无奈查问到服务端对变更的推送记录,并且须要人工筛选,费时费力,长时间以来,用户对 Zookeeper 更丰盛的推送性能的可观测性有了越来越强烈的需要。 MSE Zookeeper 最新上线推送轨迹能力,提供变更历史,变更推送记录,查问记录回溯能力,助力用户排查配置注册核心推送,变更回溯等难题。 推送轨迹性能介绍Zookeeper 推送轨迹提供 Znode 变更和查问记录,以及服务端向客户端推送变更事件的记录,依据推送轨迹能够看到客户端的变更是否胜利,以及变更胜利后,服务端是否将变更事件推送到客户端,推送轨迹可能依据 Path 和 SessionID 两个维度查问到对应的日志记录。 Path 查问维度提供对应的 Path 以及事件信息,即可查问对应的 Path 的变更记录: 推送轨迹具体展现了 Znode 变更的记录信息。在推送轨迹页面左侧,展现以后时间段内的 Znode 变更事件 ,点击左侧变更流水能够定位到右侧的变更及推送事件记录。页面右侧,展现以后时间段内的 Znode 变更及推送事件,变更事件中显示本次变更的类型,推送事件中展示推送产生事件,推送到的客户端 SessionID。鼠标上移推送详情图标能够查看本地推送的事件类型等详细信息。 Session 查问维度在推送轨迹 Session 查问维度页面,展现该 Session 相干的推送轨迹 。变更工夫示意本次 Znode 变更所产生的工夫,变更事件示意本次 Znode 变更事件类型,Path 示意本次变更的 Znode Path,点击详情列信息按钮能够看到详情图标能够看到本次变更事件详细信息,点击详情列跳转按钮能够切换到 Path 维度查问的入口查问以后 Path 在该工夫点的推送事件。 Zookeeper 推送轨迹最佳实际登录 MSE 治理控制台。在顶部菜单栏抉择地区。在左侧菜单栏抉择注册配置核心 > 实例列表。单击指标实例名称或操作列下方的治理。依据利用场景,对须要排查的 Znode 或者 Client SessionID 进行推送轨迹查问在微服务场景下,Zookeeper 常常被用作注册配置核心,常碰到的一个问题就是,ZooKeeper 在实例变动之后,实例信息更新的实效性问题,当咱们须要排查 Zookeeper 是否将实例信息的变更或者配置信息的变更推送到客户端以及变更和推送的工夫点和变更推送的状态时, 推送轨迹提供了这些信息的回溯能力。例如 Dubbo 场景中 ZooKeeper 作为注册核心,咱们须要看到服务实例变更后,从 Zookeeper 获取的实例信息仍然是旧的实例信息,此时咱们能够通过以下步骤查找起因: ...

September 5, 2022 · 1 min · jiezi

关于阿里云:最后-3-天|报名参加-OpenYurtEdgeX-挑战赛-冲击最高-5-万元奖励

EdgeX Foundry 是 Linux 基金会上司最大的边缘计算开源软件我的项目。往年是 EdgeX 成立的第五年,也迎来了第十个版本的公布。EdgeX 中国挑战赛是 EdgeX 中国社区最重要的流动,也是开发者们连贯行业客户、比拼翻新利用的大舞台。 2021 年以来,OpenYurt 社区与 EdgeX Foundry 已在独特打造 IoT 设施孪生及物模型云原生规范、提供边缘云资源接口对立能准力、欠缺软硬一体化交付模型等方面获得要害停顿。 阿里云作为  EdgeX 2022 中国挑战赛策略合作伙伴,在大赛中特地设立 OpenYurt + EdgeX 赛道,心愿通过其主导开源的云原生边缘计算智能平台 OpenYurt 与 EdgeX Foundry 的继续深刻单干,独特为宽广开发者构建一个物联网及边缘计算的学习和分享平台,以开源、共享的技术环境解决行业技术问题,促成云原生边缘计算、AIoT 等的利用落地及部署。 本次大赛报名工夫将于 2022 年 9 月 5 日 24:00 截止,欢送扫描下方二维码报名参赛! 参加赛事互动,获取技术晋升大咖星散、智慧共享,为帮忙参赛选手更好地理解并使用相干技术,大赛配套 3 轮共 15 场线上培训,进阶式推动,帮忙开发者学习智能边缘系统常识,邀请来自阿里云、VMware 等多家企业和机构的技术专家进行分享和培训。 脑力激荡,高效互动,参赛即有机会取得与 EdgeX 中国社区、OpenYurt 开源社区 4000 余名开发者交流学习机会。 技术专家、厂商代表、开发者、创客……泛滥专业人士,共享 OpenYurt+EdgeX 的云原生边缘计算技术快车道。 提交翻新参赛作品,博得丰富回报本次大赛分设两大赛道(医疗、教育、生产行业赛道和能源、工业、供应链行业赛道),别离设置如下处分: 一等奖(1 名):3 万元 二等奖(1 名):2 万元 三等奖(2 名):1 万元 鼓励奖(若干名)5 千元 ...

September 5, 2022 · 1 min · jiezi

关于阿里云:服务网格-ASM-8-月产品动态

September 5, 2022 · 0 min · jiezi

关于阿里云:Serverless-架构下的-AI-应用开发入门实战与性能优化

作者:Serverless 随着工夫的推移,Serverless 架构变得越来越炽热,凭借着极致弹性、按量付费、低成本运维等个性,在很多畛域施展着越来越重要的作用;机器学习畛域在近些年也十分炽热,并在越来越多的行业中失去利用。 实际上,机器学习我的项目中始终存在两大难题: 资源占用率高、利用率低,尤其在流量波峰和波谷差值较大的我的项目中,资源节约更为显著;部署、更新、保护复杂度高;而 Serverless 具备极致弹性、按量付费、低成本运维等个性,若将 Serverless 架构利用在机器学习我的项目中,在保障机器学习我的项目性能的同时,降低成本,又能进步资源利用率,是十分值得钻研和摸索的课题。 基于此,由阿里云官网出品,来自阿里云、蚂蚁团体的 4 位专家刘宇、田初东、卢萌凯、王仁达(排名不分先后)零碎梳理阿里在 Serverless 架构下的 AI 教训,联袂推出新书 《Serverless 架构下的 AI 利用开发:入门、实战与性能优化》。 前言本书是一本对于 Serverless 架构下机器学习实战的技术书,通过对 Serverless 架构的根底介绍、我的项目开发经验总结,以及常见的机器学习算法、模型、框架的学习,对将机器学习我的项目利用到 Serverless 架构、不同机器学习我的项目与 Serverless 架构联合以及基于 Serverless 架构进行机器学习利用开发等内容进行了摸索。 咱们心愿通过简单明了的语言、实在的案例,以及凋谢的源代码,为读者介绍 Serverless 架构与机器学习相干的基础知识。心愿读者能够通过本书真正了解 Serverless 架构与机器学习联合的重要价值,并能顺利在 Serverless 架构下开发、上线机器学习我的项目,从而更加间接地取得云计算带来的技术红利。 本书不仅有基础理论常识,还有大量的教训分享,以及对最新技术点的实际利用,包含但不限于 Serverless 架构下 GPU 实例的上手、多维度的冷启动优化计划、Serverless 架构多模调试能力等。 咱们心愿读者通过对本书的学习,能够对 Serverless 架构有一个更加全面、直观的理解,对 Serverless 架构下的机器学习有更加深刻的意识。同时,心愿通过本书的抛砖引玉,帮忙读者将机器学习我的项目在 Serverless 架构着落地,取得云计算倒退的技术红利。 初识 Serverless 架构本章通过对 Serverless 架构概念的摸索,对 Serverless 架构的劣势与价值、挑战与窘境进行剖析,以及 Serverless 架构利用场景的分享,为读者介绍 Serverless 架构的根底内容。通过本章的学习,读者将对 Serverless 架构的实践根底有肯定的理解和意识。 Serverless 架构的概念随着云服务的倒退,计算资源被高度抽象化,从物理机到云服务器,再到容器服务,计算资源逐步细腻化。 2012 年,Iron.io 的副总裁 Ken Form 在 “Why The Future of Software and Apps is Serverless” 一文中首次提出了无服务器的概念,并指出 “即便云计算曾经逐步衰亡,然而大家依然在围绕着服务器转。不过,这不会继续太久,云利用正在朝着无服务器方向倒退,这将对应用程序的创立和散发产生重大影响”。 ...

September 5, 2022 · 2 min · jiezi

关于阿里云:微服务引擎-MSE-8-月产品动态

September 5, 2022 · 0 min · jiezi

关于阿里云:主流定时任务解决方案全横评

作者: 竞霄 定时工作作为一种依照约定工夫执行预期逻辑的通用模式,在企业级开发中承载着丰盛的业务场景,诸如后盾定时同步数据生成报表,定时清理磁盘日志文件,定时扫描超时订单进行弥补回调等。程序开发人员在定时工作畛域有着诸多框架和计划可供选择,并借此疾速实现业务性能实现产品上线。本文将就以后支流定时工作解决方案进行介绍和剖析,冀望能够在企业技术选型和我的项目架构重构时作为参考。 Crontab指标定位Crontab 作为 Linux 内置的可执行命令,能够实现依照 cron 表达式生成的工夫执行指定的零碎指令或 shell 脚本。 应用形式crontab 命令语法: crontab [-u username] [-l | -e | -r ]参数:-u : 只有root用户能力进行这个工作,编辑某个用户的crontab-e : 编辑 crontab 的工作内容-l : 查阅 crontab 的工作内容-r : 移除所有的 crontab 的工作内容配置文件示例: * * * * * touch ~/crontab_test* 3 * * * ~/backup0 */2 * * * /sbin/service httpd restart实现原理crond 守护过程是通过 Linux 启动时的 init 过程启动,由 cornd 每分钟会查看/etc/crontab 配置文件中是否有须要执行的工作,并通过 /var/log/cron 文件输入定时工作的执行状况。用户能够应用 Crontab 命令治理/etc/crontab 配置文件。 计划剖析借助 Crontab 用户能够非常便当的疾速实现繁难的定时工作性能,但存在以下痛点: ...

September 5, 2022 · 3 min · jiezi

关于阿里云:Nacos-企业版如何提升读写性能和可观测性

作者: 正己 概述微服务引擎 MSE 公布 2.0.4.0 版本,新版本次要在性能和可观测能力升大幅晋升,也加固了安全性。性能方面,基于 Dragonwell 进行构建,服务发现和配置性能晋升达 40%以上;可观测方面,提供了服务注册的轨迹推送能力及丰盛的可观测指标;安全性方面,新增反对了 RAM 管控策略能力,进一步提高了安全性。 MSE Nacos 性能晋升 40%Alibaba Dragonwell简介Alibaba Dragonwell 作为 OpenJDK 的上游, 是阿里巴巴外部 OpenJDK 定制版 AJDK 的开源版本, AJDK 为在线电商,金融,物流做了联合业务场景的优化,运行在超大规模的,100,000+ 服务器的阿里巴巴数据中心。Alibaba Dragonwell与Java SE规范兼容 Alibaba Dragonwell 是 OpenJDK 的上游(friendly fork),应用了和 OpenJDK 一样的 licensing。Alibaba Dragonwell 在 OpenJDK 的根底上加强了多个性能,如 JWarmup、Java Flight Recorder、G1ElasticHeap、Wisp 等等。详见文末链接 1 [ 1] MSE Nacos 性能加强MSE  联结 Dragonwell 针对 Nacos 进行性能调优公布 MSE Nacos2.0.4.0 版本,基于 Dragonwell Wisp 个性进行性能加强。Wisp 在 JVM 上提供了一种用户态的线程实现。开启 Wisp2 后,Java 线程不再简略地映射到内核级线程,而是对应到一个协程,JVM 在大量内核线上调度大量协程执行,以缩小内核的调度开销,提供 web 服务器的性能。详见文末链接 2 [2 ] ...

September 2, 2022 · 1 min · jiezi

关于阿里云:主流定时任务解决方案全横评

作者:竞霄 定时工作作为一种依照约定工夫执行预期逻辑的通用模式,在企业级开发中承载着丰盛的业务场景,诸如后盾定时同步数据生成报表,定时清理磁盘日志文件,定时扫描超时订单进行弥补回调等。程序开发人员在定时工作畛域有着诸多框架和计划可供选择,并借此疾速实现业务性能实现产品上线。本文将就以后支流定时工作解决方案进行介绍和剖析,冀望能够在企业技术选型和我的项目架构重构时作为参考。 Crontab指标定位Crontab 作为 Linux 内置的可执行命令,能够实现依照 cron 表达式生成的工夫执行指定的零碎指令或 shell 脚本。 应用形式crontab 命令语法: crontab [-u username] [-l | -e | -r ]参数:-u : 只有root用户能力进行这个工作,编辑某个用户的crontab-e : 编辑 crontab 的工作内容-l : 查阅 crontab 的工作内容-r : 移除所有的 crontab 的工作内容配置文件示例: * * * * * touch ~/crontab_test* 3 * * * ~/backup0 */2 * * * /sbin/service httpd restart实现原理crond 守护过程是通过 Linux 启动时的 init 过程启动,由 cornd 每分钟会查看/etc/crontab 配置文件中是否有须要执行的工作,并通过 /var/log/cron 文件输入定时工作的执行状况。用户能够应用 Crontab 命令治理/etc/crontab 配置文件。 计划剖析借助 Crontab 用户能够非常便当的疾速实现繁难的定时工作性能,但存在以下痛点: ...

September 2, 2022 · 3 min · jiezi

关于阿里云:重拾面向对象软件设计

作者: 聂晓龙 你还在用面向对象的语言,写着面向过程的代码吗? 前言在欧洲文艺复兴期间,一位平凡的数学家天文学家-哥白尼,在过后提出了日心说,批驳了以地球为宇宙核心的天体思维,因为思维极其超前,直到半个世纪后开普勒伽利略等人通过前期钻研,才逐渐认可并确立了过后哥白尼思维的先进性。 独一无二,在软件工程畛域也演出着同样的故事。半个世纪前 Kristen Nygaard 创造了 Simula 语言,这也是当初被认同的世界上第一个明确实现面向对象编程的语言,他提出了基于类的编程格调,确定了"万物皆对象"这一面向对象实践的"终极思维",但在过后同样未受到认可。Peter Norvig 在 Design Patterns in Dynamic Programming 对此予以了批驳,并表述咱们并不需要什么面向对象。半个世纪后 Robert C.Martin、Bertrand Meyer、Martin Fowler 等人,再次印证并升华了面向对象的设计理念。编程思维的演进也不是欲速不达,但在这一个世纪失去了飞速的倒退。 编程思维的演进从上个世纪五十年代冯·诺依曼发明第一台计算机开始,始终到当初只有短短 70 年工夫,从第一门计算机语言 FORTRAN,到当初咱们罕用的 C++,JAVA,PYTHON 等,计算机语言的演进速度远超咱们所应用的任何一门自然语言。从最早的面向机器,再到面向过程,到演变为当初咱们所应用的面向对象。不变的是编程的主旨,变动的是编程的思维。 面向机器 计算机是 01 的世界,最早的程序就是通过这种 01 机器码来管制计算机的,比方 0000 代表读取,0001 代表保留等。实践上这才是世界上最快的语言,无需翻译间接运行。但弊病也很显著,那就是简直无奈保护。运行 5 毫秒,编程 3 小时。因为机器码无奈保护,人们在此基础上创造了汇编语言,READ 代表 0000,SAVE 代表 0001,这样更易了解和保护。尽管汇编在机器码上更可视更直观,但实质上还是一门面向机器的语言,仍然还是存在很高的编程老本。 面向过程 面向过程是一种以事件为核心的编程思维,相比于面向机器的编程形式,是一种微小的提高。咱们不必再关注机器指令,而是聚焦于具体的问题。它将一件事件拆分成若干个执行的步骤,而后通过函数实现每一个环节,最终串联起来实现软件设计。 流程化的设计让编码更加清晰,相比于机器码或汇编,开发效率失去了极大改善,包含当初依然有很多场景更适宜面向过程来实现。但软件工程最大的老本在于保护,因为面向过程更多聚焦于问题的解决而非畛域的设计,代码的重用性与扩展性弊病逐渐彰显进去,随着业务逻辑越来越简单,软件的复杂性也变得越来越不可控。 面向对象 面向对象以分类的形式进行思考和解决问题,面向对象的外围是抽象思维。通过形象提取共性,通过封装收敛逻辑,通过多态实现扩大。面向对象的思维实质是将数据与行为做联合,数据与行为的载体称之为对象,而对象要负责的是定义职责的边界。面向过程简略快捷,在解决简略的业务零碎时,面向对象的成果其实并不如面向过程。但在简单零碎的设计上,通用性的业务流程,个性化的差别点,原子化的性能组件等等,更适宜面向对象的编程模式。 但面向对象也不是银弹,甚至有些场景用比不必还糟,所有的本源就是形象。依据 MECE 法令 将一个事物进行分类,if else 是软件工程最谨严的分类。咱们在设计形象进行分类时,不肯定能抓住最合适的切入点,谬误的形象比没有形象复杂度更高。里氏替换准则的创始人 Barbara Liskov 谈形象的力量 The Power of Abstraction。 面向畛域设计真在”面向对象“吗// 捡入客户到销售私海public String pick(String salesId, String customerId){ // 校验是否销售角色 Operator operator = dao.find("db_operator", salesId); if("SALES".equals(operator.getRole())){ return "operator not sales"; } // 校验销售库容是否已满 int hold = dao.find("sales_hold", salesId); List<CustomerVo> customers = dao.find("db_sales_customer", salesId); if(customers.size() >= hold){ return "hold is full"; } // 校验是否客户可捡入 Opportunity opp = dao.find("db_opportunity", customerId); if(opp.getOwnerId() != null){ return "can not pick other's customer"; } // 捡入客户 opp.setOwnerId(salesId); dao.save(opp); return "success";}这是一段 CRM 畛域销售捡入客户的业务代码。这是咱们相熟的 Java-面向对象语言,但这是一段面向对象代码吗?齐全面向事件,没有封装没有形象,难以复用不易扩大。置信在咱们代码库,这样的代码不在少数。为什么?因为它将老本放到了将来。咱们将此称之为“披着面向对象的外衣,干着面向过程的勾当。”  ...

September 2, 2022 · 4 min · jiezi

关于阿里云:2022-云原生编程挑战赛启动看导师如何拆解边缘容器赛题

大赛介绍2022 第三届云原生编程挑战赛,是由阿里云、Intel 主办,云原生利用平台、天池联结承办的云原生顶级品牌赛事。 本届大赛将持续深度摸索服务网格、边缘容器、Serverless 三大热门技术畛域,为酷爱技术的年轻人提供一个挑战世界级技术问题的舞台,心愿用技术为全社会发明更大价值。大家赶快报名参赛吧! 丰富处分等你来报名!瓜分¥510,000 元现金大奖三大热门赛道任意抉择邀请小伙伴报名兑换精美礼品实现 Serverless 场景体验领阿里云背包赛题背景ACK@Edge 是阿里云容器服务针对边缘计算场景推出的云边一体化云原生解决方案,主打“云端托管、边缘自治”的产品理念,为用户提供云边多维度协同,海量异构算力治理,边缘 AI 套件,可观测,轻量化,弹性等能力。现已广泛应用于边缘云、物联网等典型边缘计算场景,笼罩交通、能源、新批发、智慧驾驶、CDN 等多个行业。同时,ACK@Edge 依靠 CNCF OpenYurt 弱小的社区生态,积极参与并协同社区继续打磨和欠缺设施孪生、云边协同网络、高可用等当先技术能力。 为了解决在边缘计算场景下云边网络通信断连时,保障边缘侧节点上业务能够自愈,OpenYurt 在边缘侧组件和 APIServer 之间新增 YurtHub 组件。边缘侧的组件(kubelet,kube-proxy..)对 apiserver 的申请,会首先通过 YurtHub 组件的而后再转发给 apiserver,YurtHub 会将 apiserver 返回的数据缓存到本地。当云边网络断开时,Yurthub 还能将本地缓存的数据返回给边缘侧组件。 然而在实际过程中咱们发现,在云边协同的边缘场景架构体系下,有着大量的轻量级的设施,这些设施的配置绝对比拟低,升高边缘侧组件的资源占用率,为设施上的业务腾出更多的资源,曾经成为了必须要解决的问题。 本赛题心愿实现一个边缘侧的 edge-proxy 组件,负责转发边缘侧组件例如 kubelet,kube-proxy 的申请,同时可能将云上 apiserver 返回的数据进行过滤,同时在返回给申请端时能够缓存到本地,并尽可能的升高 cpu,内存等资源占用率。 赛题解析在 Kubernetes 零碎中,list/watch 机制次要解决组件间实时数据的异步同步。其中 List 申请是一般的 HTTP GET 申请,一次 List 申请将返回申请类型资源的全量数据。而 watch 申请是基于 HTTP 协定的 chunked 机制实现的长连贯,用于实时告诉申请资源的数据变动。相干的介绍能够参考: https://kubernetes.io/docs/re... List/Watch 机制是 Kubernetes 中实现集群管制模块最外围的设计之一,它采纳对立的异步音讯解决机制,保障了音讯的实时性、可靠性、程序性和性能等,为申明式格调的 API 奠定了良好的根底。Informer 模块是 Kubernetes 中的根底组件,负责各组件与 Apiserver 的资源与事件同步。Kubernetes 中的组件,如果要拜访 Kubernetes 中的 Object,绝大部分状况下会应用 Informer 中的 Lister()办法,而非间接申请 Kubernetes API。 ...

September 2, 2022 · 2 min · jiezi

关于阿里云:Dubbo-3-StateRouter下一代微服务高效流量路由

作者:十眠 目前的微服务架构中,通常蕴含服务消费者、服务提供者、注册核心、服务治理四元素,其中服务消费者会向注册核心获取服务提供者的地址列表,并依据路由策略选出须要调用的指标服务提供者地址列表,最初依据负载算法间接调用提供者。当大规模生产环境下,服务消费者从注册核心获取到的服务提供者地址列表过大时,采纳传统的路由形式在每次服务调用时都进行大量地址路由选址逻辑,导致服务调用性能低下,资源耗费过多。 云原生场景下,几千、上万乃至十万节点的集群曾经不再常见,如何高效实现这种大规模环境下的选址问题曾经成为了必须解决的问题。 流量路由场景流量路由,顾名思义就是将具备某些属性特色的流量,路由到指定的指标。流量路由是流量治理中重要的一环,多个路由如同流水线一样,造成一条路由链,从所有的地址表中筛选出最终目标地址汇合,再通过负载平衡策略抉择拜访的地址。开发者能够基于流量路由规范来实现各种场景,如灰度公布、金丝雀公布、容灾路由、标签路由等。 路由选址的范式如下:target = rn(…r3(r2(r1(src)))) 上面将借着介绍 OpenSergo 对于流量路由所定义的 v1alpha1 规范,来通知大家实现流量路由所需的技术。 OpenSergo 流量路由 v1alpha1 规范流量路由规定(v1alpha1) 次要分为三局部: Workload 标签规定 (WorkloadLabelRule):将某一组 workload 打上对应的标签,这一块能够了解为是为 APISIX 的各个上游打上对应的标签流量标签规定 (TrafficLabelRule):将具备某些属性特色的流量,打上对应的标签依照 Workload 标签和流量标签来做匹配路由,将带有指定标签的流量路由到匹配的 workload 中咱们能够赋予标签不同的语义,从而实现各个场景下的路由能力。 给 Workload 打标签: 咱们对新版本进行灰度时,通常会有独自的环境,独自的部署集。咱们将独自的部署集打上 gray 标签(标签值可自定义),标签会参加到具体的流量路由中。 咱们能够通过间接在 Kubernetes workload 上打 label 的形式进行标签绑定,如在 Deployment 上打上 traffic.opensergo.io/label: gray标签代表灰度。对于一些简单的 workload 打标场景(如数据库实例、缓存实例标签),咱们能够利用 WorkloadLabelRule CRD 进行打标。示例: apiVersion: traffic.opensergo.io/v1alpha1kind: WorkloadLabelRulemetadata: name: gray-sts-label-rulespec: workloadLabels: ['gray'] selector: database: 'foo_db'给流量打标: 假如当初须要将内部测试用户灰度到新版主页,测试用户 uid=12345,UID 位于 X-User-Id header 中,那么只须要配置如下 CRD 即可: ...

September 2, 2022 · 2 min · jiezi

关于阿里云:谈谈我对云原生与软件供应链安全的思考

作者:易立 2011 年,互联网技术先驱 Marc Andreessen 声称,软件正在吞噬世界(Software is eating the world)。由软件驱动的行业翻新正在颠覆着传统业务模式,推动着寰球经济实现数字化连贯。随着互联网的疾速倒退,数字化转型曾经成为每一个企业的要害策略。然而古代软件开发波及到多方合作,大量利用依赖开源代码或者三方组件。在上游开源软件的平安问题会传递到上游利用方并被放大,有可能给企业造成重大的平安危险和业务损失。 软件生产的过程与传统制造业在很多方面是类似的。软件制造商将自研业务代码和第三方组件组合成残缺的软件,构建流程会将这些组件打包成为可部署的软件制品,而后被企业客户部署到生产环境中。这个过程被形象地称为“软件供应链”。而软件供应链平安的指标是保软件从开发到部署的整个生命周期的平安、可信赖。 在 Sonatypes's 2021 State of the Software Supply Chain 调查报告中,2021 年软件供应链攻打事件增长了 650%。 目前,软件供应链平安曾经失去行业的高度重视。曾经有很多国家出台了相干的政策法规来领导外国的供应链平安治理,以进步供应链平安韧性。2021 年 4 月,美国网络安全与基础设施安全局(CISA)和美国国家标准与技术院(NIST)联结公布《进攻软件供应链攻打》报告,首次对软件供应链进行界定,并给出与软件供应链攻打相干的信息、关联危险以及缓解措施。 谷歌也提出了 Supply chain Levels for Software Artifacts - 软件制品的供应链等级,简称为 SLSA。SLSA 是 Google 外部施行的多年的平安流程的开源版本,提供了一个平安框架和一组最佳实际,来预防因为源代码篡改、三方组件破绽、制品仓库入侵产生的平安威逼。 SBOM-晋升软件形成透明度软件供应链平安的根底就是透明性。只有了解了利用是如何从代码和依赖组件构建而成,咱们才能够对利用的平安危险进行无效的治理。在美国 2021 年颁布的《对于改善国家网络安全的行政命令》行政令中,特地要求政府软件应蕴含机器可读的软件物料清单(Software Bill Of Materials, SBOM)。SBOM 是蕴含构建软件应用的各种组件的详细信息和供应链关系的正式记录。 美国国家电信和信息管理局(NITA)在 14028 号政令的要求下,在 2021 年 7 月 12 日公布了《SBOM 的最低因素》,该文档为各开发工具的组织和厂商提供了 SBOM 数据格式的参考。在新一代软件开发工具中,越来越多的软件提供了对 SBOM 的反对。 利用的 SBOM 信息上面咱们以一个 Golang 的 HTTP Server 示例利用为例,理解一下 SBOM 的的概念和应用形式。 ...

September 1, 2022 · 4 min · jiezi

关于阿里云:一线技术人应该关注的四种思维能力

作者: 择琨 引言作为长期奋战在一线的技术人,我粗浅领会到如下几个思维能力对技术人成长的重要性,纯熟使用这几种思维能够帮忙咱们疾速的进入到新的畛域,在剖析、定位和解决问题上有很大帮忙。 抽象思维:帮忙咱们疾速抽取面对问题的要害因素和实质,能够是其余能力的“元能力”分层思维:帮忙咱们拆解问题,分而治之,划清问题和职责边界演绎思维:帮忙咱们从共性问题中形象出问题的个别法则和得出独特论断结构化思维:帮忙咱们积淀本人的常识树,逐渐系统性的思考问题形象能力什么是形象能力提到形象,程序员第一反馈可能是 abstract,形象能力的官网解释是这样的“形象是从泛滥的事物中抽取出独特的、本质性的特色,而舍弃其非本质的特色的过程。形象表白的是一种思维形式,用来反映事物的实质和法则的办法,形象强调的是关注因素,暗藏额定细节”。 形象能力是每个人自有的一种天生能力,能够让咱们把一些类似的货色集中概括起来,临时疏忽他们之间的差别。当咱们遇到从未见过的事物时,如果可能使用“形象能力”去寻找记忆中的常识与现有的事物之间的分割,作为解决问题的要害因素,那么咱们解决问题的效率将会大大回升,比方当咱们碰到下图中左侧这个动物的时候,咱们不晓得它具体是什么动物,然而因为咱们脑海里有一个猫科动物的形象(如右侧),所以通过寻找记忆中的常识,咱们能够晓得它是猫科动物的一种,而不会直观的把它当成一匹马。 形象能力的重要性形象能力在咱们的工作中十分重要,甚至能决定一个人能力程度的下限,一个形象能力强的人,往往能从简单的景象中直击事物的实质。这也就是咱们生存中常见到的一些人总是能抓住事件的重点、总能看到他人看不到的,或者碰到问题可能疾速给出无效解决方案或思路。 形象能力决定你是否能比他人疾速把握技能作为一线程序员的外围本职工作是编程,编程的实质也是为了解决生存中的理论问题而存在的,通过形象能力把事实中的内容的实质和个性形象进去,而后形象到零碎模型上利用于工作中,通过编程的形式来解决一类问题,这也就是“设计源于生存、扎根生存,最终为生存服务”。 举一个例子,阿里西溪园区有一个做麻辣香锅的档口,比拟好奇麻辣香锅是怎么做的,正好档口的加工过程是开放式的,所以我就站在那边等餐边察看他们的加工过程,上面是一个残缺的流程: 麻辣香锅有 4 个工人,每个工人负责固定的实操,整个麻辣香锅的加工过程依照一个固定的流程扭转,各个工人之间交接的内容规范固定,比方上图: 工人 1: 负责的实操:称重、收银(刷工卡)、摆放(有序摆放) ,工人 1 实现摆放最初一个操作后,会把商品放到一个筐中交给工人 2; 工人 2: 负责的实操:取件(有序取件)、分类(蔬菜和肉类离开)、煮熟、装碗,工人 2 依照上述流程实现本人的工作后,将加工好的商品放到一个碗中交给工人 3; 工人 3: 负责的实操:取件、加料、炒熟、换碗,工人 3 将工人 2 加工后的商品依照上述流程实现炒熟的加工,炒熟后给到工人 4; 工人 4: 负责的实操:取件、加配料、妥投(叫号),工人 4 负责对最初的商家做精益求精的配料加工。 实现所有的实操之后,工人 4 通过叫号的形式客户上门自取的形式实现妥投.,整个工作流程中不须要独自有个工人来指挥调度(无状态,不须要记录以后的调度节点及进度),他们会依照既定流程实现本职工作。 在回到我的工作中,我的工作内容有一部分跟协同关系比拟大,协同这部分的实质和一个麻辣烫的加工过程十分类似,区别在于一个是人之间的协同,一个是作业节点之间的协同,上面给一个协同调度流程示例: 共性形象: 这两个看似不相干的货色其实有雷同的共性,麻辣烫的每个工人等同于咱们的实操节点,他们的工作等同于生成仓作业单、下发仓作业单、仓出库等,仓出库-->创立配作业单等同于工人 2[装碗]之后交给工人 3,仓出库就触发了一个协同事件,触发了工人 3 的作业,仓出库的包裹就是交接的碗(交接物),通过这个咱们把事实中的事物本质形象成了调度协同的根本模型,蕴含[协同模版]、[协同节点]、[协同事件]、[工序]、[交接物],而后通过编程零碎这个能力,借助于此解决了过后域内最大的痛点:协同调度模版的爆炸式收缩和无奈动静编排的问题。因为咱们把“调度协同的实质”共性形象实现了一下,所以人造收割了一波技术红利,第一次把正逆向调度协同业务都交融进来,同时也复用到了 2C 和 2B 的其余业务域中。 上面是咱们的调度升级版后的配置化页面: 本次降级也反对了调度模版的多版本控制、失效规定、审批公布流程等,也从以前一个中心化的调度降级到无状态去中心化的服务协同,升高了零碎依赖、进步健壮性。 形象能力是将简单问题简单化的重要办法《史记》有云:“大乐必易,大礼必简。”意思是说.“大”的音乐肯定是平易近人的;“大”的礼仪则肯定是俭朴的。世界的体现尽管简单,但办法的实质却是简略。面对纷繁复杂的万事万物,迎接一直呈现的新状况新问题,说难也难,说易也易,要害看你是否把握事件的实质,简单问题简单化是进步咱们生存工作效率的正要路径,通过抽象思维把简单问题简单化的例子有很多,比方: 曹冲称象孙权送来了一头大象,曹操想要晓得大象的分量,询问他的属下这件事,但他的手下都不能说出称象的方法。曹冲说:“先把象放到大船上,在水面所达到的中央做上记号,而后将大象牵下来,再让船装载其它货色,称一下这些货色,那么比拟下就能晓得了。 地铁线路图即便不标出各个站点之间相隔的具体间隔,也没有标出它们的具体位置,仅仅只是提取了必须的信息,就能将整个简单的地铁体系简略地体现进去。咱们只有有地铁路线图,就能够晓得要怎么去各个站。 零碎交接再举一个最近产生在身边的例子,前几天的一个零碎交接会上,交接过程中总感觉有些脱漏,基于我本人记忆中的常识,我判断交接清单至多蕴含如下几个内容: 零碎架构图、外围畛域模型外围业务流程、时序上下游零碎依赖、外围联系人、协定形式中间件根底资源依赖、根本账号零碎操作页面、入口以往大促保障手册、应急预案、资损盘点零碎根底监控、业务监控地址遗留线上 Bug 清单和 Owner 调配代码权限以及外围 L0 入口其实下面都是基于对一个零碎原本该有的内容的一个形象,所有的业务零碎都具备雷同的特色,日常的形象积攒能够让工作更轻松更简略,不至于大刀阔斧、慌手慌脚,抽象思维让咱们只关注了因素暗藏了很多细节,依照下面这 9 个大类因素深刻进去,咱们面对的就是无穷的细节,细节是决定成败的要害。 ...

September 1, 2022 · 1 min · jiezi

关于阿里云:骞云获得阿里云首批产品生态集成认证携手阿里云共建新合作

近日,上海骞云信息科技有限公司(以下简称“骞云”)的骞云云自动化治理平台与阿里云计算有限公司(以下简称“阿里云”)的阿里云容器服务 ACK 通过严格测试程序,实现了首批的产品生态集成认证测试。作为入选阿里云首期云原生加速器的企业,骞云通过云原生加速器我的项目携手阿里云共建更加丰盛的云原生产业生态圈,减速云原生落地。 阿里云产品生态集成认证是面向阿里云合作伙伴自有产品、解决方案与阿里云相干产品的兼容性、可用性的技术能力认证。此次实现阿里云产品生态集成认证,这不仅证实骞云的技术能力、产品利用程度曾经满足阿里云相干产品的适配性要求,也为骞云与阿里云生态的严密单干提供了更强力的技术保障。 近年来,以大数据、云计算、AI 为代表的数字技术疾速倒退,越来越多的业务经营向数字化进阶,企业数字零碎越来越庞杂,传统运维形式曾经无奈满足企业运维治理需要,运维正从手工化、工具化向智能化转变。随着运维体系的日益完善,真正从业务登程、从外围数据登程,能疾速地发现问题并定位故障起因,实现提前预测问题,对潜在的故障进行预防,成为企业运维的诉求点。 8 月 19 日 - 8 月 20 日,由阿里云云原生利用平台、阿里云加速器、阿里巴巴策略投资独特举办的阿里云首期云原生加速器实现第二次集结。作为阿里云云原生加速器的首批入选成员企业,骞云创始人兼 CEO 方礼受邀加入并示意,云原生最大水平施展了云的劣势,极大开释了云的红利,随着云原生利用场景的一直拓展加深,技术、生态的一直成熟欠缺,云原生将无效缓解企业上云顾虑,带动全行业的上云过程。从资源云化到业务云化,最终趋势全面云原生化。 同时他还示意,随着云原生的利用,企业 IT 零碎架构更加简单,资源规模更加宏大,传统被动式的、人工干预的运维形式曾经无奈满足主动、高效、智能的运维需要,企业迫切需要更加智能化的运维,更好地助力云原生的利用开发,升高运维老本,进步服务质量。 骞云是云原生治理平台的倡导者,自 2016 年成立以来,致力于构建 AI 赋能的面向多云和 DevOps 的超级自动化运维体系,帮忙客户构建数字化企业。骞云保持面向云原生,以科技翻新为使命,帮忙企业布局和实现以“云+AI”为外围驱动力的将来 IT 能力,继续开释云上生产力,引领多云时代数字化改革。 阿里云容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器利用治理能力,整合了阿里云虚拟化、存储、网络和平安能力,助力企业高效运行云端 Kubernetes 容器化利用,反对企业级容器化利用的全生命周期治理。 阿里云领有丰盛的云原生产品家族,有超过 300 款的产品,近千个技术解决方案。本次骞云取得阿里云产品集成认证,代表了骞云在生态单干建设上迈过了一个新里程碑。骞云始终以生态搭档的身份与阿里云放弃着深度单干。将来,借助阿里云的“被集成”生态策略与生态集成技术的全面凋谢,单方的严密单干将进入新的阶段,独特为中国数千万家企业提供数字化转型服务。

September 1, 2022 · 1 min · jiezi

关于阿里云:云原生游戏第-2-讲OpenKruiseGame-设计理念详解

后疫情时代,游戏行业步入高质量发展期,游戏云原生化势在必行。不久前,针对游戏行业云原生落地的难点、游戏玩家服容器化的窘境等问题,阿里云容器服务团队通过直播课程《云原生游戏第1讲:游戏玩家服容器化的窘境与解法》,进行了解答,并带大家初步理解了游戏服务架构演进背景,社区云原生游戏服我的项目 agones,以及 OpenKruiseGame 。 咱们晓得了因为游戏玩家服的特点,使得游戏服在 Kubernetes 上的落地比拟艰难,OpenKruiseGame 应运而生。对于 OpenKruiseGame 更深层次的解读,2022 年 9 月 1 日 15:00,“云原生游戏系列直播”第 2 讲,将持续为大家带来精彩的分享。 本节课程由阿里云容器高级技术专家,刘中巍(莫源) 与大家一起探讨游戏云原生化的最佳形式,介绍 OpenKruiseGame 的前世今生以及设计的初衷与思路,同时带来一些对于阿里云容器服务在游戏云原生化方面的摸索与思考 。 快快扫描下方海报二维码,进行预约吧~~ 直播主题云原生游戏最佳实际系列直播(二)——OpenKruiseGame 设计理念详解 直播工夫2022 年 9 月 1 日(周四)15:00 —16:00 直播嘉宾 刘中巍(莫源),阿里云容器高级技术专家 Kubernetes 弹性、监控、大数据方向社区开源我的项目维护者 现次要负责阿里云容器服务产品的弹性伸缩与监控、云原生游戏与渲染、大数据离线计算与数据湖的研发 听众播种迅速理解游戏云原生化的最佳形式OpenKruiseGame 的前世今生OpenKruiseGame 设计的初衷与思路阿里云容器服务在游戏云原生化方面的摸索与思考立即扫码锁定本场直播点击“此处”或扫描海报二维码锁定本场直播 (本次直播还将在阿里巴巴云原生视频号、阿里云原生 B 站直播间播出,敬请关注~)

September 1, 2022 · 1 min · jiezi

关于阿里云:定时任务报警通知解决方案详解

作者: 唐涛、黄晓萌 什么是定时工作定时工作是每个业务常见的需要,比方每分钟扫描超时领取的订单,每小时清理一次数据库历史数据,每天统计前一天的数据并生成报表等等。 随着微服务和云计算的衰亡,定时工作技术也是倒退迅速,不仅能做单机的定时工作,而且在分布式系统下利用也很宽泛,成为了业务做兜底、数据处理的第一抉择。 定时工作为什么须要告诉定时工作当初在业务数据处理中的比重越来越重,如果业务数据处理失败了,须要及时告诉到业务方,确保了服务的可靠性和稳定性。同时,好的定时工作告诉零碎,还能剖析工作失败的起因(比方堆栈信息)并告诉给业务方,帮忙用户疾速定位问题。 依据告诉的类型,大略能够有以下几类: 胜利告诉:工作执行胜利,把后果告诉给用户。比方统计前一天的数据并把 GaaP 后果通过短信等渠道发送给对应负责人。超时告诉:工作执行超时,告诉用户。失败告诉:工作执行失败,告诉用户。机器异样告诉:运行的机器下线或者忙碌,告诉用户。自研定时工作报警告诉如果是自研的定时工作零碎,或者应用了开源定时工作框架(比方 Quartz),想要减少报警告诉能力,咱们能够采取什么计划呢?从实时性角度来看,短信和电话告诉实时性最高,然而这两种计划须要比拟大的老本,比方短信告诉须要短信平台。如果没有短信平台,咱们也能够采纳邮件和 webhook 告诉。 邮件每个邮件服务器都由 SMTP 服务器和 POP3 服务器形成,其中 SMTP 服务器负责发邮件的申请,而 POP3 负责收邮件的申请。通过 SMTP 与 POP3 即可实现邮件的收发。 邮件发送原理图 配置邮件服务器以网易 163 邮件为例,在发送方邮箱设置里,开启 POP3/SMTP 服务 以 Java 代码为例,发送邮件的 demoimport org.junit.Test;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.io.PrintWriter;import java.io.StringWriter;import java.util.Properties;public class SendMailDemo { public static void main(String[] args) throws Exception { Properties prop = new Properties(); prop.setProperty("mail.host","smtp.163.com");//设置发送方邮箱服务器 prop.setProperty("mail.transport.protocol","smtp");//邮件发送协定 prop.setProperty("mail.smtp.auth","true");//须要验证用户名明码 Session session = Session.getDefaultInstance(prop); Transport ts = session.getTransport(); String mailUser = "xxx@163.com"; //邮箱的账号 String mailPasswd = "123456789"; //邮箱的明码 ts.connect("smtp.163.com", mailUser, mailPasswd); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(mailUser)); //收件人的邮箱地址 message.setRecipient(Message.RecipientType.TO,new InternetAddress("xxxx@163.com")); //邮件的题目 message.setSubject("自定义告诉"); message.setContent("<h1 style='color:black'>邮件告诉发送胜利!</h1>","text/html;charset=UTF-8"); ts.sendMessage(message,message.getAllRecipients()); ts.close(); }}运行一次,能够收到邮件 ...

September 1, 2022 · 2 min · jiezi

关于阿里云:基于-ServerlessOSS-分分钟实现图片秒变素描

作者:除却巫山不是云啊 在阿里云 Serverless 函数计算服务中部署一般图片转素描图的函数服务,实现批量上传到指定 OSS 桶内的图片主动转换为素描图并保留到另一个 OSS 桶内。场景介绍小明接到学校老师安顿的工作,须要批量将班级里同学们拍的一般照片转换为素描图,供课堂游戏应用,于是求助到程序员老爸,机智的程序员老爸分分钟用几行 Python 代码解决:在阿里云 Serverless 函数计算服务中部署一般图片转素描图函数服务,实现将批量上传到指定 OSS 桶内的图片主动转换为素描图并保留到另一个 OSS 桶内。 本文适宜理解阿里云 Serverless、OSS、函数计算 FC 产品,有肯定的云计算实践经验及 Python 编程教训的读者,相熟阿里云鉴权零碎及图片解决 OpenCV 库的集体开发者。 相干概念Serverless:全称 Serverless computing,即无服务器计算,是云计算的一种新模式,区别于传统的 IaaS、PaaS、SaaS。无服务器运算不代表它真的不须要服务,而是指一般开发者不必过多思考服务器、App 运行环境及各种周边依赖问题,计算资源真正成为一种服务而不是服务器或者容器。它容许开发者在以治理某个具体性能函数的粒度进行部署及运维治理,以便让开发者专一于外围业务逻辑,更疾速地开发利用。 Function Compute:后面讲的 Serverless 是一种抽象层次更高说法,“FaaS + BaaS”是 Serverless 架构模式的一种实现,阿里云 Function Compute 就是典型的 FaaS,配合阿里云丰盛的 BaaS(SLS、OSS、RDS 等)服务,能够十分疾速的部署利用。 函数计算 FC 是一种基于事件驱动的全托管计算服务,用户无需洽购与治理服务器等基础设施,只需编写并上传代码。函数计算 FC 应用计算、存储资源,弹性地、牢靠地运行工作,并提供日志查问、性能监控和报警等性能。 环境筹备前提条件已开明阿里云函数计算 FC、OSS、SLS 服务提前准备好一般图片转换为素描图的 Python 代码提前准备好测试图片提前创立好两个测试用的 OSS 桶(不能将转换后的图片上传到同一个OSS bucket中,这会导致函数被有限循环执行) 操作步骤步骤一:创立阿里云函数计算 FC 服务 选择函数及服务点击“创立服务”,填写名称和形容: 进入函数治理,点击“创立函数”: 运行环境抉择 Python 3.6,代码上传形式抉择应用示例代码,申请处理程序类型抉择处理事件申请: 触发器抉择 OSS,Bucket 抉择提前创立好的“sketch-image-input”,文件后缀为 .jpg,避免其余类型的文件上传后误触发函数执行。 受权角色。 ...

August 31, 2022 · 2 min · jiezi

关于阿里云:OpenSergo-CloudWeGo-共同保障微服务运行时流量稳定性

作者:宿何 微服务运行时稳定性的问题微服务的稳定性始终是开发者十分关注的话题。随着业务从单体架构向分布式架构演进以及部署形式的变动,服务之间的依赖关系变得越来越简单,业务零碎也面临着微小的高可用挑战。大家可能都经验过以下的场景: 演唱会抢票霎时洪峰流量导致系统超出最大负载,load 飙高,用户无奈失常下单;在线选课时同一时刻提交选课的申请过多,零碎无奈响应;页面服务中某一块内容拜访很慢,始终加载不进去,导致整个页面都卡住,无奈失常操作 影响微服务可用性的因素有十分多,而这些不稳固的场景可能会导致严重后果。咱们从微服务流量的视角来看,能够粗略分为两类常见的运行时场景: 服务本身流量超过承载能力导致不可用。比方激增流量、批量工作投递导致服务负载飙高,无奈失常解决申请。服务因依赖其余不可用服务,导致本身连环不可用。比方咱们的服务可能依赖好几个第三方服务,假如某个领取服务出现异常,调用十分慢,而调用端又没有无效地进行预防与解决,则调用端的线程池会被占满,影响服务本身失常运行。在分布式系统中,调用关系是网状的、盘根错节的,某个服务呈现故障可能会导致级联反馈,导致整个链路不可用。 在遇到这些微服务运行时稳定性的问题时,咱们应该如何解决呢?针对这些不稳固的场景,MSE 提供全方位的流量防护能力,基于开源流量治理组件 Sentinel 的稳定性防护能力,以流量为切入点,从流量管制、并发管制、熔断降级、热点防护、零碎自适应爱护等多个维度来帮忙保障服务的稳定性,笼罩微服务框架、云原生网关、Service Mesh 等几大场景,反对 Java、Go、C++、Rust 等多种语言的异构微服务架构。 CloudWeGo 原生反对 Sentinel 及 OpenSergoCloudWeGo 是一套由字节跳动开源的、可疾速构建企业级云原生微服务架构的中间件汇合。CloudWeGo 我的项目独特的特点是高性能、高扩展性、高牢靠,专一于微服务通信与治理。其中 Kitex 是下一代高性能、强可扩大的 Golang RPC 框架,提供整套微服务的能力;Hertz 是高易用性、高性能、高扩展性的 Golang 微服务 HTTP 框架,旨在为开发人员简化构建微服务。 近期 CloudWeGo 社区与 Sentinel 社区单干共建,提供了 CloudWeGo Kitex 及 Hertz 对接 Sentinel Go 的适配模块,只需简略地引入适配模块并引入对应 Middleware,即可疾速将 Kitex 及 Hertz 服务接入 Sentinel Go,享受全面的流量治理与防护能力。同时联合 Sentinel Go 与 OpenSergo 微服务治理规范的对接,CloudWeGo 也将反对 OpenSergo spec 中流控降级与容错的标准配置,将来能够通过对立的 CRD 形式进行流量治理管控。 适配模块文档能够参考: Kitex adapter:https://pkg.go.dev/github.com... Hertz adapter:https://pkg.go.dev/github.com...  同时,基于 Sentinel 的 Kitex 和 Hertz 适配模块,咱们能够联合 MSE 服务治理 Go SDK 接入形式,来不便地将 Kitex 和 Hertz 服务接入到阿里云 MSE 微服务治理产品中,通过白屏化的观测与治理配置伎俩来保障微服务的运行时流量稳定性。 ...

August 31, 2022 · 2 min · jiezi

关于阿里云:阿里云基于全新-RocketMQ-50-内核的落地实践

前言在上个月完结的 RocketMQ Summit 寰球开发者峰会中,Apache RocketMQ 社区公布了新一代 RocketMQ 的能力全景图,为泛滥开发者论述 RocketMQ 5.0 这一大版本的技术定位与倒退方向。 在过来七年大规模云计算实际中,RocketMQ 一直自我演进,明天,RocketMQ 正式迈进 5.0 时代。 从社区对于 5.0 版本的解读能够看到,在云原生以及企业全面上云的大潮下,为了更好地匹配业务开发者的诉求,Apache RocketMQ 做了很多的架构降级和产品化能力的适配。那么如何在企业的生产实践中落地 RocketMQ 5.0 呢?本篇文章的外围就音讯架构以及产品能力的云原生化,介绍了阿里云是如何基于全新的 RocketMQ 5.0 内核做出本人的判断和演进,以及如何适配越来越多的企业客户在技术和能力方面的诉求。 云原生音讯服务的演进方向首先咱们来看下云原生音讯服务有哪些演进? 面向未来,适应云原生架构的音讯产品能力应该在以下方面做出重要冲破: 大规模弹性:企业上云的实质是解放资源供应的累赘和压力,专一于业务的集成和倒退。作为音讯服务的运维方,应该为下层业务提供与模型匹配的资源供应能力,随同业务流量的倒退提供最贴合的弹性能力。一方面能够解决面向不确定突发流量的零碎危险,另一方面也能够实现资源利用率的晋升。 易用性:易用性是集成类中间件的重要能力,音讯服务应该从 API 设计到集成开发、再到配置运维,全面地升高用户的累赘,防止犯错。低门槛能力关上市场,扩充心智和群体。  可观测性:可观测性对于音讯服务的所有参与方来说都很重要,服务提供方应提供边界清晰、规范凋谢的观测诊断能力,这样能力解放音讯运维方的累赘,实现使用者自排查和边界责任的清晰化。 稳定性高 SLA:稳定性是生产零碎必备的外围能力,音讯来说往往集成在外围交易链路,音讯零碎应该明确服务的可用性、可靠性指标。应用方应基于明确的 SLA 去设计本人的故障兜底和冗余平安机制。立足于这个四个要害的演进方向,上面为大家整体介绍一下阿里云 RocketMQ 5.0 在这些方面是如何落地实际的。 大规模弹性:提供匹配业务模型的最佳资源供应能力音讯服务个别集成在业务的外围链路,比方交易、领取等场景,这一类场景往往存在稳定的业务流量,例如大促、秒杀、早顶峰等。 面对稳定的业务场景,阿里云 RocketMQ 5.0 的音讯服务能够随同业务的诉求进行自适应实现资源扩缩。一方面在比较稳定的业务解决基线范畴内,依照最低的老本预留固定的资源;另一方面在偶然存在的突发流量毛刺时,反对自适应弹性,按量应用,按需付费。两种模式互相联合,能够实现稳固平安的高水位运行,无需始终为不确定的流量峰值预留大量资源。 除了音讯解决流量的弹性适应外,音讯零碎也是有状态的零碎,存储了大量高价值的业务数据。当零碎调用压力变动时,存储自身也须要具备弹性能力,一方面须要保障数据不失落,另一方面还须要节俭存储的老本,避免浪费。传统的基于本地磁盘的架构人造存在扩缩容问题,其一本地磁盘容量无限,当须要扩充容量时只能加节点,带来计算资源的节约;其二本地磁盘无奈动静缩容,只能基于业务侧流量的隔离下线能力缩减存储老本,操作非常复杂。 阿里云 RocketMQ 5.0 的音讯存储具备人造的 Serverless 能力,存储空间按需应用,按量付费,业务人员只须要依照需要设置正当的 TTL 工夫,即可保障长时间存储时的数据完整性。 集成易用性:简化业务开发,升高心智累赘和了解老本集成易用性是一种零碎设计束缚,要求音讯服务应该从 API 设计到集成开发、再到配置运维,全面地升高用户的累赘,防止犯错。举个典型场景,在音讯队列例如 RocketMQ 4.x 版本或 Kafka 中,业务生产音讯时往往被负载平衡策略所困扰,业务方须要关注以后音讯主题的队列数(分区数)以及以后消费者的数量。因为消费者是依照队列粒度做负载平衡和任务分配,只有消费者能力不对等,或者数量不能平均分配,必然造成局部消费者沉积、无奈复原的问题。 在典型的业务集成场景,客户端其实只须要以无状态的音讯模型进行生产,业务只需关怀音讯自身是否解决即可,而不应该关怀外部的存储模型和策略。 阿里云 RocketMQ 5.0 正是基于这种思维提供了全新的 SimpleConsumer 模型,反对任意单条音讯粒度的生产、重试和提交等原子能力。 ...

August 31, 2022 · 1 min · jiezi

关于阿里云:万节点规模云服务的-SRE-能力建设

作者:宋傲(凡星) 背景及现状零碎架构简介 上图为阿里云外部理论应用的零碎架构,零碎主要用途为实时数据流的计算和存储。应用阿里云的容器服务 ACK 作为零碎底座,容器化的部署、公布、管控等全副基于 K8s 规范。应用本人开发的 Gateway service 作为零碎流量入口,并基于 LoadBalancer 类型的 service 部署。 此架构也是利用 K8s 做零碎较为常见的做法,通过 ACK 提供的 CCM 组件主动将 service 和底层 SLB 实例进行绑定,通过此实例承接内部流量。Gateway 收到上报的数据流后,将数据放入 Kafka 并在某个 topic 中进行数据缓冲。当 Consumer 感知到数据流的上报后,则会从 Kafka 相应的 topic 中对数据进行进一步计算解决,并将最终后果写入存储介质。 此处存在两种存储介质:其中阿里云块存储 ESSD 绝对较快,但价格较高;文件存储 NAS 次要用于寄存性能要求较低的数据。元数据由 ACM 进行治理,自研的组件 Consumer 和 Center 负责从存储介质中查问计算结果,并返回给用户。 零碎现状 零碎目前为寰球开服,部署在寰球将近 20 个 region 中,从图中也能够间接看出数据读写链路较长,须要通过多个组件的解决。监控对象也较为简单,包含基础设施(调度、存储、网络等)、中间件(Kafka)、业务组件(Gateway、Center、Consumer)。 工作内容可观测数据的收集 可观测性次要蕴含Metrics、Tracing 和 Logging三类数据。三类数据各司其职,相辅相成。 Metrics 负责答复零碎是否呈现问题,它也是零碎的自监控体系入口。针对 Metrics 做异样的告警或问题的排查,能够疾速确定零碎是否有问题,是否须要人为染指解决。 Tracing 负责答复零碎问题呈现在什么地位,它可能提供组件之间的调用关系、每一次申请以及哪两个组件之间的调用过程呈现了问题等具体细节。 找到呈现问题的组件后,须要通过最具体的问题日志即 Logging 来定位问题根因。 数据可视化&问题排查 收集到三类数据后,下一步须要通过大盘将数据用可视化的形式展示,可能一眼确定问题所在,使问题排查更高效。 告警&应急解决 ...

August 31, 2022 · 3 min · jiezi

关于阿里云:基于龙蜥操作系统指令加速降低云原生网关的构建成本

技术背景网络信息传输的可靠性、机密性和完整性要求日渐晋升,HTTPS 协定曾经广泛应用。HTTPS 的 SSL/TLS 协定波及加解密、校验、签名等密码学计算,耗费较多 CPU 计算资源。因而 CPU 硬件厂商推出过多种减速卸载计划,如 AES-NI,QAT,KAE,ARMv8 平安扩大等。 业界软件生态在优化 HTTPS 的性能上也做了诸多摸索(参考[1]),传统的软件优化计划有 Session 复用、OCSP Stapling、False Start、dynamic record size、TLS1.3、HSTS 等, 但软件层面的优化无奈满足流量日益增长的速度,CPU 硬件加速成为业界一个通用的解决方案。 CPU 新个性不久前公布的第三代英特尔® 至强® 可扩大处理器(代号 Ice Lake),单核性能晋升 30%,整机算力晋升 50% 以上(参考[9])。 ISA 指令集在传统的 AES-NI 减速指令根底上,Ice Lake 新增了基于 Intel® Advanced Vector Extensions 512(Intel® AVX-512)的 Intel® Crypto Acceleration 个性,包含 Vector AES(VAES)、Integer Fused Multiply Add(IFMA 大数计算)、Galois Field New Instructions(GFNI)等(参考[2])。同时也补充反对了 SHA extension(SHA-NI),补足了上一代的 SHA256 性能短板。 图 1 Ice Lake 新增 Intel AVX512 指令集 Multi-bufferMulti-buffer 是一种集中批量申请进行并发解决的技术(参考[10])。应用软件通过异步 SSL 配合 multi-buffer library 应用 SIMD 向量指令(AVX/AVX2/AVX512)减速密码学计算。OpenSSL (BabaSSL,BoringSSL),Nginx (Tengine),DPDK Cryptodev,dm-crypt, ISA-L 等开源软件生态已局部反对。 ...

August 29, 2022 · 2 min · jiezi

关于阿里云:阿里云金融创新峰会云原生分论坛圆满举办加速金融行业落地云原生

随着云计算在多个行业的深刻利用,企业应用构建面临资源弹性、零碎稳固、利用麻利、业务智能、可信平安等新的问题和挑战,云原生曾经成为云时代业务利用构建的支流模式,全面容器化、核心技术互联网化和利用 Serverless 化曾经成为激活云时代利用构建的三大范式。 2022 年 8 月 25 日,阿里云金融翻新峰会-云原生,端到端技术创新引擎分论坛在阿里巴巴西溪园区圆满举办,多位技术大咖分享在金融行业落地云原生的相干议题。 关注阿里云云原生公众号,回复关键词【金融翻新】下载云原生分论坛 PPT 合集! 云原生推动金融行业云原生转型云原生在金融行业的利用能够通过容器云从新定义基础设施、通过微服务实现业务的灵便翻新、通过可观测实现端到端的监控运维降级、通过连续性保障技术实现云原生利用稳定性、通过以函数计算为代表的 Serverless 等技术实现降本增效等方面开展。 阿里云智能高级解决方案架构师阎帆在分享中提到,阿里云领有多年的云原生技术实际的教训,在 2020 年的双十一中,通过神龙架构和 ACK 容器的组合,能够实现 1 小时扩容 1 百万个容器的极致弹性,同时通过混部技术使得资源利用率大幅晋升,云原生中间件也实现了自研、商用、开源的"三位一体”,不仅通过阿里云服务寰球客户,在 2020 年双十一中云原生中间件服务框架峰值调用量超百亿 QPS,同时大规模的 Serverless 实际实现了弹性伸缩能力 10 倍的晋升,这些技术实际和教训不仅服务于阿里本身及商业客户,同时提供了多款外围开源我的项目回馈社区,并且在金融行业取得了宽泛的利用。 工商银行云原生运维架构实际在互联网金融时代下. 金融产品和服务模式呈现了突飞猛进的变动,传统单体 IT 架构无奈满足业务疾速多变的需要,为此工商银行宽泛使用云计算和分布式技术,以撑持金融业务的疾速倒退。工商银行云计算实验室研究员易辛悦在分享中提到,随着工行分布式转型工作的不断深入 ,利用架构的复杂性日益减少,交易量也一直攀升,银行外部对云原生场景下的运维撑持能力提出了更高的要求,工行通过在云原生可观测、 应急处理、混沌工程等方面发展相干工作,无效满足了银行外部的运维保障需要。 金融行业的云原生标准化之路云原生技术的生产级利用已出现不可逆趋势,金融级云原生除了要借鉴互联网行业最佳实际,还须要造成行业标准和胜利案例,并有配套的征询、服务、运维和产品保障。面对金融场景简单的 IT 架构挑战和不确定性,须要贯彻稳定性优先(Stability First)策略,构建零碎稳定性保障体系,巩固推动数字化转型过程。 阿里云智能资深技术专家周洋在演讲中提到,阿里巴巴在过来十多年里,积淀了一套蕴含:混沌工程、全链路压测、可观测、利用多活、平安生产畛域的产品化解决方案,并联结信通院建设成行业标准,在多家股份制银行、证券、保险落地。 实现 FinOps 之钥,阿里巴巴混部技术演进阿里巴巴从 2011 年开始摸索容器技术,从最早的 LXC 逐渐过渡到以 docker 容器为根底的云原生混部调度零碎,整个技术的演进过程分为了三大阶段。阿里云智能高级技术专家曾凡松具体介绍到,第一阶段是同部门间的在线业务混部合池,第二阶段是大的业务线内的在线业务混部合池,同时摸索了在线、离线工作的大规模混部,第三阶段是云原生转型后的全业务大混部。通过不同业务线的在线、在线混部,大幅升高了资源池碎片化带来的老本节约,通过在线、离线工作的混部大幅提高数据中心的资源利用率,最终帮忙阿里巴巴数据中心的 CPU 利用率实现业界当先。 数据库“云原生”助力金融行业技术利用翻新阿里云将云原生技术与数据库联合起来,依靠公共云和混合云的云计算根底能力,联合 DMS 的一站式数据管理平台,为企业提供了四大畛域的数据库产品能力建设: RDS 智能化与平安polardb 开源+云原生 HTAPAnalyticDB 离在线一体化解决方案Lindorm 多模数据处理计划阿里云智能数据库金融解决方案负责人冯程提到,全新的云原生架构很好的帮忙企业解决了传统商业数据库难以满足和响应快速增长的业务和技术创新的问题,帮忙金融机构实现业务全面向数字化、在线化、智能化演进。 布局开源,构建更加凋谢的云原生生态现如今,开源已成为寰球数字科技翻新的能源,成长为一种弱小的技术创新模式,而云计算的呈现进一步促成开源产品化和规模化,二者相互成就。将来的数字世界必将构建在云和开源之上。同时,作为云时代操作系统的云原生体系,凋谢和规范是开源、商业、技术竞争力和组织生机的起源。 阿里云智能高级技术专家黄玉奇在演讲中提到,阿里云在云原生畛域领有泛滥出名开源我的项目,包含两大 Apache 顶级我的项目和十大 CNCF 托管我的项目,笼罩容器、利用交付、音讯、微服务、Serverless 等技术方向,开源活跃度和影响力全面当先。依靠生产实践,主导奉献了如 KubeVela、OpenYurt、OpenKruise、Fluid 、Koordinator、Serverless Devs 等开源我的项目。将来,为了更好的适应全云开发时代,云原生将会持续朝着多云/分布式云、大数据/AI 业务交融、Serverless 状态、FinOps 等技术方向演进。阿里云云原生团队也将持续把握最新技术动静,保持开源影响力双引擎策略,和社区、开发者、生态搭档一起独特推动云原生开源生态建设。 ...

August 29, 2022 · 1 min · jiezi

关于阿里云:9月17日-杭州站-Serverless-Developer-Meetup-开启报名

2021 年 Serverless Developer Meetup 在北京、上海、杭州、深圳胜利巡回举办后,2022年 “最适宜中国开发者的 Serverless 实操沙龙” 如约而至,9月17日(星期六)杭州集结,招集酷爱开源技术的你! 本次 Meetup 仍然聚焦 “Serverless 在中国企业的落地 & 开发者实操与学习” ,特地邀请到阿里云、高德地图的 Serverless 一线技术专家,分享以后 Serverless 架构 CICD 的最新摸索钻研;带来 Serverless 在高德业务体系中的降本增效实际;全视角解析 Serverless 原子化能力是如何晋升研发效力,加强开发幸福感。更有 Serverless Workshop 等你来玩,手把手带你体验 1 分钟极速部署的乐趣,感触 Severless 算力之美。收费报名即可加入流动,咱们筹备了超多周边礼品,等你一起来 Serverless! 流动工夫 : 2022年09月17日(周六) 13:00 流动地点 : 杭州-阿里巴巴西溪园区B区访客核心 流动亮点: 如何应用 Serverless 架构进行 CICD 摸索,助力企业减速翻新?高德是如何在简单业务场景中实际 Serverless?站在 K8s 生态角度看看 Serverless;Serverless 原子化能力如何帮忙企业扩大业务零碎?Serverless Workshop 杭州站限定倒闭:手把手体验乏味场景! 报名形式 : 形式 1:点击文末“ 浏览原文 ”进入流动行报名 形式 2:扫描下方二维码 现场还筹备了超多惊喜好礼,等你来拿! 讲师阵容13:30-14:00 | Serverless 架构的 CICD 摸索 ...

August 29, 2022 · 1 min · jiezi

关于阿里云:99-大促来袭利用-MSE-服务自治体系为业务保驾护航

作者:草谷 前言业务大促备战是企业必做功课之一,明天趁着 99 大促来袭前,谈一谈如何利用 MSE 的服务自治能力提前发现潜在危险,通过可观测能力理解引擎外部运行状态,并提供自建 Nacos/ZooKeeper 一键迁徙上云服务,帮忙业务顺利应答大促。 点击查看直播回放: https://yqh.aliyun.com/live/detail/29401 微服务的挑战单体到微服务的变动随着互联网的业务快速增长,进而导致系统的架构也在一直的产生着变动,由最后的单体状态演变到当初最风行的微服务架构;软件架构设计外面没有银弹,享受着微服务带来的扩展性和性能晋升,必然要接受它带来的一些副作用,总的来说,次要有以下几点的变动: 调用链路减少了多跳单体利用的业务逻辑在一个节点过程外面闭环执行实现,微服务架构革新后,不同功能属性的逻辑拆分成一个个服务部署在独立的节点之上,要实现一段残缺的业务逻辑,须要每个独立节点互相配合,A->B 变成了 A->B1->B2->B3。 减少了简单中间件的依赖微服务架构外面,RPC 是最根本的技术引入,它蕴含了:RPC 客户端(Dubbo/Spring Cloud),注册核心(Nacos/ZooKeeper/Eureka),如果有事务要求的,还须要依赖一些分布式事务组件如 Seata。 从单兵作战到多团队合作微服务架构的降级,除了利用零碎层面的变动,生产关系也可能产生了变动,以前一个零碎由一个人负责,变成了多个服务团队合作开发,互相支持。 带来的挑战面对微服务架构带来的变动,给开发者和运维同学带来了不少挑战: 在日常开发和运维过程中,常常会遇到一些如下的典型问题: 场景一:服务调用失败,Consumer 日志显示没有可用服务,可明明 Provider 过程失常运行着,是服务没注册下来呢?还是注册核心没把地址推送到客户端呢? 场景二:Nacos 客户端在某种极其场景下,呈现了异样,排查了半天,是 Nacos 客户端已知 Bug 导致,须要降级到 xx 稳固版本,然而作为开发/运维的你,每天业务需要那么多,如何搞定对客户端版本迭代放弃着时刻的关注呢? 场景三:业务大促即将来临,客户端热气腾腾的扩容以应答激增的流量,忽然间注册配置核心不工作了,原来是达到注册配置核心额外容量了,须要扩容了,每次都是呈现问题才后知后觉,而后提前做好容量布局呢? 场景四:线上注册配置核心呈现 FullGC,重启又缓解一下,每隔一段时间又呈现,排查同学反馈是可能是有客户端错用,大量的读写数据导致内存吃不消,然而又苦于难以找出到底是谁在“捣鬼”?服务自治能力云原生微服务依然是目前最热门的技术架构(《40%的云原生开发者专一于微服务畛域》),因而解决这部分群体的痛点,可能给企业带来最大的价值,这也是 MSE 的初衷。 阿里巴巴从 08 年开始单体架构演进走到当初,有着十几年的踩坑教训,也总结出了一套打法;MSE 的服务自治能力 ,指标是帮忙用户疾速发现问题,定位问题,解决问题,它次要围绕以下 3 个方面提供一系列的性能和工具: 可观测性可观测性(Observability)是帮忙微服务持重运行的重要一环: “零碎是否还是失常的?”“终端用户的体验是否合乎预期?”“如何在零碎快要出问题之前被动发现零碎的危险?” 如果说监控能够通知咱们零碎出问题了,那么可观测就能够通知咱们零碎哪里出问题了,什么起因导致的问题。可观测岂但能够判断零碎是否失常,还能够在零碎呈现问题之前,被动发现零碎危险。 监控大盘MSE 提供了丰盛的监控大盘,无缝集成 ARMS,收费为大家提供了丰盛的可观测能力,能够借助这些指标,窥探容量状况,尽早发现问题,定位问题: 1. 根底大盘提供了基础设施的一些外围指标,次要如下: JVM 监控内存/CPU网络流量 针对这些根底外围指标,倡议至多要把内存/CPU 的预警给加上,阀值设置到 60%。 如果你的利用是时延敏感的,须要重点关注下 JVM 监控中的 FullGC 指标,这个会导致过程响应变慢。 网络流量指标,能够用来观测 SLB 的网络问题,例如流量忽然涨到某个点,而后始终横盘,这时你的客户端也相应呈现链接失败异样,这个就可能是达到了流量阀值。 2. 概览大盘概览大盘的指标,次要的目标是给大家疾速展现一些外围的指标,可能有一个全局的视角: ...

August 29, 2022 · 2 min · jiezi

关于阿里云:Dubbo-310-正式发布数据面原生接入-Service-Mesh

作者:Dubbo 社区 Apache Dubbo 3.1.0 作为 Dubbo 布局中的一个重要里程碑版本,标记着 Dubbo 在数据面上全面拥抱 Service Mesh 的工作模式,原生反对接入到 Service Mesh 的体系中。在 8 月 22 日,Dubbo 3.1.0 版本通过社区投票,正式对外公布。 Dubbo 3.1.0 次要包含了以下这些新性能: Service Mesh 数据面能力反对错误代码故障排查文档指南Fastjson2 反对单端口多协定反对Dubbo Reactive stream 反对Service Mesh Dubbo Mesh 下数据面的部署架构 Dubbo  3.1.0 版本中通过 Thin SDK 和 Proxyless 两种模式对接 Service Mesh 架构,原生反对基于 Proxy 的 Sidecar 模式;也反对间接对接管制面,通过 xDS 协定下发管控规定实现 Proxyless 模式。 在官网文档的《入门文档 -> 示例实际 -> Mesh 部署计划》局部能够获取疾速实际 Mesh 部署的文档。 Dubbo Mesh 部署架构 下一步,Dubbo 将从管制面与数据面两个方面动手,通过 Dubbo Mesh 的形式提供一整套服务管制平台。在这套架构中,数据面更轻量、专一,管制面更内聚、弱小,只须要部署一套管制面即可应用生产级的服务治理能力。更多对于 Dubbo Mesh 的形容能够从 《Dubbo Mesh - 从服务框架到对立服务管制平台》 一文中以及 Apache Dubbo 公众号获取。 ...

August 29, 2022 · 1 min · jiezi

关于阿里云:厚积薄发一文带您了解阿里云-RocketMQ-轻量版消息队列MNS

作者: 周新宇&陈涛&李凯 阿里云 RocketMQ 轻量版(MNS)音讯队列是一个轻量、牢靠、可扩大且齐全托管的分布式音讯队列服务。MNS 可能帮忙利用开发者在他们利用的分布式组件上更轻量的传递数据、告诉音讯,构建松耦合零碎。无需治理开销,而且模型简略,拆箱即用,主动横向扩容,无需治理分区等简单的逻辑运维,是一款 Serverless 音讯队列产品。 MNS 重点聚焦在基准音讯队列的外围能力建设,MNS 通过多年迭代与打磨,只管外部极为简单,但始终致力放弃其在客户端的简略易用,围绕轻量和集成两个命题,着力建设更易用的音讯队列产品。 外围劣势MNS 围绕轻量音讯队列,提供一系列的轻量级能力。为企业和开发者升高音讯产品的复杂度,缩小运维开销,提供更易上手的音讯队列服务。 轻量模型MNS 提供 1:1 和 1:N 两种轻量模型,可依据场景自行抉择须要的模型形式,学习成本低,上手快。无需了解简单的概念模型,无需刻意学习,几分钟即可疾速上手。 MNS 模型轻量次要体现在资源的操作方面,创立和删除等都配置有极简的 API,同时与数据链路的 API 属于同一个 SDK,不便用户像收发音讯那样进行资源的创立。相同,很多云产品资源的 API 都采纳了新的管控 SDK,应用门槛较高。 此外,MNS 的模型和资源是一一对应的,比方应用队列模型仅须要创立一个 Queue,十分易于上手和应用,而其余一些同类型产品,对于同一个模型会有实例、主题、队列、分区等多个资源。 轻量协定采纳 HTTP RESTful 标准协议,接入不便,跨网络能力强,人造领有反对多语言拜访的能力。官网 SDK 笼罩各大支流语言,包含 C++,C#,.Net,Python,PHP 和 Java,社区奉献也有用 Go,Node 等 。 同时拜访协定简略通用,即便不想依赖云产品提供 SDK ,也能够很容易通过简略的编码来拜访 API,接入成本低,开发效率高。 轻量计费 MNS 是 Serverless 轻量计费,相较于依照实例付费,MNS 提供更加轻量的 Serverless 计费形式。依照申请量和资源占用状况付费,用多少付多少,无需为额定预留资源买单;同时提供每个月领有 2000 万次 API 收费调用额度。这种齐全后付费的定价形式能够为企业节约大量闲置资源。 轻量运维MNS 能够依据利用状况进行弹性扩大,因而,无需放心容量布局和预配置。每个队列的音讯数量不限,而且规范队列能提供简直有限的吞吐量(QPS 范畴内);提供 Serverless 化弹性服务,高效快捷,无需对资源做预留,随取随用,实时扩缩;更适宜产品集成与刹时队列场景。 同时 MNS 提供欠缺的音讯监控音讯告警等能力,反对高可靠性和高稳定性,打消治理和运维时的复杂性和研发开销。 根本模型MNS 是一个交融了点对点(P2P)和公布订阅(Pub/Sub)两种生产模型的生产零碎,其中 MNS 的「队列」是 P2P 生产模型的实现,「主题」是 Pub/Sub 生产模型的实现。 ...

August 29, 2022 · 2 min · jiezi

关于阿里云:Tapdata-获得阿里云首批产品生态集成认证携手阿里云共建新合作

近日,深圳钛铂数据有限公司的 Tapdata Cloud 与阿里云计算有限公司(以下简称“阿里云”)的 Serverless 利用引擎(SAE) 通过严格测试程序,实现了首批的产品生态集成认证测试。作为入选阿里云首期云原生加速器的企业,Tapdata 通过云原生加速器我的项目携手阿里云共建更加丰盛的云原生产业生态圈,减速云原生落地。 此前,阿里云首次提出了“被集成”策略:将行业解决方案的搭建、施行、复制交由合作伙伴,阿里云只承当基础设施(IaaS)、技术中间件(PaaS)、数据平台(DaaS)层面的产品技术。“被集成”是阿里云对业务边界进行认真思考后作出的一个重要转变,标记着阿里云生态对合作伙伴的全面凋谢。 阿里云产品生态集成认证是面向阿里云合作伙伴自有产品、解决方案与阿里云相干产品的兼容性、可用性的技术能力认证。取得此认证,证实了 Tapdata 的技术能力、产品利用程度已满足阿里云相干产品的适配性要求。 深圳钛铂数据有限公司成立于 2019 年 9 月。Tapdata 是寰球首个基于 DaaS 架构理念、面向 TP 业务或场景的企业实时数据服务平台,通过把企业外围数据实时集中到地方化数据平台的形式并通过 API 或者反向同步形式,为上游的交互式利用、微服务或交互式剖析提供陈腐实时的数据。目前 Tapdata 已服务数十家行业标杆企业。 基于云原生架构,Tapdata 在国内率先推出“异构数据实时同步 SaaS 平台”——Tapdata Cloud,将异构数据实时同步能力以收费模式对外开放,以0代码、可视化的操作体验,解决企业跨零碎之间的数据实时同步/备份/迁徙、集成等问题,帮忙企业开释数据筹备阶段的精力,更加专一数据业务的开发与翻新,减速数字化转型。Tapdata Cloud 自开启公测以来,累计已有 7000+ 家企业用户在测试和应用,笼罩电子商务、新批发、智慧交通、营销传媒、软件集成、高端制作等多个行业。 阿里云 Serverless 利用引擎(SAE)是一个全托管、免运维、高弹性的通用 PaaS 平台。SAE 反对 Spring Cloud、Dubbo、HSF、Web 利用和 XXL-JOB、ElasticJob 工作的全托管,零革新迁徙、无门槛容器化、并提供了开源侧诸多加强能力和企业级高级个性。Tapdata 的业务架构,须要兼顾多租户、老本和弹性能力的考量,在思考多方面的产品选型后,SAE 十分合乎现有应用场景。SAE 自带监控和不必关注底层,疾速部署,无效帮忙 Tapdata 减低运维压力。实现业务稳固、疾速和高效经营。 阿里云领有丰盛的云原生产品家族,有超过 300 款的产品,近千个技术解决方案。本次 Tapdata 取得阿里云产品集成认证,代表了 Tapdata 在生态单干建设上迈过了一个新里程碑。Tapdata 始终以生态搭档的身份与阿里云放弃着深度单干。将来,借助阿里云的“被集成”生态策略与生态集成技术的全面凋谢,单方的严密单干将进入新的阶段,独特为中国数千万家企业提供数字化转型服务。

August 29, 2022 · 1 min · jiezi

关于阿里云:无需编写一行代码实现任何方法的流量防护能力

作者:十眠 背景微服务的稳定性始终是开发者十分关注的话题。随着业务从单体架构向分布式架构演进以及部署形式的变动,服务之间的依赖关系变得越来越简单,业务零碎也面临着微小的高可用挑战。疫情期间,大家可能都经验过以下的场景: 线上预约购买口罩时霎时洪峰流量导致系统超出最大负载,load 飙高,用户无奈下单;在线选课时同一时刻提交选课的申请过多,零碎无奈响应;在线办公/教学时同时在线会议的用户过多,会议比拟卡; 这些可用性降落的场景会重大影响用户体验,所以咱们须要事后通过一些伎俩来提前对不稳固的因素进行防护,同时在突发流量的状况下咱们也要具备疾速止损的能力。 流控降级 - 保障微服务稳定性重要的一环影响微服务可用性的因素有十分多,而这些不稳固的场景可能会导致严重后果。咱们从微服务流量的视角来看,能够粗略分为两类常见的场景: 服务本身流量超过承载能力导致不可用。比方激增流量、批量工作投递导致服务负载飙高,无奈失常解决申请。流量是十分随机性的、不可预测的。前一秒可能还惊涛骇浪,后一秒可能就呈现流量洪峰了(例如双十一零点的场景)。然而咱们零碎的容量总是无限的,如果忽然而来的流量超过了零碎的承受能力,就可能会导致申请解决不过去,沉积的申请解决迟缓,CPU/Load 飙高,最初导致系统解体。因而,咱们须要针对这种突发的流量来进行限度,在尽可能解决申请的同时来保障服务不被打垮。 服务因依赖其余不可用服务,导致本身连环不可用。比方咱们的服务可能依赖好几个第三方服务,假如某个领取服务出现异常,调用十分慢,而调用端又没有无效地进行预防与解决,则调用端的线程池会被占满,影响服务本身失常运行。在分布式系统中,调用关系是网状的、盘根错节的,某个服务呈现故障可能会导致级联反馈,导致整个链路不可用。一个服务经常会调用别的模块,可能是另外的一个近程服务、数据库,或者第三方 API 等。例如,领取的时候,可能须要近程调用银联提供的 API;查问某个商品的价格,可能须要进行数据库查问。然而,这个被依赖服务的稳定性是不能保障的。如果依赖的服务呈现了不稳固的状况,申请的响应工夫变长,那么调用服务的办法的响应工夫也会变长,线程会产生沉积,最终可能耗尽业务本身的线程池,服务自身也变得不可用。古代微服务架构都是分布式的,由十分多的服务组成。不同服务之间互相调用,组成简单的调用链路。以上的问题在链路调用中会产生放大的成果。简单链路上的某一环不稳固,就可能会层层级联,最终导致整个链路都不可用。因而咱们须要对不稳固的服务进行熔断降级,临时切断不稳固调用,防止部分不稳固因素导致整体的雪崩。 MSE 服务治理基于阿里限流降级组件 Sentinel 的稳定性防护能力,以流量为切入点,从流量管制、并发管制、熔断降级、热点防护、零碎自适应爱护等多个维度来帮忙保障服务的稳定性,笼罩微服务、云原生网关、Service Mesh 等几大场景。 介绍完流控降级的场景与能力之后,上面讲请出咱们明天要重点介绍的主人公:运行时动静 Enhance 能力。咱们将介绍如何通过 MSE 服务治理一键实现任意点位的流控降级,任意点位蕴含但不限于 Web、Rpc、SQL、Redis 等拜访接口、任意编写的业务办法、框架的接口等等。 运行时 Enhance 能力 - 一键实现任意点位的流控降级如何在运行时,给任意指定的办法减少一个流控降级能力呢?上面我将以一个 Demo 为例简略介绍。咱们编写了如下一个业务代码,咱们编写了一个简略的 Spring Boot 利用,其中 a 办法是一个随便编写的外部办法。 @SpringBootApplicationpublic class AApplication { public static void main(String[] args) { SpringApplication.run(AApplication.class, args); } @Api(value = "/", tags = {"入口利用"}) @RestController class AController { ... @ApiOperation(value = "HTTP 全链路灰度入口", tags = {"入口利用"}) @GetMapping("/a") public String restA(HttpServletRequest request) { return a(request); } private String a(HttpServletRequest request) { StringBuilder headerSb = new StringBuilder(); Enumeration<String> enumeration = request.getHeaderNames(); while (enumeration.hasMoreElements()) { String headerName = enumeration.nextElement(); Enumeration<String> val = request.getHeaders(headerName); while (val.hasMoreElements()) { String headerVal = val.nextElement(); headerSb.append(headerName + ":" + headerVal + ","); } } return "A"+SERVICE_TAG+"[" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + " -> " + restTemplate.getForObject("http://sc-B/b", String.class); } ... }}到目前为止监控是看不到 a 办法的,咱们只能看到 restA 的接口或者说是 GET:/a 的监控数据,并且能够对其配置限流降级规定。 ...

August 29, 2022 · 2 min · jiezi

关于阿里云:Dragonfly-基于-P2P-的文件和镜像分发系统

作者: 孙景文、吴迪 背景网络下载提起网络下载畛域,你应该首先会想到基于 TCP/IP 协定簇的 C/S 模式。这种模式心愿每一个客户机都与服务器建设 TCP 连贯,服务器轮询监听 TCP 连贯并顺次响应,如下图: 上世纪末期,基于 C/S 模式的思维,人们倒退了 HTTP , FTP 等应用层协定。然而 C/S 模式的弊病很显著:服务器的负载过大,下载速率过慢。随着互联网规模的增大以及客户对于下载数据大小,下载速率等需要的回升,这些弊病被一直放大。 P2P 下载原理基于上述背景,有人联合 P2P 网络与负载平衡的思维,提出 P2P 下载模式。这种模式不再把所有的下载压力丢给服务器,服务器只负责传递文件元数据,真正的文件下载连贯建设在客户机与客户机之间。同时一个文件能够被分片为多个块,同一个文件中不同的块能够在不同的客户机之上下载,使得下载文件在 P2P 网络中动静流通,大幅晋升了下载效率,如下图: 去中心化的 P2P 下载基于 DHT 技术,它采纳分布式全网形式来进行信息的存储和检索。所有信息均以哈希表条目模式加以存储,这些条目被扩散地存储在各个节点上,从而以全网形式形成一张微小的分布式哈希表。在此基础上做到对单服务器的去中心化,哈希表负责对负载的摊派,将全网负载均摊到多个机器之上。 Dragonfly 简介及架构概述Dragonfly 是一款基于 P2P 的智能镜像和文件散发工具。它旨在进步大规模文件传输的效率和速率,最大限度地利用网络带宽。在利用散发、缓存散发、日志散发和镜像散发等畛域被大规模应用。 原理Dragonfly 联合 C/S 架构与 P2P 架构的长处。它提供面向客户的 C/S 架构下载模式。同时它也提供面向服务器集群的 P2P 回源模式,与传统 P2P 不同的是,对等网络建设在 Scheduler 外部,指标是最大化 P2P 外部下载效率,如下图: 架构简介Dragonfly 面向镜像散发和文件散发,联合 P2P 网络和服务器集群的思维,向用户提供稳固的,高效的下载服务。Dragonfly 心愿在服务器外部构建 P2P 网络,将服务器的不同主机节点分为 Manager、Scheduler、Seed Peer 以及 Peer 四个角色,别离提供不同的性能。 ...

August 29, 2022 · 2 min · jiezi

关于阿里云:携手共建云原生生态-阿里云云原生加速器第二次集结圆满结营

随着新一轮科技反动与产业改革继续深刻,数字化转型成为数字经济时代各行业企业谋求生存倒退的必由之路。在此背景下,云原生技术凭借其麻利架构、简化运维、降本增效、减速翻新等劣势,成为推动企业深度上云用云的要害撑持和打造数字经济倒退新动能的重要保障。与此同时,云原生也成为近年来最热门的云计算赛道,为守业翻新带来全新倒退时机。 8 月 19 日- 8 月 20 日,由阿里云云原生利用平台、阿里云加速器、阿里巴巴策略投资独特举办的阿里云首期云原生加速器实现第二次集结。此前,31 家企业入选了首期阿里云云原生加速器,其中超半数企业为 B 轮及以上融资,1/5 企业为 C 轮及以上。入选企业总估值超过 338 亿,笼罩制造业、新批发、互联网、医疗等多个畛域。本次集结,入选企业创始人及外围高管们汇聚一堂,在杭州开启了一场为期两天的深度学习。 阿里云云原生加速器是国内云原生畛域专一企业赋能减速组织,依靠阿里云在云原生畛域的深厚布局以及阿里巴巴全方位生态资源,为云原生畛域守业企业提供业务、技术、资金、品牌等多维度的减速赋能与生态单干,助其成为细分畛域的明星企业,在阿里云上造成百花齐放的云原生生态体系,独特携手拥抱数字时代。 学员播种满满 与阿里云共建云原生生态在经验了两天的集中学习、跨界交换及深度链接之后,阿里云云原生加速器迎来了结业典礼。 典礼上,学员们交换分享了各自的播种与心得。有学员示意,阿里云云原生加速器为企业提供了一个生态链接的价值平台,不仅将阿里云生态资源与企业链接起来,还在企业的技术、产品、解决方案上实现了更多链接。在此基础上,企业、业务、组织和集体都将失去减速成长。 还有学员示意,云原生加速器为企业建设了交换共享的平台,尤其是对于阿里云技术路线和业务倒退的分享以及企业治理、股权设计等相干课程及交换,让大家开辟了视线,无效助力企业现阶段的疾速倒退。 多畛域大咖交换共创、思路碰撞、探讨热烈往年 3 月第一次集结和课程完结后,阿里云云原生加速器的学员们纷纷表示播种满满、非常空虚,对加速器给予了高度认可。本次集结,阿里云更是邀请了企业治理、云原生、股权设计等畛域业余导师,通过沉迷式教学与实际、开放式交换与学习,为学员们提供跨界视角与领导,助力云原生畛域企业实现疾速倒退。 阿里巴巴研究员、阿里云智能云原生利用平台总经理丁宇从技术角度登程,剖析了云原生市场现状及发展趋势,并介绍了阿里云在云原生畛域的布局与最新进展。 他指出,产业数字化浪潮中,云原生已成支流,引领全面容器化、核心技术互联网化、利用 Serverless 化等趋势。针对阿里云在云原生畛域的实际,丁宇回顾道,阿里巴巴实现了寰球最大规模的云原生实际,所有业务 100% 跑在公共云上,利用 100% 云原生化。基于容器软硬一体优化,在线业务部署百万容器规模,带来 CPU 资源利用率晋升 30%、万笔交易成本降落 80%、研发运维效率晋升 20% 的技术价值,通过充沛获取云计算红利,抢占业务先机,发明更大的社会价值。 当企业迈入疾速成长阶段,守业团队(治理团队)的组织能力将对企业倒退起到关键性作用。第二次集结期间,前脉脉联结创始人凌隽以「数智化时代下,成长型企业的组织能力修炼」为主题,从组织能力修炼、策略经营、企业组织治理等角度登程,分享了主张与见解。 他示意,组织能力的外围是企业家要集经营者、管理者、领导者等角色于一身,实现“三位一体”。企业家须要具备经营者建设明确清晰的指标,明确为何奋斗的能力;须要具备管理者拆解指标、实现目标的能力;还要具备领导者的魅力,可能吸引人、感召人、凝聚人。 对守业公司而言,股权设计非常重要。通过正当的股份调配,能够帮忙企业吸引人才、资本、资源,独特做大蛋糕。极光律所首席合伙人周丽霞围绕“动静股权设计”开展了分享。她认为,计划比文件更重要,共识比计划更重要,兽性比共识更重要,价值观比兽性更重要。很多企业创始人在懊恼的对于事的问题,很大水平上都是人出了问题,所以要花工夫精力去找对的人,去绑定和激发那些对的人和好的人。 致趣百川创始人何润从搭建客户胜利体系的视角登程,为大家带来了他的一些思考。他认为,搭建欠缺的市场销售体系须要经验聚焦细分市场取得成功、市场销售漏斗增长、销售队伍规模化增长等阶段。 此外,来自云原生、钉钉开放平台、计算巢、云市场等产品生态负责人分享了针对云原生加速器搭档的单干策略与业务对接模式,通过多维度、深层次、全方位的单干链接,帮忙云原生加速器搭档拓展更多的商业机会。 此前,硬之城、钛铂数据、秒云、云霁科技、骞云等云原生加速器成员企业取得阿里云首批产品生态集成认证,借助阿里云被集成生态策略与生态集成技术的全面凋谢,独特为中国数千万家企业提供数字翻新服务。 阿里云云原生加速器是阿里云加速器在云原生畛域的重要投入,冀望以此赋能守业企业,携手共建云原生行业新生态。作为国内规模较大、产业资源丰盛、减速高效的赋能组织,在过来几年中,阿里云加速器深刻多个垂直赛道,陪伴和减速了诸多细分畛域领先者的呈现。将来,阿里云加速器将持续聚焦前沿畛域,引领守业企业一起激情碰撞、协同翻新,从而推动我国产业转型降级。

August 26, 2022 · 1 min · jiezi