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

April 10, 2023 · 0 min · jiezi

关于阿里云:借力函数计算-FCHEROZ-打造专业级-AI-日本将棋服务

作者:计缘 客户简介HEROZ 公司是一家 AI 开发公司,成立于 2009 年 4 月。凭借其对将棋和国际象棋 AI 开发的专业知识,该公司提供名为“HEROZKishin”的解决方案,以解决企业面临的各种挑战。其施行的示例包含能源管理、股票市场预测以及供应链治理优化。该公司还公布了利用将棋 AI 专业知识的游戏应用程序“将棋大战”。 在 2022 年 5 月,该公司公布了一个名为“Kishin Analytics”的新服务。该产品利用最新的将棋 AI 反对将棋钻研,可在浏览器上运行并且任何人都能够应用,无需高性能计算机环境。该服务旨在为宽广将棋爱好者提供帮忙,包含职业选手和心愿成为职业选手的学员。以前,只有多数职业选手应用低廉的计算机来进步他们的将棋技能。当初, “Kishin Analytics”在阿里云函数计算 FC 上以更低的老本提供高质量的将棋 AI 剖析服务,任何人都能够以低成本进行应用。 客户痛点HEROZKishin 本来是基于弹性计算服务的 GPU 来撑持 AI 服务。但还是有一些问题始终困扰着他们: 随着用户数量的一直减少,服务器运维工作量迅速减少,运维人员的工夫老本和资源老本也逐步回升。在流量峰值和非峰值时段,弹性计算实例不能无效地进行扩缩治理。因而,用户在高峰期的体验不尽人意。如果长时间保留弹性计算实例,则老本较高。在非顶峰时段会节约大量计算能力。导致老本节约。解决方案为了解决上述问题,客户应用阿里云函数计算 FC 的 CPU 和 GPU 减速实例来撑持 AI 服务。函数计算(FC)是面向函数的 Serverless FaaS 平台,为客户提供免运维,按量计费,反对高性能实例弹出,以及业界当先的 GPU 实例。 完满解决了客户的痛点: 免运维 IaaS:函数计算(FC)作为 Serverless 服务,能够罢黜底层服务器的治理。高弹性能力:函数计算(FC)提供秒级弹性能力,能够在流量波峰时疾速扩容,应答峰值压力。老本优化:依据 CPU 或 GPU 的应用工夫付费,无需长期保持实例,削减空窗期老本。客户价值阿里云函数计算(FC)给客户带来的价值如下: 稳定性:依靠阿里云弱小的 Serverless 底座,保障客户商用服务稳固运行,不产生重大故障。晋升用户体验,缩小用户散失:函数计算(FC)能够提供基于流量以及定时的弹性伸缩,帮客户短时间扩容,不影响用户体验。防止因为弹出服务器的工夫过长而引起的用户散失问题。降低成本:客户无需洽购,治理服务器等基础设施,升高运维老本。并且函数计算(FC)秒级扩容能够让客户只花最短时间的来裁减算力,这能够无效管制老本。客户证言开发并取得两次世界较量冠军的 AI 将棋引擎,负责“Kishin Analytics”首席工程师的 Kano 学生示意: “阿里云函数计算(FC)帮忙咱们升高了 IaaS 资源的老本。咱们期待行将推出的新 GPU 减速的 A10 服务性能实例,并冀望为职业将棋玩家提供更多高性能的服务。HEROZ 将持续专一于其专有的 AI“HEROZ Kishin”,进行深度学习等机器学习技术的钻研和开发,并将其理论利用于业务。HEROZ 旨在通过引领人工智能反动来发明将来。” ...

April 10, 2023 · 1 min · jiezi

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

April 10, 2023 · 0 min · jiezi

关于阿里云:KubeVela云原生应用和平台工程之路

作者: 殷达 背景最近,云原生计算基金会 CNCF 下的 App Delivery TAG (利用交付畛域小组)公布了《CNCF 平台工程白皮书》,KubeVela 被纳入“对立 API 层”我的项目。 原文下载链接: https://appdelivery.cncf.io/whitepapers/platforms/ 回溯 2019 年,Kubernetes 逐步成为部署和治理基础设施的事实标准。越来越多的平台工程师开始在 Kubernetes 之上构建平台,并向最终用户提供服务。容器化部署和申明式 API 大大降低了简单零碎操作的难度。 然而,当集群中存在数千个工作负载和相干资源时,操作人员很难辨认逻辑关系,并依据其外部关系进行精确且合乎业务须要的治理。 同时,像 Helm 或 Kustomize 这样的工具曾经摸索了 打包和交付  Kubernetes 资源的解决方案。这些已被证实是十分无效的,显然 Helm Chart 当初是在 Kubernetes 中打包和散发制品最受欢迎的形式。 另一方面,各种我的项目也开始定义应用程序。这些尝试不仅是简略地打包资源,而是从自上而下的视角寻求解决方案。与将离散的对象分组以更方便使用相比,应用程序旨在弥合业务利用的研发者和基础设施之间的认知差距。凋谢利用模型 Open Application Model(OAM) [ 1] 及其对 KubeVela 的实现正是从这里开始。 Pic 1. OAM is proposed to bridge the gap between app developers and the use of underlying infrastructures 应用程序模型的诞生由微软和阿里云反对的凋谢应用程序模型(OAM),其指标是为云原生应用程序应该是什么样子提供一个实践模型。它最后被设计为不与 Kubernetes 绑定,并且偏向于为操作应用程序提供对立的接口。OAM 提出了组件和个性的概念,以对应用程序架构进行形象。这对于原生 Kubernetes 用户来说是一个很大的改革,但这是有起因的。 在 Kubernetes 中,Deployment 或 Service 等资源侧重于实现。每种资源类型都提供特定的性能。一些低级性能,(如运行容器),会转到 Pod 等根本单元。一些更高级别性能,例如容器编排,解决回滚的性能,(例如 Deployment 或 StatefulSet),则是建设在较低级别的性能之上的。毫无疑问, “为平台构建者服务的平台” 这个定位取得了微小的胜利。但对于利用开发人员来说,社区正在迫使他们成为 Kubernetes 专家能力使事件失常运行。此外,对低级资源的浮浅了解实际上可能导致不正确操作带来的显著危险。 组件OAM 切入的视角与传统的解决方案显著不同。应用程序的真正组成是什么?应用程序开发人员须要什么? ...

April 10, 2023 · 3 min · jiezi

关于阿里云:成都开发者Meetup|聚焦云原生开源点亮企业创新活力

作者:阿里云云原生 共话云原生架构降级,构筑开源凋谢的社区气氛,帮忙企业借助云原生开源技术实现增效降本。2023 年 04 月 15 日,8 大微服务&容器开源实际亮点集结成都。本次微服务x容器开源开发者 Meetup 将围绕云原生畛域当下热门开源我的项目的技术分享和企业实际开展,流动邀请到 Dubbo、KubeVela、OpenSergo 、OpenYurt、Seata、Higress、OpenKruiseGame 等云原生畛域传统&新锐开源我的项目的外围维护者,从前沿技术、社区最近动静到架构实际再到企业应用案例,为大家带来精彩的内容分享。 流动信息流动日期 : 2023年04月15日(周六) 09:00—16:30 流动地址 : 成都·阿里核心天府长岛 1-B-14 青城山 流动限额抢报中... 点击文末“浏览原文”或扫描下方二维码即可收费报名 流动简介微服务 x 容器开源开发者 Meetup 是由阿里云云原生利用平台打造的,面向一线开发者的技术交流活动,整体聚焦容器 & 微服务方向,旨在通过热门的开源技术、云原生在企业的利用实际案例、架构设计思维等,帮忙开发者学习云原生技术、交换实际中的问题和痛点,推动云原生技术和架构的规模化利用落地过程。 分享嘉宾及议题介绍01丨09:30-10:10 分享主题:精进云原生 - Dubbo 3.2 正式公布 江河清(远云),Apache Dubbo PMC、阿里云研发工程师 专一于服务框架,Apache Dubbo 外围保护团队成员 议题简介:在社区同学激情的开发合作下,通过半年的致力,Dubbo 3.2.0 版本终于正式公布。在本次演讲中将就 Dubbo 3.2 带来的原生 JDK17、Spring Boot 3、Native Image、Rest 协定反对;RPC 性能大幅晋升;服务粒度线程池隔离;可观测体系全面降级等新个性进行全面分析、解说。Spring Cloud Alibaba、Dubbo、Envoy 等多个微服务体系平行倒退下,将来微服务架构该如何演进?微服务全景图如何构建?微服务平安和高可用体系如何构建? 02丨10:10-10:50 分享主题:OpenSergo & Sentinel 2.0 服务治理体系揭秘 苏宇(流士),OpenSergo Maintainer、阿里云研发工程师 致力于推动微服务治理标准的演进与落地,深度参加阿里云微服务引擎 MSE、利用高可用服务 AHAS 等微服务云产品研发 议题简介:本次分享将介绍 Sentinel 2.0 服务治理的自愈体系,包含自适应流量防护,微服务线上运行阶段的稳定性保障实际及通用的流量治理能力,包含全链路灰度(路由、染色)、离群实例摘除等内容。 03丨10:50-11:30 分享主题:Seata 的可观测实际 刘戎(察溯),阿里云研发工程师&Seata Maintainer 阿里云分布式事务团队成员,目前负责分布式事务产品在团体内、专有云的产品化,当初致力于 Seata 开源建设 议题简介:随着接入 Seata 的微服务利用的规模不断扩大,全局事务的执行链路不透明性问题日益凸显。本次分享向大家介绍,Seata 在全局事务可观测性方面的一些摸索和实际。 ...

April 10, 2023 · 1 min · jiezi

关于阿里云:聚焦弹性问题杭州铭师堂的-Serverless-之路

作者:王彬、朱磊、史明伟 得益于互联网的倒退,常识的流传有了新的载体,应用在线学习平台的学生规模逐年增长,越来越多学生在线上获取和应用学习资源,其中教育科技企业是比拟独特的存在,他们担当的不仅仅是教育者的角色,更是让新技术的创新者和实践者。作为一家在线教育高科技企业,杭州铭师堂成立十余年来统一致力于用“互联网+教育”的科技伎俩让更多的学生能享有优质的教育,促成他们的全面成长,在一直汇聚优质的全国各地教育资源的同时,杭州铭师堂深度聚焦教学效率的晋升,深耕先进技术,促成其在学校教育智能化畛域、个性化学习畛域广泛应用。 目前网上教学需要的常态化,老师在线审阅作业需求量急剧增大,为了加重老师的审批工作量,晋升教学效率,杭州铭师堂教育基于 Serverless 创造性的开发了学习笔记评优零碎, 晋升弹性效率,并大幅度降低老本。 01 峰值流量破万后,如何更好解决工作解决的实时性问题?杭州铭师堂业务涵盖全国 20 多个省份,成立十余年来,杭州铭师堂一直汇聚优质的全国各地教育资源,并开展先进科学技术在学校教育智能化畛域、个性化学习畛域的利用钻研。在教育信息化 2.0 趋势下,公司致力于促成线上教育与线下教育的高度交融,以学校为外围场景,与学校携手共建互联网学习空间,为学校与学生提供学习解决方案,极大促成教学效率的晋升。 K8s+ 音讯,零碎难以解决数据并行度问题学生做完作业后,会将作业拍照,而后上传到作业批阅零碎,后端系统此时会有多个动作: 将作业照片上传到 OSS将用户作业信息落到数据库发送一条音讯到阿里云音讯队列 Kafka其中第 3 步发送音讯到阿里云音讯队列 Kafka 后,通过音讯队列 Kafka 的 connector 性能,驱动函数计算(简称 FC) 进行数据处理。函数计算作为业务的计算平台,承载了所有的解决逻辑,通过图像识别和数据分类算法,自动识别作业的实现状况。 在一年的大多数工夫里,业务流量都比拟安稳,但在寒暑假时,个别会迎来一年中的顶峰,在过来的 2022 年寒假期间,均匀每天须要解决 100 多万的作业图片解决,峰值流量更是达到了万级别。 作业图片的处理程序原先部署在 Kubernetes(简称 K8s),程序通过订阅 Kafka 的 topic,获取数据门路,从 OSS 获取数据进行解决,这一部分波及到数据并行度的解决,次要存在两方面问题: Kafka 的生产端并发度受限于 topic 的 partition,生产端个数最多只能跟 partition 数齐平,生产端数量超过 Kafka topic partition 数会导致超过 partition 数目的生产端没法订阅数据,也就没有理论的意义;每个生产端生产到数据之后会将数据发到解决线程解决,解决线程在最好的状况下是能够依据业务流量动静调整,当然更多的线程就须要更多的资源,这又波及到工作资源的程度扩容和垂直扩容问题。理论实现时杭州铭师堂生产端个数与 topic partition 保持一致,生产线程数通过调优之后放弃了固定数量,在绝大多数工夫里,程序可能很好的满足数据处理的的实时性要求,但对于高峰期,因为解决能力的限度,还是会经常出现工作积压的状况。为了可能更好的实现工作解决的实时性要求,杭州铭师堂架构组寻求新的架构,通过对云产品的比照之后,最终抉择了阿里云函数计算 FC。 02 兼顾弹性和老本,选定函数计算新计划通过基于函数计算的新计划,很好的解决了老架构存在的问题,同时,开发迭代速度,运维效率和老本都失去了很大的优化,新老计划比照如下: 通过以上比照能够看出,函数计算对于杭州铭师堂学习笔记评优零碎还是十分适合,在解决弹性痛点的同时,资源老本,开发运维效率都失去了肯定的晋升。 03 杭州铭师堂的 Serverless 落地之路在技术架构的施行过程中,最后也遇到了一点问题: Java 冷启动的问题:第一个问题是语言的问题,原来的后端程序采纳 Java 微服务框架,整个服务中有多个接口,刚开始间接将整个服务部署到函数计算。因为 Java 程序启动的个性,加上整个服务框架加载的模块和数据较多,导致冷启动工夫比拟长,触发冷启动时没法很好的满足业务接口响应要求。 ...

April 10, 2023 · 1 min · jiezi

关于阿里云:阿里云可观测-2023-年-3-月产品动态

本月可观测热文回顾文章一览: 定位任意时刻性能问题,继续性能剖析实际解析 对立观测丨应用 Prometheus 监控 SNMP,咱们该关注哪些指标? 根底篇丨链路追踪(Tracing)其实很简略 对立观测丨应用 Prometheus 监控 Nginx Ingress 网关最佳实际 应用篇丨链路追踪(Tracing)其实很简略:申请轨迹回溯与多维链路筛选 性能快报

April 8, 2023 · 1 min · jiezi

关于阿里云:使用-LifseaOS-体验-ACK-千节点分钟级扩容

作者:阿里云 ACK 和操作系统团队三年前的云栖大会上,LifseaOS 正式公布,这是一款专为云原生场景而垂直优化的操作系统发行版,即业界统称的 ContainerOS。初始公布时,它提供了如下几个突出的个性:轻量(Lightweight)、疾速(Fast)、平安(Secure)、镜像原子治理(Atomic) 。 现在 LifseaOS 已在阿里云容器服务 ACK Pro 的托管节点池取得宽泛应用,通过一年多的打磨优化,它在基于 Kubernetes 的云原生集群中正展现出越来越多的独特劣势,本次所介绍的即为 LifseaOS 在扩容弹性上所展现出的极速劣势。 两秒启动 OS,分钟级千节点扩容在 ACK 集群中实现弹性扩容,是一项根底、要害且被重度依赖的能力。尤其是在集群资源池缓和或者有余时,如何疾速扩容节点、复原资源水位对用户业务至关重要。 在节点主动伸缩场景,ACK 通过组件轮询判断集群内资源是否短缺,一旦呈现有余则主动触发扩容节点。如果在这种状况下,节点扩容速度慢,则会重大影响主动伸缩成果,甚至因为资源水位长期有余而影响用户业务。目前的节点扩容速度在 ACK 节点主动伸缩端到端耗时中占比超过 90%,能够说节点扩容速度的优化的水平决定了主动伸缩的体验。 以某量化公司的扩容场景为例,在其长期提供服务的过程中,通过了上千次百节点级别的扩容流动,均匀每次扩容 P90 节点就绪耗时(即单次扩容流动开始至 90% 的节点处于就绪状态)为 162s,耗时较长。若能将扩容流动耗时压缩至 1min 以内,将大幅提高用户在节点扩容场景中的体验。 基于此,LifseaOS 针对 ACK 集群节点池的弹性扩容场景,实现了极速扩容的个性。 一方面,LifseaOS 通过简化 OS 自身的启动流程大大提高了 OS 启动速度。它裁剪掉了大量云上场景无需的硬件驱动,必要的内核驱动模块批改为 built-in 模式,去除了 initramfs,udev 规定也被大大简化,OS 首次启动工夫从传统 OS 的 1min 以上降落到了 2s 左右。 另一方面,LifseaOS 联合 ACK 场景进行了定制优化。它通过预置集群管控必备组件的容器镜像以缩小节点启动过程中因镜像拉取而带来的耗时,并联合 ACK 管控链路优化(例如调节要害逻辑的检测频率、调整高负载下零碎瓶颈中的限流值等),极大地提高了节点扩容速度。 LifseaOS 在节点弹性扩容场景上,相比于传统 OS 计划有十分大的劣势,且并发启动的节点数目越多,LifseaOS 的劣势越显著!如下图所示,并发启动 1000 个节点时,P90 节点就绪工夫 CentOS 为 380s,而 LifseaOS 仅需 53s,实现了分钟级别的千节点扩容体验!!! ...

April 6, 2023 · 1 min · jiezi

关于阿里云:CNStack-服务网格构建统一的服务治理和零信任安全能力

作者:古琦随着云技术的倒退与遍及,以 K8s 为代表的云原生概念越来越被企业所承受,成为企业数字化转型的坚实基础。其所提倡的不可变基础设施、以资源为治理对象、描述性的 API、最终一致性等等理念,曾经成为行业对基础设施的对立认知规范。 如何实现微服务利用的疾速上云,实现标准化的治理能力,服务网格是一个重要的组成部分,服务网格是一个专门解决服务通信的基础设施层,它的职责是在简单的拓扑构造下进行微服务间牢靠的申请传送,在实践中,它是一组和应用服务部署在一起的轻量级的网络代理,并且对应用服务通明。 服务网格的产品有十分多,比方 Istio、Linkerd,Open Service Mesh 等等,还有呈现相似 ebpf + envoy,proxylessMesh,在 CNStack 中咱们提供了基于 Istio 加强的服务网格能力,构建微服务的对立流量治理规范。 除了治理外,零信赖平安也是十分重要的能力,零信赖是指无论在网络边界外部还是内部,都没有任何隐含的信赖,CNStack 服务网格将身份认证和受权从利用程序代码集成到服务网格中,开箱即用、动静配置更加容易,并且立刻失效。 上面通过流量治理、零信赖平安两个方面介绍 CNStack 服务网格产品。 产品特点1. 服务网格治理在 CNStack 平台上领有能够疾速搭建服务网格的能力,部署在 CNStack2.0 中的服务网格能够主动发现被 CNStack 治理的 Kubernetes 集群,通过创立网格将服务网格组件部署到对应集群,反对配置网关高可用、配置懒加载、资源、Accesslog 等能力,能够抉择部署 1.14 版本、1.13 版本的服务网格,兼容不同版本的 K8s 集群。 2. 服务治理服务网格的架构图: 通过 Proxy 代理申请的流量,服务网格能够构建对立的服务治理能力,流量从 Service A 收回后被 Iptables 流量劫持到 Proxy 中,Proxy 通过一系列的 Filter 解决找到满足规定的 Service B 的 Pod,转发申请,Service B 的 Proxy 通过 Iptables 获取到接管到的申请,而后转发给 Service B,Istiod 负责服务发现、规定下发、Auth 等能力,服务网格的对立的治理能力都是构建在无侵入的 Proxy 根底上。 ...

April 6, 2023 · 1 min · jiezi

关于阿里云:Higress-GitHub-star-突破-1k来自社区开发者和用户的寄语

作者:Higress人不知;鬼不觉间,Higress 从去年11 月云栖大会发表开源,曾经过来了 5 个月的工夫。这期间,Higress 一共实现了 136 个 PR 的合并,公布了 9 个 Release,播种了 25 位社区 Contributor。在这里向 Higress 一路同行的小伙伴们表白最诚挚的敬意。 Higress 曾经根本实现了 1.0 版本的开发工作(性能预览见文章结尾),正式的 GA 版本预计在 4 月初公布。开源是云原生生态的基石,Higress 作为云原生网关,同时也是阿里的策略级开源我的项目,会继续一直地加大开源投入,带给大家更多惊喜。 这里咱们收集了来自 Higress 社区开发者和用户的寄语,欢送更多的搭档一起参加到社区的建设和产品的应用中来~ 社区开发者寄语@董艺荃丨携程研发工程师,Higress Committer Higress 的开源为社区奉献了一个功能丰富的端到端云原生网关解决方案,但我的项目的倒退须要大家的一起付出。心愿可能有更多的敌人参加到这个我的项目当中。不论你善于什么方面的技术,置信都可能在其中找到本人的用武之地。让咱们加深交换、共同努力,让 Higress 社区更好地倒退上来。 @李强林丨浙江大学 SEL 实验室,Higress Committer 很侥幸可能参加到 Higress 社区中来,能够概括为几点心得体会,一是参加体验十分好,社区的 Issue 分类管理十分贴心,不仅分类多而且还有难度提醒,尤其是对于新退出的同学来说上手体验很好。二是自参加以来播种颇丰,不仅理解和学习了云原生网关,还增强了社区合作能力。在解决 Issue 的过程中,粗疏地了解云原生网关的设计思路和细节,在代码一直被 review 时,更加理解代码标准和器重代码品质。此外对于将来做云原生网关技术选型也是一个贵重的教训。最初还收到了社区证书、奖杯和礼物 :) @刘训灼丨腾讯研发工程师,Higress Committer 很开心能参加到 Higress 社区中,参加的过程中学习和播种很多,社区提供了不同难度的 issue,参与者能够依据个人兴趣来阶段性的参加进来,以后我的项目也在继续倒退,还是有很大的参加空间,同时也有很多展示本人的机会,激励大家参加进来,一起交流学习。 @田亚涛丨蚂蚁金服研发工程师,Higress Contributor 当下 Higress 处于飞速发展的阶段,继续一直地更新迭代新 feature,而且社区沉闷、社区成员间学习气氛浓重;而且 Higress 自身设计优雅,老手开发门槛低,对于想要接触和学习云原生的同学十分敌对,期待有更多对云原生和网关感兴趣的同学退出社区,一起共建共享,发明美妙! 用户寄语@张嘉豪丨百威英博 SRE 工程师 Higress 提供的 Wasm 插件机制很好用,能够很不便地对网关性能进行扩大,插件逻辑频繁改变也能实时热更新,不会影响网关流量,扩展性和稳定性鱼和熊掌兼得,替运维开发节俭不少工夫与精力。祝福 Higress 开源越做越好,把云原生技术的红利用更普惠的形式带给大家。 ...

April 6, 2023 · 1 min · jiezi

关于阿里云:云原生月报丨阿里云云原生月度动态202303

作者:云原生内容小组 云原生月度动静 云原生是企业数字翻新的最短门路。 《阿里云云原生每月动静》,从趋势热点、产品新性能、服务客户、开源与开发者动静等方面,为企业提供数字化的门路与指南。 本栏目每月更新。 趋势热点 OpenKruise 成为 CNCF 孵化我的项目近期,CNCF Technical Oversight Committee(TOC)依据 OpenKruise 的倒退以及社区的接受程度,通过投票决定将 OpenKruise 降级为 CNCF 孵化我的项目。OpenKruise是一个扩大的组件套件,专一于应用程序自动化,如部署、降级、运维和可用性爱护等方面。OpenKruise 提供的大多数性能都是基于 CRD 扩大构建的,能够在纯 Kubernetes 集群中工作,不须要任何其余依赖项。 相干文章:OpenKruise 成为 CNCF 孵化我的项目:为大规模采纳 Kubernetes 关上大门 KubeVela 成为 CNCF 孵化我的项目CNCF TOC(Technical Oversight Committee,技术监督委员会)曾经投票承受 KubeVela 作为 CNCF 的孵化我的项目。KubeVela是一个利用交付引擎,也是基于 Kubernetes 的扩大插件,它能够让你的利用交付在当今风行的混合、多云环境中变得更加简略、高效、牢靠。KubeVela 能够通过基于工作流的利用交付模型来编排、部署和操作工作负载和云资源。KubeVela 的利用交付形象由 OAM(Open Application Model,凋谢利用模型)提供反对。 相干文章:KubeVela 为 CNCF 孵化器带来软件交付管制立体能力 阿里云容器镜像服务 ACR 推出收费制品核心将业务进行容器化革新并打包成容器镜像是云原生化实际的第一步,为了使企业开发者更简便地打造云原生利用交付流程,2023 年 1 月,阿里云容器镜像服务 ACR 正式推出“云原生制品核心”, 为容器开发者收费提供了来源于阿里云官网、龙蜥社区的平安可信容器根底镜像。 相干文章:让业务容器化更平安便捷,阿里云容器镜像服务 ACR 推出收费制品核心 产品新性能ACK One GitOps 反对应用阿里云账号登录开源 ArgoCD UI/CLIACK ...

April 6, 2023 · 2 min · jiezi

关于阿里云:CNStack-服务网格构建统一的服务治理和零信任安全能力

随着云技术的倒退与遍及,以 K8s 为代表的云原生概念越来越被企业所承受,成为企业数字化转型的坚实基础。其所提倡的不可变基础设施、以资源为治理对象、描述性的 API、最终一致性等等理念,曾经成为行业对基础设施的对立认知规范。 如何实现微服务利用的疾速上云,实现标准化的治理能力,服务网格是一个重要的组成部分,服务网格是一个专门解决服务通信的基础设施层,它的职责是在简单的拓扑构造下进行微服务间牢靠的申请传送,在实践中,它是一组和应用服务部署在一起的轻量级的网络代理,并且对应用服务通明。 服务网格的产品有十分多,比方 Istio、Linkerd,Open Service Mesh 等等,还有呈现相似 ebpf + envoy,proxylessMesh,在 CNStack 中咱们提供了基于 Istio 加强的服务网格能力,构建微服务的对立流量治理规范。除了治理外,零信赖平安也是十分重要的能力,零信赖是指无论在网络边界外部还是内部,都没有任何隐含的信赖,CNStack 服务网格将身份认证和受权从利用程序代码集成到服务网格中,开箱即用、动静配置更加容易,并且立刻失效。 上面通过流量治理、零信赖平安两个方面介绍 CNStack 服务网格产品。 产品特点1.服务网格治理在 CNStack 平台上领有能够疾速搭建服务网格的能力,部署在 CNStack2.0 中的服务网格能够主动发现被 CNStack 治理的 Kubernetes 集群,通过创立网格将服务网格组件部署到对应集群,反对配置网关高可用、配置懒加载、资源、Accesslog 等能力,能够抉择部署 1.14 版本、1.13 版本的服务网格,兼容不同版本的 K8s 集群。 2.服务治理服务网格的架构图: 通过 Proxy 代理申请的流量,服务网格能够构建对立的服务治理能力,流量从 Service A 收回后被 Iptables 流量劫持到 Proxy 中,Proxy 通过一系列的 Filter 解决找到满足规定的 Service B 的 Pod,转发申请,Service B 的 Proxy 通过 Iptables 获取到接管到的申请,而后转发给 Service B,Istiod 负责服务发现、规定下发、Auth 等能力,服务网格的对立的治理能力都是构建在无侵入的 Proxy 根底上。 ...

April 6, 2023 · 1 min · jiezi

关于阿里云:Higress-070-版本发布GA-进入倒计时

作者:Higress停顿概要Higress 控制台正式 release,涵盖 Higress 的服务/路由/域名/证书治理能力,并提供开箱即用的可观测性能装置/降级 Higress 时反对主动装置对应版本的 Higress Console,防止版本不适配的问题反对开启 Istio API,实现更多简单的性能,并且也能够用于平滑替换 Istio Ingress Gateway版本个性Higress 控制台当初通过 helm 命令装置 Higress 时将主动装置对应版本的 Higress Console,这里通过 higress-console.domain 参数,能够指定控制台的域名。 # 曾经增加过 repo 的,请执行 helm repo updatehelm repo add higress.io https://higress.io/helm-chartshelm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set higress-console.domain=console.higress.io 留神:装置实现后会输入一段文本,其中蕴含获取控制台登录信息的命令。请执行该命令并记录用户名和明码。 正式环境部署时,倡议控制台开启强制 HTTPS 拜访,具体操作形式是,在 higress-system 命名空间下先创立好 TLS 证书和私钥对应的 secret,例如: apiVersion: v1kind: Secrettype: kubernetes.io/tlsdata: tls.crt: -----BEGIN CERTIFICATE-----... tls.key: -----BEGIN RSA PRIVATE KEY-----...metadata: name: my-tls-secret namespace: higress-system而后通过上面 helm 命令开启强制 HTTPS 拜访: ...

April 3, 2023 · 2 min · jiezi

关于阿里云:快速玩转-CNStack-20-流量防护

作者:冠钰云原生下的服务治理在云原生技术的演进过程中,依靠云原生技术能力,造成一个能够向下治理基础设施,向上治理业务利用的技术中台,越来越成为企业冀望的云原生技术落地趋势。随着云原生技术中台 CNStack 公布具备变革意义的新一代 2.0 版本,其提供的云原生技术能力不仅能够撑持大规模业务零碎,也能够将外部不对立的体系集中管理起来,通过中台化的形式输入云原生技术能力。通过 CNStack 能够低成本实现业务利用的云原生革新,并且 CNStack 云原生平台能够为接入的利用提供业务监控、流量治理、服务凋谢等多种能力。 深刻到微服务体系中,CNStack 平台为简单的微服务架构零碎提供了多方面的服务治理与可视化监控能力,其中通过配合可视化数据监控与限流降级能力,运维人员能够确保业务零碎不论是在失常运行时、公布变更过程中、还是流量猛增的状态下,都能够安稳对外提供服务。诸如常见的线上突发流量导致服务流量超过承载能力、服务上游依赖呈现不可用导致影响本身服务稳定性等场景,CNStack 提供了全方位的流量防护能力,以流量与容错为切入点,从流量管制、不稳固调用隔离、熔断降级、热点流量防护、零碎过载爱护等多个维度来帮忙保障服务和网关的稳定性,同时提供秒级的流量监控剖析性能。 疾速玩转流量防护一键接入防护能力CNStack 平台提供了十分便捷敌对的利用接入形式,通过工作空间下的利用治理能力能够疾速创立利用,并且通过利用治理接入的利用均会默认主动接入流量防护能力,能够为利用疾速全方位配置流量防护。抉择 Java 类型创立的托管利用,会通过挂载探针的形式接入流量防护能力,不须要对业务代码进行任何埋点革新,对业务利用无侵入。 通过 CNStack 平台接入的利用,能够取得秒级业务监控、限流熔断防护、自定义行为配置等多项能力保障服务稳固运行。相比社区风行的开源 sentinel 等流量防护接入形式,应用 CNStack 平台不须要任何代码革新,也不要增加任何额定的配置,能够一键针对所有接入利用开启防护能力。并且 CNStack 平台原生地为所有接入利用提供了更加弱小的流量防护能力,以及稳固的秒级监控零碎,能够在平台上一站式实现线上系统维护。 为了疾速玩转 CNStack 流量防护能力,接下来针对一些常见的线上业务场景,介绍如何在 CNStack 中通过配置流量防护规定,保障业务利用在各类不稳固场景下失常提供服务。 场景 1. 线上流量激增线上流量有很强的随机性与不可预测性,因为重要新闻公布、流动促销等因素都会导致突发的激增流量。然而线上零碎的容量是无限的,如果突发增长的流量超出了零碎承受能力,会导致大量申请解决沉积,CPU/Load 飙高,申请解决迟缓甚至报错。因而,在零碎设计时须要针对这种突发流量设置保护措施,在尽可能解决申请的同时保障服务不被打垮。 例如当下火爆的 ChatGPT,在公布短短数天工夫内用户量达到百万级别,注册用户之多甚至导致服务器爆满,国内也有多个团队及公司公布类 ChatGPT 的对话机器人,用户注册同样火爆。构想这样一个场景,企业研发并上线了一个类 ChatGPT 对话机器人业务,业务利用集群部署的规模预期能够承载数万用户同时拜访,但随着业务上线受到宽泛关注并且涌入大量用户注册应用,线上用户规模迅速激增至十万,在对线上零碎不做流量爱护的状况下,大量用户的拜访申请可能会将零碎间接打垮,导致整个服务瘫痪陷入不可用。然而在 CNStack 流量防护场景下应用流控规定,能够预防线上的突发激增流量,保障系统在可接受的范畴内稳固运行。创立一条流控规定的配置参数能够参考下图: 依照上述示例中配置的流控规定,流控策略会将每秒拜访 /startTalk 接口的申请次数限度为 600,每秒 600 次以内的申请会全副失常通过,当一秒内的申请量达到 600 后会触发限流,限流后超出 600 个的申请会依照程序排队期待通过,排队等待时间超出 500ms 后疾速失败。最终流控成果如下图所示,当初始流量较低时,所有申请均失常通过,当流量快速增长达到阈值 600 时会触发限流,每秒放行 600 个申请通过,其余申请会被回绝,保障了阈值范畴内流量的失常拜访。 场景 2. 微服务自我爱护微服务架构中不同的服务之间可能会存在依赖关系,例如调用第三方的 API、数据库、近程服务,并由不同服务之间互相调用,组成简单的调用链路。然而,被依赖服务的稳定性是不能保障的,如果依赖的服务呈现了不稳固的状况,申请的响应工夫变长,那么调用服务办法的响应工夫也会变长,线程会产生沉积,最终可能耗尽业务本身的线程池,服务自身也变得不可用。 假如如下场景,微服务通过数据库查问用户信息,所有的查问工作会提交至线程池队列,异步去数据库查问用户信息。因为数据库索引变更或者刷脏页等起因产生了慢 sql,进而使得查问的线程池工作沉积,并最终导致线程池耗尽整个服务不可用。在 CNStack 流量防护场景下,能够针对这样的场景配置熔断规定,对于不稳固的依赖调用进行主动熔断降级,避免上游依赖问题导致本身线程池沉积影响服务稳定性,达到保障整体零碎稳固运行的成果。创立一条熔断规定的配置参数能够参考下图: ...

April 3, 2023 · 1 min · jiezi

关于阿里云:让应用交付和管理统一KubeVela-亮点功能及核心技术回顾

作者: 殷达(晖树)自 2020 年 OAM(Open Application Model) 凋谢利用模型公布以来,KubeVela 经验了数十个版本的更新和演变,朝着现代化利用交付的高级性能一直倒退。明天,咱们将回顾 KubeVela 我的项目倒退至今的亮点性能和核心技术。 什么是 KubeVela?KubeVela 是一个面向现代化利用的交付与治理平台,它使得利用在面向混合、多云环境中的交付和运维变得更简略、高效和牢靠。它有以下三个次要性能: 基础设施无关 KubeVela 可能将你的云原生应用程序部署到各种目的地,如 Kubernetes 多集群、不同的云平台和边缘设施。 可编程KubeVela 具备用于建模应用程序和交付过程的形象层。这些形象层容许用户应用可编程形式构建更高级别的可重用模块,用于应用程序交付,并在 KubeVela 零碎中集成任意第三方我的项目(如 FluxCD、Crossplane、Istio、Prometheus)。 以利用为核心KubeVela 面向业务利用开发专门设计,有丰盛的工具生态,包含 CLI、UI、GitOps、可观测性等,为应用程序的交付和运维减少了大量开箱即用的性能。 KubeVela 关注应用程序的整个生命周期,包含 Day-1 交付和 Day-2 运维阶段。它可能连贯各种继续集成工具,如 Jenkins 或 GitLab CI,并帮忙用户在混合环境中交付和运维应用程序。 为什么抉择 KubeVela?艰难和挑战现在,快速增长的云原生基础设施为用户部署应用程序提供了越来越多的能力,如高可用性和安全性,但也间接向应用程序开发人员裸露了越来越多的复杂性。 例如,Kubernetes 上的 Ingress 资源使用户可能轻松地对外裸露服务,但开发人员须要解决 Ingress 降级,当底层 Kubernetes 版本发生变化时,这须要对 Ingress 资源有肯定的理解。在各种云供应商之间进行混合部署可能会使这个问题变得更加艰难。 Open Application Model(凋谢利用模型)为了应答上述挑战并弥合应用程序应用和基础设施细节了解之间的差距,阿里云和微软 Azure 在 2020 年独特提出了凋谢利用模型(OAM)。其目标是为应用程序交付定义一个统一的应用程序模型,与平台和实现无关。 定义的应用程序模型为开发人员形容了应用程序由什么组成以及工作形式的接口。前者被称为 OAM 中的组件,通常用于对应用程序的工作负载进行建模。后者被定义为 OAM 中的个性,它为组件提供附加额定的性能。 作为 OAM 的 KubeVelaKubeVela 是(OAM)Open Application Model 的实现之一。在 KubeVela 中,形象层由 CUE 反对,这是一种新鲜的配置编程语言,能够形容简单的渲染逻辑,它在应用层面与 JSON 统一,是 JSON 的超集。形象层简化了 Kubernetes 中资源的配置,暗藏了实现的细节,并仅向业务开发人员裸露无限参数。应用 KubeVela 应用程序,开发人员能够轻松地专一于应用程序的核心逻辑,例如应该应用哪个容器镜像以及如何拜访服务。 ...

April 3, 2023 · 2 min · jiezi

关于阿里云:送猫超卡阿里云代金券动手体验-SAE云效-10-分钟快速打通-CICD-流水线

作者:ServerlessServerless 利用引擎 SAE 是阿里云推出的一款全托管、免运维、高弹性的通用 PaaS 平台。SAE 提供了无门槛的容器化、支流微服务和 Job 工作的全托管,以及多语言监控的能力,对用户来说,是一款技术门槛更低、迁徙革新更简略的 Serverless 平台。 通过本试验,将带大家亲手用 SAE 在 10 分钟内从 0 开始搭建一套 CI/CD 流水线,并且体验自动化公布的神奇之处。 流动信息流动工夫:2023年3月27日 - 2023年4月7日 *流动链接: https://developer.aliyun.com/adc/series/activity/CI__CD* 福利一:实现试验,取得价值6元的猫超卡,发放两张价值3元的面额。流动完结后15个工作日内发放; 福利二:实现试验,取得一张价值5元的阿里云通用代金券。通用代金劵支付不限量,流动完结后15个工作日内发放。 若有问题可钉钉搜寻[云起实验室流动群]答疑群:33765009241,分割咱们。 点击链接立刻体验 疾速从 0 到 1 搭建云上 CI/CD 流水线

April 3, 2023 · 1 min · jiezi

关于阿里云:统一观测丨使用-Prometheus-监控-Nginx-Ingress-网关最佳实践

作者:凌竹01 Nginx Ingress 网关简介在 Kubernetes 集群中,咱们通常应用 “Nginx Ingress” 实现集群南北向流量的代理转发,Nginx Ingress 基于集群内 Ingress 资源配置生成具体的路由规定。Ingress 资源负责对外公开服务的治理,个别这类服务通过 HTTP 协定进行拜访。通过 Nginx Ingress + Ingress 资源能够实现以下场景: 一、通过 Nginx Ingress 将来自客户端的全副流量转发给繁多 Service。 图:Nginx Ingress 工作模式介绍 二、通过 Nginx Ingress 实现更简单的路由转发规定,将来自繁多绑定 IP 地址的所有流量依据 URL 申请门路前缀转发给不同的 Service。 图:基于 URL 申请门路的转发 三、依据 HTTP 申请头部携带的 Host 字段——通常由拜访的域名决定,将来自繁多绑定 IP 地址的流量分发给不同后端 Service,实现基于名称的虚拟主机(Name-based Virtual Hosting)能力。 图:基于 Host 申请头的转发 通常,围绕 Nginx Ingress 网关监控场景,咱们通常会关注两类外围指标数据: 工作负载资源即 Nginx Ingress Controller Pod 的负载状况,当 CPU 、内存等资源水位处于饱和或过载,会导致集群对外服务不稳固。针对“工作负载监控”,个别倡议关注 “USE” 指标,即:使用率(Utilization)、饱和度(Saturation)、错误率(Errors)。对此,阿里云 Prometheus 监控提供了预置性能监控大盘,可参考 《工作负载性能监控组件接入》 [ 1] 实现数据采集与大盘创立。 ...

April 3, 2023 · 6 min · jiezi

关于阿里云:2023-Dubbo-谷歌编程之夏报名启动了

作者:Dubbo 社区 咱们很快乐地发表 Apache Dubbo 已正式参加到 GSoC 2023(2023 谷歌编程夏令营)中,以后贡献者报名阶段也曾经正式启动,如果您对 Dubbo、对 GSoC、对开源感兴趣,欢送报名参加。往年的流动同时对在校大学生、社会员工凋谢。也就是说,只有是对开源和编码感兴趣的开发者就能够报名加入 Dubbo 我的项目夏令营。 这曾经是 Apache Dubbo 社区第 4 次加入谷歌编程夏令营了,之前三届都获得了圆满的胜利。一方面 Dubbo 社区收到了很多颇有价值的奉献;另一方面通过与社区及导师的单干,贡献者集体机技能与视线失去了很大的晋升,一些参与者在后续的继续奉献过程中被提名为 Apache Dubbo Committer/PMC,也借此收到了很多优良企业抛出的工作邀请橄榄枝。 简介1.1 对于 GSoCGoogle Summer of Code 暨谷歌编程夏令营是一个全球性的编程我的项目,专一于为开源我的项目引入新的贡献者。GSoC 贡献者在导师的领导下,与一个开源组织单干进行为期 12 周以上的编程我的项目。自 2005 年以来,谷歌代码之夏打算曾经将来自 112 个国家的 18000 多名新的开源贡献者与来自 118 个国家的 17000 多名导师分割起来。Google Summer of Code 为 746 个开源组织提供了超过 4000 万行代码。 在谷歌代码之夏期间,参加的贡献者与来自开源组织的导师结对,接触真实世界的软件开发技术。贡献者将从经验丰富的开源开发人员那里学习,同时为事实世界的我的项目编写代码!提供大量津贴作为处分。参加的组织应用该我的项目来辨认和引进新的、激情的开发者。在 GSoC 完结后的很长一段时间里,这些新开发人员中的许多人将持续为他们的新社区和开源做出奉献。 1.2 对于 DubboDubbo 是国内最具影响力的开源软件我的项目之一,由阿里巴巴奉献开源,是撑持阿里双十一百万集群、万亿次服务调用的外围框架,目前 Dubbo 已募捐给享誉世界的 Apache 软件基金会 (ASF)。 GSoC 残缺流程以下是申请并参加到 GSoC 中的根本流程,如要链接 2023 具体时间表,请参考文后报名须知大节。 贡献者提交报名申请(3 月 20 日 ~ 4 月 4 日)贡献者找到感兴趣的开源社区与议题,针对议题撰写提案并提交。贡献者 Proposal 评估(4 月 5 日 ~ 4 月 27 日)开源社区与导师收到提案后,启动评估流程。贡献者 Proposal 评估后果颁布(5 月 4 日)开源社区与导师与 Proposal 贡献者取得联系,对于评估通过的。相熟社区(5 月 4 日 ~ 5 月 28 日)贡献者大略破费 3 周的工夫来相熟开源社区与本人报名的 Project,期间有任何问题都能够与导师探讨。编码与开发(5 月 29 日 ~ 8 月 28 日)贡献者开始真正的设计、开发工作,在此阶段实现时,贡献者应实现整体的提交最终我的项目成绩。我的项目成绩评估(8 月 29 日 ~9 月 4 日)这是一个成绩评分阶段,贡献者和导师都须要提交最终的评估后果:导师基于贡献者提交的我的项目成绩对贡献者进行总体评分。贡献者基于导师在工作期间对本人的领导对导师进行评分。提交最终评估问题导师最终评估贡献者是否正式通过 GSoC 我的项目考核。发表最终后果(9 月 5 日)GSoC 组委会颁布最终后果,并告诉到导师和贡献者。Apache Dubbo GSoC 2023Apache Dubbo 社区往年设计了包含 Java、Golang、Rust、Python、Javascript 等语言在内的共计 20 多道题目,题目都取自社区 2023 年的重点工作方向,如 HTTP/2、Serverless、Service Mesh、可观测性等,题目钻研的都是以后微服务业界前沿方向,兼具挑战性与创新性。 ...

April 3, 2023 · 3 min · jiezi

关于阿里云:Java-缺失的特性扩展方法

作者:周密(之叶) 什么是扩大办法扩大办法,就是可能向现有类型间接“增加”办法,而无需创立新的派生类型、从新编译或以其余形式批改现有类型。调用扩大办法的时候,与调用在类型中理论定义的办法相比没有显著的差别。 为什么须要扩大办法思考要实现这样的性能:从 Redis 取出蕴含多个商品ID的字符串后(每个商品ID应用英文逗号分隔),先对商品ID进行去重(并可能维持元素的程序),最初再应用英文逗号将各个商品ID进行连贯。 // "123,456,123,789"String str = redisService.get(someKey)传统写法: String itemIdStrs = String.join(",", new LinkedHashSet<>(Arrays.asList(str.split(","))));应用 Stream 写法: String itemIdStrs = Arrays.stream(str.split(",")).distinct().collect(Collectors.joining(","));假如在 Java 中能实现扩大办法,并且咱们为数组增加了扩大办法 toList(将数组变为 List),为 List 增加了扩大办法 toSet(将 List 变为 LinkedHashSet),为 Collection 增加了扩大办法 join(将汇合中元素的字符串模式应用给定的连接符进行连贯),那咱们将能够这样写代码: String itemIdStrs = str.split(",").toList().toSet().join(",");置信此刻你曾经有了为什么须要扩大办法的答案: 能够对现有的类库,进行间接加强,而不是应用工具类相比应用工具类,应用类型自身的办法写代码更晦涩更舒服代码更容易浏览,因为是链式调用,而不是用静态方法套娃在 Java 中怎么实现扩大办法咱们先来问问最近大火的 ChatGPT: 好吧,ChatGPT 认为 Java 外面的扩大办法就是通过工具类提供的静态方法 :)。所以接下来我将介绍一种全新的黑科技: Manifold(https://github.com/manifold-systems/manifold) 筹备条件Manifold 的原理和 Lombok 是相似的,也是在编译期间通过注解处理器进行解决。所以要在 IDEA 中正确应用 Manifold,须要装置 Manifold IDEA 的插件: 而后再在我的项目 pom 的 maven-compiler-plugin 中退出 annotationProcessorPaths: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ... <properties> <manifold.version>2022.1.35</manifold.version> </properties> <dependencies> <dependency> <groupId>systems.manifold</groupId> <artifactId>manifold-ext</artifactId> <version>${manifold.version}</version> </dependency> ... </dependencies> <!--Add the -Xplugin:Manifold argument for the javac compiler--> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>8</source> <target>8</target> <encoding>UTF-8</encoding> <compilerArgs> <arg>-Xplugin:Manifold no-bootstrap</arg> </compilerArgs> <annotationProcessorPaths> <path> <groupId>systems.manifold</groupId> <artifactId>manifold-ext</artifactId> <version>${manifold.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build></project>如果你的我的项目中应用了 Lombok,须要把 Lombok 也退出 annotationProcessorPaths: ...

April 3, 2023 · 2 min · jiezi

关于阿里云:使用篇丨链路追踪Tracing其实很简单请求轨迹回溯与多维链路筛选

作者:涯海 在日常生活中,咱们可能都经验过以下场景:去医院看病就诊,但预约页面迟迟无奈关上;新款手机公布日促销秒杀,下单页面始终卡住转菊花;游戏大版本更新,在线人数过多,导致人物始终在“漂移”。这些问题令产品体验变得十分差,有急躁的同学还会吐槽几句,没急躁的同学早已转身来到。试想一下,作为该零碎开发/运维人员,又该如何防止此类问题产生,或者疾速定位止损? 要害门路与多条链路比照本章咱们将以业务 Owner(小帅)的视角,逐渐理解分布式链路追踪的各种根底用法:小到单次用户申请的异样根因诊断,大到全局零碎的强弱依赖梳理,分布式链路追踪都能给予确定性答案。 小帅作为一家电商公司订单核心的业务 Owner,外围 KPI 就是保障创立订单 createOrder 接口的可用性,如响应时延低于 3s,成功率大于 99.9%。一旦该接口可用性呈现问题,会间接影响用户下单行为,造成业务资损,进而影响小帅的绩效和年终奖。 但创立订单接口间接或间接依赖多个其余零碎服务,如资金、地址、优惠、平安等。一旦某个上游零碎服务可用性呈现问题,也会造成创立订单失败或超时。为此,小帅特地头痛,每当创立订单接口不可用时,小帅都十分心急,却不知该如何定位根因,只能拉上所有上游接口负责人一起评估,不仅费时费力,低效排查也造成业务损失进一步扩充,常常被老板痛骂。 当小美理解这个状况后,举荐接入分布式链路追踪零碎,并通过一系列故障应急案例,领导如何利用 Tracing 定位问题,梳理危险,提前预警,切实进步了订单核心的可用性。小帅常常会遇到各种用户反馈的创立订单超时问题,以往对此类问题颇有些大刀阔斧。不过,接入分布式链路追踪零碎后,通过调用链精确回溯超时申请的调用轨迹,小帅就能够轻松定位耗时最长的接口信息,如下图所示,A 接口超时的次要起因是调用 D 接口导致的。 但如果是上面这种状况,A 调用 B,B 又调用 C。那么,导致 A 接口超时的根因到底是 B 接口,还是 C 接口呢? 为了辨别真正影响用户体验的 Span 耗时,咱们先来理解一下要害门路的概念。 要害门路如果一次 Span 调用有 t 段耗时在要害门路上,那么去掉这 t 段耗时,整条链路的总体耗时也会相应的缩短 t 段时间。 仍以下面那条链路为例,灰色局部示意要害门路,缩短任意要害门路上的耗时都能够缩小整体耗时。此时,咱们能够判断 A 接口超时的次要起因是 C 接口导致的。 再来看另一种状况,如果 A 接口同一时间并行调用 B、C、D、E 接口,那么耗时最长的 D 接口就成为要害门路,如下图所示。 然而,如果咱们将 D 接口耗时缩小 t1+t2 两段工夫,整体耗时却只缩小了 t1 段时间,因为,当 D 接口耗时小于 B 接口时,D 接口就不再是要害门路,而是由 B 接口取代。这就如同主要矛盾被大幅缓解后,次要矛盾就变成了主要矛盾。 ...

April 3, 2023 · 2 min · jiezi

关于阿里云:Spring探索丨既生Resource何生Autowired

作者:汪军伍(处轩) 提到Spring依赖注入,大家最先想到应该是@Resource和@Autowired,很多文章只是解说了性能上的区别,对于Spring为什么要反对两个这么相似的注解却未提到,属于知其然而不知其所以然。不知大家在应用这两个注解的时候有没有想过,@Resource又反对名字又反对类型,还要@Autowired干嘛,难道是Spring官网没事做了? 真的是没事做了吗?读了本文你将会理解到: @Resource和@Autowired起源Spring官网为什么会反对这两个性能如此类似的注解?为什么@Autowired属性注入的时候Idea会曝出黄色的正告?@Resource和@Autowired举荐用法起源既然要弄清楚,就要先理解他们的身世。 @Resource 于 2006年5月11日随着JSR 250 公布 ,官网解释是: Resource 正文标记了应用程序须要的资源。该注解能够利用于应用程序组件类,或组件类的字段或办法。当注解利用于字段或办法时,容器将在组件初始化时将所申请资源的实例注入到应用程序组件中。如果正文利用于组件类,则正文申明应用程序将在运行时查找的资源。能够看到它相似一个定义,而由其余的组件或框架自在实现。 @Autowired 于 2007年11月19日随着Spring2.5公布,同时官网也对@Resource进行了反对。@Autowired的官网解释是: 将构造函数、字段、设置办法或配置办法标记为由 Spring 的依赖注入工具主动拆卸。能够看到,@Autowired 是 Spring的亲儿子,而@Resource是Spring对它定义的一种实现,它们的性能如此类似。那么为什么要反对了@Resource,又要本人搞个@Autowired呢? 对此专门查了一下Spring2.5的官网文档,文档中有一段这么说到: However, Spring 2.5 dramatically changes the landscape. As described above, the autowiring choices have now been extended with support for the JSR-250  @Resource annotation to enable autowiring of named resources on a per-method or per-field basis. However, the  @Resource annotation alone does have some limitations. Spring 2.5 therefore introduces an  @Autowired annotation to further increase the level of control.大略的意思是说,Spring2.5 反对注解主动拆卸啦, 现曾经反对JSR-250 @Resource 基于每个办法或每个字段的命名资源的主动拆卸,然而只有@Resource是不行的,咱们还推出了“粒度”更大的@Autowired,来笼罩更多场景了。 ...

April 3, 2023 · 2 min · jiezi

关于阿里云:Spring-Cloud-Alibaba-应用如何平滑迁移至-IPv6

作者:铖朴 背景 IPv4 协定(后文简称 IPv4)为互联网的倒退与遍及做出了重要奉献,但近年来,随着应用程序、数据和 IT 服务的爆炸式增长。当初协定设计过程中用来形容 IP 地址所采纳的 32 位二进制数格局的 IPv4 地址曾经于 2011 年 [ 1] 被申请耗尽,从那时起,全世界都曾经处于无新地址可用的场面。 IPv6 协定(后文简称 IPv6)作为 IPv4 之后被采纳的下一代互联网协议,相比 IPv4 协定中采纳 32 位来示意 IP 地址,其地址示意位数裁减到了 128 位,地址数量是 IPv4 所能提供的 2 的 96 次方倍。简略看数字可能显得不太直观,换成一句形容 IPv6 地址之多更直观和经典的话:“采纳 128 位示意地址的 IPv6 能够为地球上的每一粒沙子都调配一个 IP 地址”!此外,IPv6 协定其不仅能够解决 IPv4 协定中的地址短缺问题,同时也能为互联网提供更高效、更平安的网络通信。IPv6 协定在网络通信中提供了许多新的性能和劣势。例如,在数据传输和路由方面,其通过新的设计进步了效率和可靠性,缩小了网络拥挤和数据包失落的状况。此外,在平安畛域,其内置对 IPSec 的反对,能够更好地爱护网络中的数据传输平安,避免黑客攻击和窃取数据。 作为下一代互联网协议,向 IPv6 迁徙是将来的大势所趋。在我国,从 2014 年开始相干机构曾经逐渐进行向新用户和利用调配 IPv4 地址,开始全面商用 IPv6 协定 [ 2] 。在政府疏导测,近年来,陆续也出台了一系列相干领导文件例如:2017 年国务院公布的《推动互联网协议第六版(IPv6)规模部署行动计划》 [ 3] 、2021 年工业与信息化部公布的《IPv6 流量晋升三年专项行动计划(2021-2023 年)》 [ 4] 、2021 年网信办公布的《对于推动 IPv6 规模部署的领导意见》 [ 5] 等一直地在疏导企业从 IPv4 协定向 IPv6 协定迁徙。 ...

April 3, 2023 · 3 min · jiezi

关于阿里云:Java异常处理和最佳实践含案例分析

作者:王迪(惜鸟) 概述最近在代码CR的时候发现一些值得注意的问题,特地是在对Java异样解决的时候,比方有的同学对每个办法都进行 try-catch,在进行 IO 操作时遗记在 finally 块中敞开连贯资源等等问题。回忆本人对 java 的异样解决也不是特地分明,看了一些异样解决的标准,并没有进行零碎的学习,所以为了对 Java 异样解决机制有更深刻的理解,我查阅了一些材料将本人的学习内容记录下来,心愿对有同样困惑的同学提供一些帮忙。 在Java中解决异样并不是一个简略的事件,不仅仅初学者很难了解,即便一些有教训的开发者也须要破费很多工夫来思考如何解决异样,包含须要解决哪些异样,怎么解决等等。 在写本文之前,通过查阅相干材料理解如何解决Java异样,首先查看了阿里巴巴Java开发标准,其中有15条对于异样解决的阐明,这些阐明通知了咱们应该怎么做,然而并没有具体阐明为什么这样做,比方为什么举荐应用 try-with-resources 敞开资源 ,为什么 finally 块中不能有 return 语句,这些问题当咱们从字节码层面剖析时,就能够十分粗浅的了解它的实质。 通过本文的的学习,你将有如下播种: 理解Java异样的分类,什么是查看异样,什么是非查看异样从字节码层面了解Java的异样解决机制,为什么finally块中的代码总是会执行理解Java异样解决的不标准案例理解Java异样解决的最佳实际理解我的项目中的异样解决,什么时候抛出异样,什么时候捕捉异样Java 异样解决机制1、java 异样分类 总结: Thorwable类(示意可抛出)是所有异样和谬误的超类,两个间接子类为Error和Exception,别离示意谬误和异样。其中异样类Exception又分为运行时异样(RuntimeException)和非运行时异样, 这两种异样有很大的区别,也称之为非查看异样(Unchecked Exception)和查看异样(Checked Exception),其中Error类及其子类也是非查看异样。查看异样和非查看异样查看异样:也称为“编译时异样” ,编译器在编译期间查看的那些异样。因为编译器“查看”这些异样以确保它们失去解决,因而称为“查看异样”。如果抛出查看异样,那么编译器会报错,须要开发人员手动解决该异样,要么捕捉,要么从新抛出。除了RuntimeException之外,所有间接继承 Exception 的异样都是查看异样。非查看异样:也称为“运行时异样” ,编译器不会查看运行时异样,在抛出运行时异样时编译器不会报错,当运行程序的时候才可能抛出该异样。Error及其子类和RuntimeException 及其子类都是非查看异样。阐明:查看异样和非查看异样是针对编译器而言的,是编译器来查看该异样是否强制开发人员解决该异样: 查看异样导致异样在办法调用链上显式传递,而且一旦底层接口的查看异样申明发生变化,会导致整个调用链代码更改。应用非查看异样不会影响办法签名,而且调用方能够自在决定何时何地捕捉和解决异样倡议应用非查看异样让代码更加简洁,而且更容易放弃接口的稳定性。 查看异样举例在代码中应用 throw 关键字手动抛出一个查看异样,编译器提醒谬误,如下图所示: 通过编译器提醒,有两种形式解决查看异样,要么将异样增加到办法签名上,要么捕捉异样: 形式一: 将异样增加到办法签名上,通过 throws 关键字抛出异样,由调用该办法的办法解决该异样: 形式二: 应用 try-catch 捕捉异样,在 catch 代码块中解决该异样,上面的代码是将查看异样包装在非查看异样中从新抛出,这样编译器就不会提醒谬误了,对于如何解决异样前面会具体介绍: 非查看异样举例所有继承 RuntimeException 的异样都是非查看异样,间接抛出非查看异样编译器不会提醒谬误: 自定义查看异样自定义查看异样只须要继承 Exception 即可,如下代码所示: 自定义查看异样的解决形式后面曾经介绍,这里不再赘述。 自定义非查看异样自定义非查看异样只须要继承 RuntimeException 即可,如下代码所示: 2、从字节码层面剖析异样解决后面曾经简略介绍了一下Java 的异样体系,以及如何自定义异样,上面我将从字节码层面剖析异样解决机制,通过字节码的剖析你将对 try-catch-finally 有更加深刻的意识。 ...

April 2, 2023 · 10 min · jiezi

关于阿里云:全栈声明式可观测KubeVela-开箱即用且灵活定制的云原生应用洞察

作者介绍:殷达,KubeVela Maintainer,阿里云高级工程师,深度参加了 KubeVela 混合云多集群治理、可扩大工作流、可观测等外围能力体系的建设KubeVela [ 1] 是一个开箱即用的现代化利用交付与治理平台,它通过对立的利用模型、可编程可扩大的架构,帮忙企业构建对立的平台,向上为不同场景的业务团队按需提供差异化、且开箱即用的平台层能力,大大降低了云原生技术的应用门槛。除了外围的云资源交付、利用治理、多集群、工作流等技术,KubeVela 还提供了全栈的申明式可观测能力,帮忙业务开发者灵便定制,轻松洞察各类简单的云原生工作负载。 本文咱们将聚焦 KubeVela 的可观测体系,介绍云原生时代的可观测挑战及 KubeVela 的解决方案。 云原生可观测的挑战通常状况下,为了给下层业务提供可观测性能力,运维团队会通过“熟练掌握” 业务团队的应用场景,而后将运行应用服务的基础设施与各类可观测性基础设施连接,通过绝对固化的脚本和零碎,将采集指标、收集日志、聚合解决、图表剖析等一系列流程合并,从而将最底层的运行态实时反馈到监控报警零碎中,为运维团队本身及下层业务团队做预警,并在第一工夫发现异常、排查故障。 图 1:CNCF landscape 的插件曾经达到 1000+,且每天都在新增 随着云原生生态的一直凋敝,平台工程的理念逐步深入人心,一个根底平台团队往往须要服务下层多个微服务化的业务团队,而业务团队的架构也随着基础设施的丰盛逐步产生了多样性,这就突破了传统保姆式地从“熟练掌握”到“硬编码”的可观测体系建设门路。 举例而言,业务团队刚开始构建业务的时候可能应用根底的 ingress 做服务网关,而半年之后可能随着需要的复杂化 [ 2] 会切换成以 istio 为外围的流量治理计划,这意味着从 API 到下层架构相干的可观测能力都要跟着扭转。如图 1 所示,在 CNCF landscape 的凋敝生态里,每个子畛域都能找到多个替换计划。传统模式下绝对固定的可观测性体系构建形式不再实用,平台团队须要依据业务层的架构灵便定制和扩大可观测计划。 而 “割裂”则是可观测畛域面临的第二个微小挑战,这通常会体现在三个维度。第一个维度是不同业务间数据的割裂,从基础设施(计算/存储/网络)、容器、利用到业务,从挪动端、前端、后端到数据库和云服务,企业的不同部门通常会采纳不同的监控计划,监控数据彼此造成孤岛,无奈买通。第二个维度是不同基础设施配置的割裂,随着云时代到来,企业面临多云、多集群、多账号的治理,可观测数据分布在不同云和集群内,多云多集群的可观测无奈对立配置。第三个维度是数据链路的割裂,例如开源社区的 Prometheus(Exporter)、Grafana 别离有本人凋敝的社区,但他们的采集源和大盘往往没有很好的连贯在一起,经常是一头输入大量有效数据占用存储资源,另一头则展现谬误或者提早很高的数据。 图 2:社区找到的具备对应关系的大盘和 Exporter 通常无奈间接应用 而传统监控零碎采纳的基于图形界面点击的配置形式显然也不再实用,尽管上手简略,然而迁徙、复制老本极高。在多集群治理下,监控配置不易于复制,漏采、漏配很常见。也难以与利用交付的配置绑定,无奈实现监控随着利用生命周期而被动变动。 如果沿着云原生申明式对立 API 的理念去思考,你就会发现咱们也须要一套申明式的配置形式,让咱们可能以对立的形式、灵便的对接可观测基础设施,按需串联和定制全套的可观测能力,主动实现监控探针装置、采集、存储、展示、告警等配置的多环境对立下发和治理。 这个模式咱们也能够称之为全栈申明式可观测(Full Stack Observability as Code)。 全栈申明式可观测尽管云原生时代的可观测存在诸多挑战,然而也得益于云原生开源技术的倒退,以 Prometheus、Grafana、OpenTelemetry 为代表的可观测基础设施正在逐步成为各自畛域的事实标准,周边生态的集成正在以滚雪球的态势累积,这让可观测基础设施的对立成为了可能。选型这些开源我的项目为外围构建可观测解决方案成为了十分天然的抉择,不仅帮忙咱们对立了技术和数据,还能够让咱们借力生态,疾速满足业务场景的须要。 对立的申明式可观测 API一个要害的挑战是如何将可观测基础设施的能力变成申明式的?你可能容易想到 Kubernetes 的 CRD(自定义资源) [ 3] Operator 技术,的确曾经有相当一部分可观测能力能够间接应用 CRD 这样的申明式 API。比方 Prometheus 就能够通过装置 Prometheus-Operator [ 4] 取得 ServiceMonitor 这个申明式 API。然而还有一部分其余我的项目(比方 Grafana),以及大量的云服务,他们并不具备成熟的 CRD Operator。为每个服务都编写 CRD Operator 存在不小的技术难度,不仅费时费力,同时还要耗费额定的 Pod 资源,整体老本比拟高。 ...

April 2, 2023 · 3 min · jiezi

关于阿里云:从-JDK-9-到-19认识一个新的-Java-形态内存篇

前言在 JDK 9 之前,Java 基本上均匀每三年出一个版本。然而自从 2017 年 9 月份推出 JDK9 到当初,Java 开始了疯狂更新的模式,基本上放弃了每年两个大版本的节奏。从 2017 年至今,曾经公布了一个版本到了 JDK 19。其中包含了两个 LTS 版本(JDK11 与 JDK17)。除了版本更新节奏显著放慢之外,JDK 也围绕着云原生场景的能力,推出并加强了一系列诸如容器内资源动静感知、无进展GC(ZGC、Shenandoah)、运维等等云原生场景方面的能力。这篇文章是 EDAS 团队的同学在服务客户的过程中,从云原生的角度将相干的性能进行整顿和提炼而来。心愿能和大家一起意识一个新的 Java 状态。 上一篇 (《 从 JDK 9 到 19,咱们帮您提炼了和云原生场景无关的能力列表(上) 》)咱们讲了在整个演进过程中针对运行时模型和运维能力的一些重要变动,这一节咱们次要是来讲讲内存相干的变动。 JVM GC 倒退回顾JVM 自从诞生以来,以 “内存主动治理” 和 “一次编译到处运行” 两个杀手锏能力,外加 Spring 这个超级生态,在企业应用开发畛域中始终处于“人人模拟,从未超过”的江湖位置。内存的主动治理从技术角度,用一句艰深的语言进行简述就是:“依据设计好的堆内存布局模型,采纳肯定的跟踪辨认与清理的算法,达到内存主动整顿及回收的成果”。而一代代内存治理技术一直演进的指标,就是在一直晋升并发与升高延时的同时,寻找资源利用最优的计划,从某种意义上说,如果咱们不带来一些突破性的算法,这个三者的关系如同分布式中的 CAP 定理一样,很难兼得。如下图所示: 在 JVM 中,内存治理 趋近等同于 GC,GC 也是 Java 程序员取得一份工作时必考的知识点。其中 CMS 从 1.4 版本(2002年)开始引入,一度成为最为经典的 GC 算法。然而从 JDK9 开始发动弃用 CMS 的 JEP 提案,到 2020 年初公布的 JDK14 齐全从代码中抹除,意味着在他成年之际正式宣告了他历史使命的完结。那么到当初咱们又应该从什么角度下来了解这一技术畛域的倒退方向,今后面试官又会从哪些方面对咱们发动发问,是不论技术如何演进,能确定的是变动主线是围绕着三个方向进行,别离是:堆内存布局、线程模型、收集行为。EDAS 团队通过一段时间整理出来了这篇文章,咱们也将从三个点登程进行分享,心愿能给大家一些启发。 ...

April 2, 2023 · 3 min · jiezi

关于阿里云:如何用一个端口同时暴露-HTTP12gRPCDubbo-协议

作者:华钟明本文咱们将介绍 Apache Dubbo 灵便的多协定设计准则,基于这一设计,在 Dubbo 框架底层可灵便的选用 HTTP/2、HTTP/REST、TCP、gRPC、JsonRPC、Hessian2 等任一 RPC 通信协议,同时享受对立的 API 与对等的服务治理能力。同时,咱们还介绍了 Dubbo 的单端口多协定能力,也就是在单个端口同时监听、解决多个协定,这对于简化多协定同时公布的场景十分有用。 不绑定 RPC 协定的设计准则Dubbo 框架不绑定任何通信协议,你能够依据业务场景抉择 HTTP/2 通信协议,也能够选用 HTTP/REST、TCP(Dubbo2)、gRPC、JsonRPC、Hessian2 等官网反对的通信协议,如果以上协定都不能满足需要,还能够十分不便的通过定制形式接入自定义协定。如果你想在一个利用内应用多个协定,也能够非常容易的做到,比方一个接口应用 HTTP/2 通信,另一个接口应用 TCP 通信,一个利用内公布或调用多个应用不同协定的服务。 通过 Dubbo 框架的多协定反对,你能够做到: 将任意通信协议无缝地接入 Dubbo 服务治理体系。Dubbo 体系下的所有通信协议,都能够享受到 Dubbo 的编程模型、服务发现、流量管控等劣势。比方 gRPC over Dubbo 的模式,服务治理、编程 API 都可能零老本接入 Dubbo 体系。兼容不同技术栈,业务零碎混合应用不同的服务框架、RPC 框架。比方有些服务应用 gRPC 或者 Spring Cloud 开发,有些服务应用 Dubbo 框架开发,通过 Dubbo 的多协定反对能够很好的实现互通。让协定迁徙变的更简略。通过多协定、注册核心的协调,能够疾速满足公司内协定迁徙的需要。比方如从自研协定降级到 Dubbo 协定,Dubbo 协定本身降级,从 Dubbo 协定迁徙到 gRPC,从 HTTP 迁徙到 Dubbo 协定等。官网接入的支流协定HTTP/2 (Triple)Triple 协定是 Dubbo3 公布的面向云原生时代的通信协议,它基于 HTTP/2 并且齐全兼容 gRPC 协定,原生反对 Streaming 通信语义,自 Triple 协定开始,Dubbo 还反对基于 Protobuf 的服务定义与数据传输。Triple 具备更好的网关、代理穿透性,因而非常适合于跨网关、代理通信的部署架构,如服务网格等。Triple 协定的外围个性如下: ...

April 2, 2023 · 2 min · jiezi

关于阿里云:5-分钟读懂开源服务框架-Dubbo-及其最新规划

Dubbo 简介一句话定义Apache Dubbo 是一款微服务开发框架,它帮忙解决微服务开发中的通信问题,同时为构建企业级微服务的提供服务治理能力,Dubbo 不绑定编程语言,咱们的指标是为所有支流语言提供对等的微服务开发体验。 根本架构 Dubbo 从架构图上分为数据面和管制面。在数据面,应用 Dubbo 开发的微服务过程间基于 RPC 协定通信。DubboAdmin 管制面作为服务治理的形象入口,由一系列可选的服务治理组件形成,负责 Dubbo 集群的服务发现、流量管控策略、可视化监测。 行业利用Dubbo 设计用于解决阿里巴巴外部大规模 微服务集群实际难题,以后已被广泛应用于简直所有行业的微服务实际中。 以阿里巴巴为例,在 2021 年,阿里巴巴基于外部多年 HSF 框架实际积攒,面向云原生架构设计了下一代微服务框架 Dubbo3,用于解决性能、治理降级、服务网格等一系列问题;截止目前,阿里巴巴已全面完成从 HSF 到 Dubbo3 的迁徙,外围业务都跑在开源 Dubbo3 之上。 Dubbo 到底提供了哪些外围能力?提供微服务形象与框架 首先,Dubbo 作为服务开发框架解决了业务利用中微服务定义、裸露、通信与治理的问题,为业务利用开发定义了一套微服务编程范式。 具体来说,Dubbo 为业务利用提供了微服务开发API、RPC 协定、服务治理三大外围能力,让开发者真正的专一业务逻辑开发。 Dubbo 不是利用框架的替代者,它能够很好的工作在每种语言的支流编程框架之上,以 Java 为例,Dubbo 能够很好的与 Spring 合作,并在此基础上提供服务定义、微服务编程、服务发现、负载平衡、流量管控等能力。 提供灵便的通信协议切换能力 在通信方面,Dubbo 区别于其余 RPC 框架的是它不绑定特定协定,你能够在底层选用 HTTP./2、TCP、gRPC、REST、Hessian 等任意通信协议,同时享受对立的 API、以及对等的服务治理能力。 所有皆可扩大 Dubbo 的另一个劣势在于其可扩展性设计,从流量管控、协定编码、诊断调优、再到服务治理,你都能够去扩大,满足企业级微服务开发与运维的所有诉求。 丰盛的生态 基于扩大能力 Dubbo 官网提供了丰盛的生态适配,涵盖了所有支流的开源微服务组件。 服务网格 对于服务网格架构,Dubbo也能够轻松接入原生 Istio 体系;在数据面反对与 Envoy 部署的 Proxy 模式,也反对无 Envoy 的 Proxyless 模式,提供更灵便的数据面抉择。 ...

April 2, 2023 · 1 min · jiezi

关于阿里云:提升集群吞吐量与稳定性的秘诀-Dubbo-自适应负载均衡与限流策略实现解析

作者:刘泉禄整体介绍本文所说的“柔性服务”次要是指 consumer 端的负载平衡和 provider 端的限流两个性能。在之前的 Dubbo 版本中,负载平衡局部更多的思考的是公平性准则,即 consumer 端尽可能平等的从 provider 中作出抉择,在某些状况下体现并不够现实。而限流局部只提供了动态的限流计划,须要用户对 provider 端设置动态的最大并发值,然而该值的正当选取对用户来讲并不容易。咱们针对这些存在的问题进行了改良。 负载平衡在本来的 Dubbo 版本中,有五种负载平衡的计划供选择,他们别离是 "Random" , "ShortestResponse" , "RoundRobin","LeastActive" 和 "ConsistentHash"。 其中除 "ShortestResponse" 和 "LeastActive" 外,其余的几种计划次要是思考抉择时的公平性和稳定性。对于 "ShortestResponse" 来说,其设计目标是从所有备选的 provider 中抉择 response 工夫最短的以进步零碎整体的吞吐量。然而存在两个问题: 在大多数的场景下,不同 provider 的 response 时长没有非常明显的区别,此时该算法会进化为随机抉择。response 的工夫长短有时也并不能代表机器的吞吐能力。对于 "LeastActive" 来说,其认为应该将流量尽可能调配到以后并发解决工作较少的机器上。然而其同样存在和 "ShortestResponse" 相似的问题,即这并不能独自代表机器的吞吐能力。基于以上剖析,咱们提出了两种新的负载平衡算法。一种是同样基于公平性思考的单纯 "P2C" 算法,另一种是基于自适应的办法 "adaptive",其试图自适应的掂量 provider 端机器的吞吐能力,而后将流量尽可能调配到吞吐能力高的机器上,以进步零碎整体的性能。 成果介绍对于负载平衡局部的有效性试验在两个不同的状况下进行的,别离是提供端机器配置比拟平衡和提供端机器配置差距较大的状况。 应用办法应用办法与本来的负载平衡办法雷同。只须要在 consumer 端将 "loadbalance" 设置为 "p2c" 或者 "adaptive" 即可。 代码构造负载平衡局部的算法实现只须要在本来负载平衡框架内继承 LoadBalance 接口即可。 原理介绍P2C 算法Power of Two Choice 算法简略然而经典,次要思路如下: ...

April 2, 2023 · 2 min · jiezi

关于阿里云:RocketMQ-x-OpenTelemetry-分布式全链路追踪最佳实践

作者简介:艾阳坤,Apache RocketMQ PMC Member/Committer,CNCF OpenTelemetry Member,CNCF Envoy contributor。在分布式系统中,多个服务之间的交互波及到简单的网络通信和数据传输,其中每个服务可能由不同的团队或组织负责保护和开发。因而,在这样的环境下,当一个申请被收回并通过多个服务的解决后,如果呈现了问题或谬误,很难疾速定位到根因。分布式全链路追踪技术则能够帮忙咱们解决这个问题,它可能跟踪和记录申请在零碎中的传输过程,并提供具体的性能和日志信息,使得开发人员可能疾速诊断和定位问题。对于分布式系统的可靠性、性能和可维护性起到了十分重要的作用。 RocketMQ 5.0 与分布式全链路追踪Apache RocketMQ 5.0 版本作为近几年来最大的一次迭代,在整个可观测性上也进行了诸多改良。其中,反对标准化的分布式全链路追踪就是一个重要的个性。 RocketMQ 5.0 可观测 而由 Google、Microsoft、Uber 和 LightStep 联结发动的 CNCF OpenTelemetry 作为 OpenTracing 和 OpenCensus 的官网继任者,曾经成为可观测畛域的事实标准,RocketMQ 的分布式全链路追踪也围绕 OpenTelemetry 进行开展。 分布式链路追踪零碎的起源能够追溯到 2007 年 Google 公布的 《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》 [ 1] 论文。这篇论文具体介绍了 Google 外部应用的链路追踪零碎 Dapper,其中应用的 span 概念被宽泛采纳,并成为起初开源链路追踪零碎中的根底概念之一。 Dapper Trace Tree 在 Dapper 中,每个申请或事务被追踪时都会创立一个 span,记录整个申请或事务处理过程中的各个组件和操作的工夫和状态信息。这些 span 能够嵌套,造成一个树形构造,用于示意整个申请或事务处理过程中各个组件之间的依赖关系和调用关系。起初,很多开源链路追踪零碎,如 Zipkin 和 OpenTracing,也采纳了相似的 span 概念来形容分布式系统中的链路追踪信息。当初,合并了 OpenTracing 和 OpenCensus 的 CNCF OpenTelemetry 天然也一样采纳了 span 概念,并在此基础上进行了进一步倒退。 ...

March 30, 2023 · 3 min · jiezi

关于阿里云:五分钟获得轻量级的云原生应用控制平面

作者:乔中沛云原生的一直成熟让大量基础设施层的能力能够被业务利用间接应用,然而宽广的开发者们却苦于很高的上手门槛和学习老本,始终没有机会深刻理解云原生生态的工具体系。明天咱们将为你介绍一个好用的工具,它可能在离线环境帮你疾速装置 Kubernetes 集群,低门槛的上手业务利用部署,还能具备多集群、云资源等一系列高阶能力,而你只须要筹备一个可能运行 Docker 的零碎环境。 这个工具就是 VelaD [ 1] ,它能够帮忙开发者从零开始,在三分钟内疾速搭建基于 K3s 和 KubeVela 的云原生利用管制立体。 筹备工作如果你应用的是 Mac 或者 Windows,须要筹备 Docker 环境,举荐应用 Docker Desktop [ 2] 。如果你应用的是 Linux,则无需筹备工作。装置 VelaDMac/Linux curl -fsSl https://static.kubevela.net/script/install-velad.sh | bashWindows 应用 Powershell 运行 powershell -Command "iwr -useb https://static.kubevela.net/script/install-velad.ps1 | iex"装置中须要你输出以后用户的明码来装置到 PATH 中,用以下命令确认你曾经装置胜利: velad versionCore Version: v1.7.5VelaD Version: v1.7.5一键装置 Kubernetes 和 KubeVela 管制立体最简略的状况下,应用 VelaD 创立多集群管制立体,只须要一条命令: velad install整个装置过程是离线实现的,只须要 1 分钟左右便可装置实现,除了 Kubernetes 以外,还会装置 KubeVela 这个现代化的云原生利用交付和治理平台,帮你轻松上手云原生利用的部署。不仅如此,你还能够通过增加更多节点和数据库来保障集群数据的更高可用性(见“增加集群”大节)。另外,以上命令所创立的管制立体并不会主动将集群裸露给公网。如果你须要通过公网拜访你在近程服务器上创立的管制立体,参见近程拜访文档 [ 3] 。 该命令的背地是基于 K3s/K3d 技术为你在机器上创立一个单节点的 Kubernetes 集群,并在其中装置 KubeVela,及其命令行工具 vela。基于这个环境,你能够立即开始交付你的业务利用。 ...

March 30, 2023 · 4 min · jiezi

关于阿里云:如何轻松应对偶发异常

作者:亦盏在之前的文章中,咱们曾经介绍了如何通过 MSE 提供的无损高低线和全链路灰度这两个性能来打消变更态的危险,置信您曾经可能在变更时得心应手。然而在利用运行过程中忽然遇到流量洪峰、黑产刷单、内部依赖故障、慢 SQL 等偶发异样时,您如何可能持续轻松应答呢? 本文将通过介绍 MSE 微服务治理在三月的最新性能来告诉您答案。文章次要分为三局部,首先是 MSE 微服务治理的简介,而后是 MSE 全面打消变更态危险的回顾 ,最初是如何借助 MSE 微服务治理轻松应答线上偶发异样。 MSE 微服务治理简介首先看一下微服架构的总览,置信读者敌人们对微服务都不生疏。在 JAVA 中比拟支流的微服务框架就是 Dubbo 和 Spring Cloud,同时当初也有很多公司采纳 Go、Rust 这些语言去构建本人的微服务。下图中浅绿色的这一部分都是纯开源的内容,除了微服务框架自身外,还蕴含了服务注册发现、服务配置核心、负载平衡等一系列的组件。 大家也发现,在微服务施行的过程中,随着微服务的增多、调用链路的复杂化,出问题和故障的可能性都在减少,问题定位的难度也成倍回升。比如说在可观测畛域,须要应用到利用监控、链路追踪、日志治理等性能,能力释怀地将利用部署到线上,免得呈现问题无奈定位。 更进一步,微服务自身更须要引入微服务治理。在开发态,须要通过服务 mock、服务测试、服务元数据等治理性能去保障微服务的疾速迭代;在变更态,须要借助无损高低线和全链路灰度性能去保障公布时的稳定性,以及业务的连续性;在运行态,微服务可能遇到各式各样的偶发异样,须要借助治理性能去实现流量的自愈,保障咱们的业务稳固、流畅地运行。很难设想一个线上的微服务利用没有治理是个什么场景,能够说是无 治理、不生产。 随着应用微服务架构的公司越来越多,大家也都意识到微服务治理十分重要,然而在施行微服务治理的过程中,大家还是遇到了比拟多的痛点和难点。咱们总结了一下,企业在施行微服务的过程中遇到的三类问题,别离是稳固、老本和平安。 首先是稳固的问题<!----> 微服务在公布的过程中特地容易呈现问题,每次公布都得熬夜以避开业务高峰期,而且还是免不了呈现业务中断。当遇到难得的业务爆发式增长时,利用因为无奈承载流量顶峰导致整体宕机,错失了业务暴发的机会。在呈现一些偶发异样的时候,利用没有欠缺的防护和治愈伎俩,可能会因为偶发的小异样,一直的滚雪球,最终去拖垮咱们整个集群和整个服务。遇到偶发问题的无奈精确定位和彻底解决,只能重启形式躲避,从而使得咱们微服务的隐患越积越多,危险越来越大。<!----> 第二是老本的问题<!----> 微服务治理性能在开源没有欠缺的解决方案,这个时候可能是须要去招聘大量精通微服务的人才,能力自建一套微服务治理体系,然而也无奈笼罩残缺的治理场景。这会使得人力老本十分高。引入了微服务之后,根本都会有一些麻利开发、疾速迭代的诉求。在这个过程中,须要保护多套环境以维持一个并行开发迭代的需要,这会使得机器老本十分高。传统的开发模式,当须要引入一个治理性能降级的时候,须要先降级根底组件,再对所有的利用进行代码革新,顺次公布能力实现降级,革新的周期长、危险大。这会使得工夫老本十分高。<!----> 最初是平安的问题<!----> 常常会有一些开源的框架的安全漏洞被裸露进去,这个时候须要对依赖进行降级以修复 Bug,走一次残缺的公布能力实现,老本高,时效性差。零信赖平安的解决方案正在被越来越多的公司采纳,去保障整体的业务平安。不仅是在流量入口层对业务进行平安的保障,在利用间的外部调用也须要有残缺的鉴权和保障机制。那么 MSE微服务治理是怎么去解决这三个问题的? MSE 的微服务治理基于开源的 OpenSergo 规范实现了无侵入的微服务治理。对于使用者来说降级老本是零,业务是齐全无侵入感知的。 目前曾经能够做到是五分钟接入,半小时内就学会残缺的应用,保障微服务利用在变更态和运行时的稳定性。因为 OpenSergo 是全面开源规范,不会有任何的厂商绑定的问题。 从上图中能够看出,微服务利用能够通过 Java Agent 或 Sidecar 的形式接入MSE 微服务治理。在接入治理后,能够通过 MSE 微服引擎的管制面配置治理规定的配置。利用收到规定之后会实时失效,及时地爱护利用。 全面打消变更态危险的回顾当初来回顾一下,变更态存在哪些问题,以及 MSE 是如何全面打消变更态危险的。 首先问大家一个问题,当你的代码没有问题的时候,是不是在公布的过程中就肯定不会影响到业务? 答案其实是否定的,因为这个时候可能会遇到无损高低线的问题。 为什么会呈现无损下线问题?第一个起因是服务消费者无奈实时感知到服务提供者曾经下线了,仍旧会去调用一个曾经下线的地址,从而呈现一个影响业务的报错。同时服务提供者也可能会在申请解决到一半的时候就间接进行了,从而导致业务报错,甚至呈现数据不统一的问题。 为什么会呈现无损上线的问题?一个新启动的节点,有可能在还没齐全启动前就注册到注册核心了,进而导致这时候过去的流量无奈被正确处理导致报错;另一种状况是,尽管利用启动实现了,然而还没有解决大流量的能力,可能间接被大流量压垮,须要先进行预热,能力解决大流量的申请。除此之外,目前 K8s 的普及率曾经十分高了,如果微服务的生命周期没有与 K8s 生命周期做一个的 readiness 对齐的话,公布过程也容易呈现无损上线问题。 ...

March 30, 2023 · 2 min · jiezi

关于阿里云:CNStack-网络插件hybridnet-的设计与实现

作者: 若禾CNStack 是阿里云推出的一款凋谢的一站式企业级云原生技术中台。在异构的混合云基础设施上,对资源进行对立纳管和优化调度,以凋谢的、云原生的形式为平台及业务零碎提供生产可用的产品及组件,帮忙用户打造满足大规模、高性能、合规性和业务连续性等要求的分布式应用零碎,晋升企业数字化转型的整体效力。hybridnet 是 CNStack 应用的容器网络实现,同时也是阿里云推出的唯二开源通用 K8s 网络插件实现之一。 开源仓库地址:https://github.com/alibaba/hybridnet 解释下“通用”俩字,阿里云目前存在两种开源 K8s 网络插件实现:terway、hybridnet。与 hybridnet 网络插件不同,terway 网络插件是与阿里云基础设施紧密结合的,并不思考在非阿里云私有云基础设施环境部署的状况,而 hybridnet 更像是相似 flannel、calico 的社区解决方案,反对在任意环境拉起和部署。本文会详细描述 hybridnet 网络插件的设计与实现。 背景从诞生到当初,在阿里外部 hybridnet 始终承载的是“私有化交付基石”的角色,即为以 K8s 为交付媒介的 PaaS/SaaS 产品提供在客户线下机房的网络部署、运维能力,其性质看起来也就和 “为所有人提供 K8s 网络” 更加相似,咱们对 hybridnet 的冀望有几点: 架构简略、性能稳固。对于要交付到客户线下机房的产品,一旦呈现问题,排查老本是十分高的,稳定性是重中之重。“On Anywhere” 部署。这的确是一开始的冀望,听起来不堪设想,但某种程度上的确实现了。灵便。可能满足不同客户性能需要以及就宽泛通用场景进行性能扩大。运维简略。负责交付施行的同学可能疾速上手。当然,社区也存在泛滥优良的网络插件实现,咱们也对其进行了理解和调研,总结下最终没有采纳的起因: 社区网络插件的网络模式是绝对简略的,不是 overlay 就是 underlay,看下来没法既实现 “On Anywhere” 部署,又满足客户对于 underlay 网络场景的需要(性能或者网络买通)。对于 underlay 网络场景需要,社区提供的支流解决形式始终是 “只提供通过 bgp 宣告路由” 的形式,这种形式对没有进行 bgp 组网的公司并不是很敌对,咱们仍须要没有 bgp 条件环境下的容器网络实现(也就是 vlan 形式),这方面社区并没有十分成熟的计划。大部分社区网络插件的 ip 调配是 “为节点调配网段” 的模型,仿佛并没有思考处于 “传统运维” 过渡到 “云原生运维” 阶段用户可能存在的“须要容器固定 ip 被拜访”的场景,也难以扩大实现。局部社区网络插件的技术体系(ovs、ebpf)在运维、二次开发方面的门槛和老本比拟高。设计与实现如何 “On Anywhere”在设计之初,须要想明确的一个问题是:如何既实现 “On Anywhere” 部署又满足客户对于 underlay 网络场景的需要?首先咱们要了解 overlay、underlay 在交付场景下的不同意义。 ...

March 30, 2023 · 7 min · jiezi

关于阿里云:基础篇丨链路追踪Tracing其实很简单

作者:涯海一、分布式链路追踪的起源当周末躺在被窝里,点外卖时;双 11 的零点,疯狂提交订单时;假期和基友激情开黑,五杀超神…在这个精彩纷呈的互联网世界里,这些利用背地又暗藏着什么?每一次点击行为在 IT 世界里会流经哪些节点,调用哪些服务,带来哪些变动?这所有庞杂且精细,超出了人力摸索的边界,而分布式链路追踪就是追溯申请在 IT 零碎间流转门路与状态的一门技术。接下来,让咱们通过对分布式链路追踪的来理解这个 IT 世界! 说到分布式链路追踪,就绕不开分布式系统与微服务的衰亡。晚期 IT 零碎非常简单,简直所有程序都运行在同一个节点,相互之间也没有什么依赖。但随着硬件技术突飞猛进,硬件老本大幅降落,软件复杂度却越来越高。繁多零碎性能无奈满足简单的数据计算工作,而软件逻辑的复杂性也导致保护老本大幅回升。另外,单节点的可靠性也难以保障,不可避免的会偶然呈现宕机等行为,影响软件的可用性。 “性能、可维护性和可用性”这三大因素促使了分布式系统与微服务的诞生。 为了解决上述问题,人们很天然想到:既然一个硬件节点无奈很好的运行软件,那能不能够通过多个节点来共同完成?并且为不同节点分派不同工作去提高效率。就好比通过不同角色分工协同的汽车生产流水线,分布式系统与微服务的理念亦是如此,如下图所示。 分布式系统与微服务自诞生就被广泛应用,次要得益于以下劣势: 扩展性分布式系统人造具备“按需扩大”的能力,比方双 11 大促前通过增加机器实现疾速程度扩容,大促完结后开释机器,充分利用云计算的分时复用能力,节约老本。利用微服务,还能够实现按需精准扩容,比方登录服务扩容 10 倍,下单服务扩容3倍,最大化的节俭资源。 可靠性分布式系统能够无效抵制“单点危险”,不会因为某一个节点的故障,影响整体的服务可用性。联合流量调度、离群实例摘除和弹性扩容等技术,甚至能够实现故障自愈。 可维护性分布式系统可维护性更强,一方面咱们将一个简单服务拆分成多个简略的微服务,每个微服务的逻辑都更加清晰、更易了解。就好比咱们写代码,将一个几百行的简单函数重形成若干个简略函数,代码可读性就会直线回升。另一方面,一些通用的微服务能够被高度复用,无需反复开发和保护,比方你在开发一个电商 APP,能够间接调用第三方提供的领取、物流等服务接口,整体开发和保护效率将大幅晋升。 尽管分布式系统与微服务具备十分显著劣势,但凡事无利必有弊,它们在无效解决原有问题根底上,也为零碎开发和运维带来了新挑战,次要包含以下几点: 模糊性随着零碎的分布式水平越来越高,异样表象与根因之间的逻辑联系变得更加含糊,问题诊断的难度急剧回升。比方 A、B 两个服务共享同一个数据库实例,当 A 服务在压测期间,大量占用数据库的服务端连贯和计算资源,会导致 B 服务呈现连贯超时或响应变慢等问题。如果 B 服务是通过 C 服务间接依赖该数据库实例,问题的定位就会变得更加艰难。 不统一尽管分布式应用从总体上变的更加牢靠,然而每一个独立节点的状态却难以保障。导致这种不统一的起因有很多,比方前文提到的单机故障这种预期外的不统一,或者利用 Owner 执行分批公布或流量灰度时导致的预期内行为不统一。这种不一致性导致咱们难以确定一个用户申请在零碎内的精确执行门路与行为逻辑,可能引发不可预知的逻辑劫难。 去中心化当你的零碎领有上千个微服务镜像运行在数百台机器实例上,你该如何梳理它们之间的依赖关系,又该如何找到外围业务的要害执行门路?特地是在分布式的场景下,你没有一个中心化的节点(Master)来保留每个服务之间的依赖与调度状态,每个独立节点都在自行其是,无奈分辨本人在整个零碎中的地位,只能“盲人摸象、管中窥豹”,不足全局视图。 分布式系统与微服务带来的新挑战无疑让人头痛,但也带来了新技术的倒退契机,科技的倒退总是这样周而复始,螺旋式回升。它们带来的新问题,促使了分布式链路追踪的诞生,使你可能无效的察看全局,追踪流量。咱们将在下个章节理解分布式链路追踪的诞生历程与核心理念。 二、分布式链路追踪的诞生为了应答分布式环境下的不统一、模糊性等前文提到的各类问题问题,人们试图通过申请粒度的轨迹追踪与数据透传,实现节点间的确定性关联,分布式链路追踪技术也由此诞生。 里程碑事件:Google Dapper分布式链路追踪诞生的标志性事件就是 Google Dapper 论文的发表。2010 年 4 月,Benjamin H. Sigelman 等人在 Google Technical Report 上发表了《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》,揭开了分布式链路追踪的技术大幕,开启了一段全新技术浪潮。 Dapper 首先明确了分布式链路追踪的两个指标:任意部署和继续监测。进而给出了三个具体的设计准则: 低开销:确保外围零碎不会因为额定的性能开销回绝应用。利用级通明:对利用开发通明,无需开发人员的帮助,升高接入门槛,进步迭代效率。可扩大:在将来相当长一段时间内,随着业务的高速倒退,依然能够无效运行。上面几张图展现了 Dapper 对链路透传、调用链构造和数据采集流程的形容,咱们将在后续章节具体开展介绍,对 Dapper 感兴趣的同学倡议间接浏览原作。 ...

March 30, 2023 · 2 min · jiezi

关于阿里云:应对网络不可靠挑战用-OpenYurt-实现边缘业务连续性

作者:陈璐、陈东背景OpenYurt 我的项目的使命是将 Kubernetes 在云端弱小的管控能力下放到边缘测,把海量的异构边缘资源纳入进一个对立的边缘计算平台中。但边缘场景的一些特点并不合乎为在云上运行而设计的 Kubernetes 的预设。这也正是 OpenYurt 须要解决的问题。边缘自治能力就是在这样的背景下诞生的。 与平安稳固的云上网络环境不同,在边缘场景中,边缘节点与云上的节点通常是不在一个网络立体内,须要通过公网与云端连贯。公网连贯带来了几方面的问题,比方昂扬的公网流量老本,跨网域通信能力的需要以及本文所关注的公网连贯的不稳定性问题。这些在 OpenYurt 体系里都失去了很好的解决。 咱们明天次要想和大家分享 OpenYurt 社区针对最初一个问题的思考,以及针对其而设计的 OpenYurt 边缘自治能力。 Kubernetes 在不稳固网络环境下的问题咱们先看看原生 Kubernetes 在不稳固网络环境下会如何体现。当一个 Node 节点网络连接中断,那么接下来在 Kubernetes 集群会有一系列的动作 来解决这个事件 [ 1] 。 Node 节点上的 kubelet 在 10s 内发现网络问题,并且更新 NodeStatus,然而因为网络断开无奈上报到 Control PlaneControl Plane 的 NodeLifeCycle Controller 在 40s 内接管不到 Node 的心跳,该节点状态被调整为 Not Ready,不会再有新的 Pod 调度到该节点上Control Plane 的 NodeLifeCycle Controller 在 5min 内接管不到 Node 的心跳,开始驱赶 Node 节点上所有的 Pod当一个节点无奈上报心跳,Kubernetes 集群据此判断该节点存在异样,作为异样资源它不再适宜反对下层的利用。这样的做法对于数据中心里全天 24h 随时在线的机器是适合的,但在网络环境简单的边缘场景里,这样的策略就有待商讨了。 首先,在一些边缘场景中,边缘节点须要被动地中断网络连接来反对断网保护的需要,此时原生 Kubernetes 会驱赶边缘容器,一些边缘组件也会因为 APIServer 无奈连贯,资源同步失败而报错,甚至退出,这显然是无奈承受的。更深刻一些,节点无奈上报心跳这个景象背地可能有两方面的起因,要么是机器故障带着所有的 workload 一起挂掉了,要么是机器仍在失常运行但网络断连。Kubernetes 对这两种状况不做别离,间接将没有心跳的节点置为 Not Ready。但在边缘场景中,网络断连是一种常见的场景甚至需要,咱们能不能分辨出这两类起因,仅在节点故障时才对 Pod 进行迁徙重建。 ...

March 29, 2023 · 1 min · jiezi

关于阿里云:Dragonfly-最新正式版本-v209-已经发布

作者:戚文博-蚂蚁团体Dragonfly 最新正式版本 v2.0.9 曾经公布!感激 Dragonfly 的贡献者们,同时也感激默默反对 Dragonfly 我的项目的各个私有云团队。欢送拜访 d7y.io [ 1] 网站来理解详情,上面具体介绍 v2.0.9 版本带来了那些更新。 性能下载工作能够依据优先级(Priority)进行下载。优先级能够在下载工作时 cli 中作为参数传入,也能够在 Manager Console 设置对应利用关联的优先级。具体不同优先级的性能能够参考文档 priority protoc definition [ 2] 。Scheduler 配置新增 PieceDownloadTimeout 字段,做用是当某个 Piece 下载超过 Timeout 时,设置对应的 Task 状态变更为失败。避免异样 Task 元信息残留在 Scheduler 中。GRPC 服务新增 Health Service 和 Reflection 服务。Manager 反对 Redis 哨兵模式(sentinal model)。重构 Dynconfig 模块移除 json.Unmarshal 操作,进步 Dynconfig 模块运行时效率。并且反对通过健康检查的形式过滤异样地址服务。修复当无可用服务时,GRPC 未构建哈希环所造成的异样。晚期版本当同一个 Task 的多个 Piece 并发下载时,Scheduler 会调度多个 Parent 给以后 Peer 进行下载,但多个 Piece 根本都会从单个 Parent 进行下载。以后版本更改多个 Piece 能够从不同的 Parent 并发下载,能够避免流量集中在局部热点 Parent,进步下载效率同时也进步了带宽均匀利用率。Peer 调用 Manager 获取匹配的 Scheduler Cluster 的时候,如果没有匹配到任何 Scheduler Cluster,那么 Manager 会返回所有的 Scheduler Cluster 提供给 Peer。Peer 会应用 Health Check 通过的 Scheduler Cluster 地址供后续下载调度应用。反对 ORAS [ 3] 客户端的回源下载协定,扩大容器镜像生态反对。减少 UDP Ping 包的反对和虚构网络拓扑的 GRPC Protoc 定义。将来会新增基于网络探测构建虚构网络拓扑构造,进步调度算法的精确度。实现 V2 版本的 P2P 协定 [ 4] 的定义。Scheduler 和 Manager 对应实现了 V2 版本的 P2P 协定的性能。将来会基于 V2 版本的 P2P 协定和 Rust 语言重写 Dfdaemon,进步客户端性能的同时可能依赖更加规范且扩展性更强的 V2 版本的 P2P 协定。OSS 客户端回源协定新增基于 STS 长期拜访凭证来拜访 OSS 源站。Scheduler 新增 hostTTL and hostGCInterval 配置,次要作用于 Host 元数据的开释。能够保障在 Peer 主机异样退出的状况下,依然能够开释掉异样的 Host 元数据,避免脏数据残留。Manager 的 Searcher 模块新增依据 CIDR [ 5] 条件去筛选以后 Peer 匹配的 Scheduler Cluster,提供更准确的匹配计算形式。重构 V1 版本 P2P 协定的 Metric,并且新增 V2 版本 P2P 协定的 Metric,并且依据新的 Metrics 更新 Helm Charts [ 6] 的 PrometheusRule 对应的告警规定。并且重新整理 Dragonfly Grafana Dashboards [ 7] 不便用户能够一键导入 Dashboards 观测 P2P 网络流量以及服务相干数据。具体文档能够参考 Monitoring [ 8] , Grafana Dashboard 保护在我的项目 dragonflyoss/monitoring [ 9] 中。版本更新蕴含的更多细节能够参考 CHANGELOG [ 10] 。 ...

March 29, 2023 · 2 min · jiezi

关于阿里云:Whatss-New-In-Seata-16x

作者: 陈健斌 github id:a364176773Seata 是一款开源的分布式事务解决方案,star 高达 23000+,社区活跃度极高,致力于在微服务架构下提供高性能和简略易用的分布式事务服务,本文将分析 Seata 1.6.x 版本的外围个性,让用户对 Seata 有更深刻的意识。 Seata 1.6x 带来了什么?AT 模式语法及个性加强首先在 1.6 上,咱们针对外围独创的 AT 模式进一步的进行了加强,反对了更多的罕用语法个性,如 mysql 下的 update join,oracle 及 pgsql 中的多主键。 申请响应通信模型优化而在整体的通信架构上,进一步优化了网络通信模型,将 batch 及 pipeline 个性使用到极致,进一步晋升 Seata Server 到 Client 的整体吞吐量。 全局锁反对策略管制全局锁方面减少了更加贴近业务应用场景的乐观/乐观获取锁的配置项,依据不同的业务场景抉择不同的锁策略,以上三点将会在后续的 AT 模式加强篇章中具体介绍。 反对 JDK17 & Spring Boot 3.0在技术摸索及先进性上,咱们早早的在 1.5.x 上便反对了 jdk17,而在 1.6.1 中社区更进一步,率先反对了 spring boot3 并且是齐全兼容 springboot2 的模式,而非独自分支模式反对,这两个重大 feature 将使业务同学选型底层内核版本时更加从容自在。 反对多注册核心服务裸露服务裸露发现模型上,咱们减少了对多个注册核心同时裸露 Seata-Server 的 feature,这将在后续篇章中与大家进一步分享 。 ......除此之外,Seata 1.6.x 有更多的 optimize 和 bugfix,这里不再一一开展介绍,欢送大家尝鲜 Seata 最新 release 版本,有任何问题欢送在 github 中沟通及探讨。 ...

March 29, 2023 · 3 min · jiezi

关于阿里云:KubeVela-17-版本解读接管你的已有工作负载

作者:孙健波(天元)KubeVela 1.7 版本曾经正式公布一段时间,在此期间 KubeVela 正式升级成为了 CNCF 的孵化我的项目,开启了一个新的里程碑。而 KubeVela 1.7 自身也是一个转折点,因为 KubeVela 从一开始就专一于可扩大体系的设计,对于控制器外围性能的需要也开始逐渐收敛,咱们开始腾出手来更加专一于用户体验、易用性、以及性能。在本文中,咱们将重点筛选 1.7 版本中的工作负载接管、性能优化等亮点性能进行介绍。 接管你的工作负载接管已有的工作负载始终是社区里呼声很高的需要,其场景也十分明确,即曾经存在的工作负载能够天然的迁徙到 OAM 标准化体系中,被 KubeVela 的利用交付管制面对立治理,复用 VelaUX 的 UI 控制台性能,包含社区的一系列运维特色、工作流步骤以及丰盛的插件生态。在 1.7 版本中,咱们正式公布了该性能,在理解具体怎么操作之前,让咱们先对其运行模式有个根本理解。 “只读” 和 “接管” 两种模式为了适应不同的应用场景,KubeVela 提供了两种模式来满足你对立治理的需要,一种是只读模式,实用于外部曾经有自建平台的零碎,这些零碎对于存量业务仍旧具备次要的控制能力,而新的基于 KubeVela 的平台零碎能够只读式的对立观测到这些利用。另一种是接管模式,实用于想间接做迁徙的用户,能够把已有的工作负载主动的接管到 KubeVela 体系中,并且齐全对立治理。 “只读”(read-only)模式顾名思义,它不会对资源有任何“写”操作。应用只读模式纳管的工作负载,能够通过 KubeVela 的工具集(如 CLI、VelaUX)做可视化,满足对立查看、可观测方面的需要。与此同时,只读模式下生成的纳管利用被删除时,底下的工作负载资源也不会被回收。而底层工作负载被其余控制器会人为批改时,KubeVela 也能够察看到这些变动。“接管”(take-over)模式意味着底层的工作负载会被 KubeVela 齐全治理,跟其余间接通过 KubeVela 体系创立进去的工作负载一样,工作负载的更新、删除等生命周期将齐全由 KubeVela 利用体系管制。默认状况下,其余系统对工作负载的批改也就不再失效,会被 KubeVela 面向终态的管制循环改回来,除非你退出了其余的管理策略(如 apply-once)。而申明接管模式的办法则应用 KubeVela 的策略(policy)体系,如下所示: apiVersion: core.oam.dev/v1beta1kind: Applicationmetadata: name: read-onlyspec: components: - name: nginx type: webservice properties: image: nginx policies: - type: read-only name: read-only properties: rules: - selector: resourceTypes: ["Deployment"]在 “read-only” 策略中,咱们定义了多种只读规定,如样例中只读选择器命中的资源是 “Deployment”,那就意味着只有对 Deployment 的资源是只读的,咱们仍旧能够通过运维特色创立和批改 “Ingress”、“Service” 等资源,而应用 “scaler” 运维特色对 Deployment 的实例数做批改则不会失效。 ...

March 29, 2023 · 4 min · jiezi

关于阿里云:OpenKruise-成为-CNCF-孵化项目为大规模采用-Kubernetes-打开大门

作者:OpenKruise 社区近期,CNCF Technical Oversight Committee(TOC)依据 OpenKruise 的倒退以及社区的接受程度,通过投票决定将 OpenKruise 降级为 CNCF 孵化我的项目。 OpenKruise [ 1] 是一个扩大的组件套件,专一于应用程序自动化,如部署、降级、运维和可用性爱护等方面。OpenKruise 提供的大多数性能都是基于 CRD 扩大构建的,能够在纯 Kubernetes 集群中工作,不须要任何其余依赖项,该我的项目提供以下性能: 利用工作负载:反对相似于 Kubernetes上游工作负载的基本功能,以及更高级的能力,如就地更新、可配置的扩大/降级策略和并行操作。Sidecar 容器治理:定义、注入甚至降级 sidecar 容器,不影响应用程序容器。利用分区治理:使工作负载反对多域和弹性部署,以便用户能够定义他们的应用程序如何在不同类型的节点上部署的规定。加强的运维能力:如就地重启容器,在特定节点上预下载镜像,在 Pod 中管制容器启动优先级,并在多个命名空间中分配资源。利用安全性防护:能够避免在级联删除期间意外删除 Kubernetes 资源,并避免在被迫中断状况下应用程序中断或 SLA 降级。OpenKruise 曾经在阿里巴巴、百度、Bringg、领英、Lyft、Shopee、Oppo、Spectro Cloud 等企业宽泛应用于 Kubernetes 生态系统中。游戏公司 LilithGames 同样应用 OpenKruise 工作负载 Advanced StatefulSet 来治理、部署有状态服务 GameServer。 “Ctrip 宽泛应用 OpenKruise 提供的 CloneSet 和 Advanced StatefulSet。”Ctrip 的高级软件工程师 ShiYan 示意,“该公司的容器 PaaS 平台利用 OpenKruise 的原地降级和灰度公布性能,在大规模场景中使应用程序更加弱小、高效和平安。” “OpenKruise 开拓了一条路线,使云原生从业者能够在大规模场景中迁徙或操作其要害工作负载或sidecar 容器。”CNCF TOC Lei Zhang 示意,“这使得在许多要害工作场景中,例如大规模 AI/ML 基础架构、电信、大规模的电子商务、社交媒体平台采纳 Kubernetes 新趋势成为可能。咱们很快乐地欢送更多通过实际考验的生态系统我的项目退出 CNCF,并期待看到 OpenKruise 帮忙云原生采纳达到新的程度。” ...

March 28, 2023 · 1 min · jiezi

关于阿里云:如何在容器服务-ACK-玩转-MSE-Ingress

作者:扬少随着容器和 Kubernetes 技术的衰亡,集群入口流量治理形式逐步被 Ingress 通用化和标准化。入口网关的标准化制订将入口流量治理与网关的实现解耦,不仅促成了各种 Ingress Controller 的倒退,而且打消了开发者存在的与厂商绑定的顾虑,日后也能够依据本身业务理论场景切换到不同 Ingress Controller。目前,越来越多的开发者开始关注并思考将业务网关切换为 Ingress 网关,有的企业甚至曾经落地了 Ingress 网关。 本文次要介绍 Ingress Controller 新抉择——MSE Ingress 是什么,分享 MSE Ingress 最佳实际来帮忙开发者从用 Ingress、到用好 Ingress。 什么是 Ingress简略回顾一下之前咱们在应用一些传统网关遇到的问题。 人力老本:常见的网关(Nginx、Spring Cloud Gateway、Zuul等)的路由配置以及策略配置格局均不同,开发者在选用网关之前须要相熟对应网关的配置文件的应用办法,企业在招聘人员也要思考是否具备所用网关的技术栈。迁徙老本:业务因为本身起因须要切换网关类型,开发者须要相熟指标网关的配置文件,开发迁徙工具,测试迁徙工具的完整性,演练迁徙计划,最终能力实现迁徙。在 Kubernetes 平台中,形象、规范是第一要义。有了规范,能力更好适配各类不同实现的组件,能力一直蓬勃、可继续的倒退。Kubernetes 通过对立形象定义的 Ingress 资源来治理内部拜访集群外部服务的形式,将入口网关的性能与实现解耦。 应用 Ingress 来治理集群入口流量有3大劣势: 规范:遵循入口流量治理的规范模式,开发者只需相熟 Ingress 配置即可,并且能够十分不便的切换业务网关的实现。简略:Ingress 的定义格局简略,易于学习。通过简略配置 Host、Path 和指标服务即可疾速实现集群外部服务的对外公布。可扩大:Ingress 的规范定义仅仅蕴含了 HTTP 流量的路由匹配规定以及 HTTPS 流量所需的证书配置。开发者能够通过 Ingress Annotation 的模式进一步拓展 Ingress 的 API,实现流量分流、跨域、Header管制等治理策略。 Ingress 实现现状Ingress 是形象接口,具体的实现依然由各类网关实现。目前,Ingress 的实现有两大阵营:Nginx 和 Envoy。Nginx 存量大,然而因为架构设计的问题,随着用户规模变大逐渐裸露平安和稳定性危险,目前社区发表进行 6 个月新需要开发, 集中解决平安和稳定性问题;Envoy + Istio 作为后起之秀,采纳数据面和管制面拆散架构,有更好的平安和稳定性保障,并且反对多语言扩大,热更新劣势,Envoy 社区也推出 Gateway 产品减速 Gateway API 落地。 ...

March 28, 2023 · 2 min · jiezi

关于阿里云:Koordinator-助力-ACK-容器调度升级提升应用性能节约资源成本

作者: 佑祎Koordinator 是什么Koordinator 是一个开源我的项目,基于阿里巴巴在容器调度畛域多年累积的教训孵化诞生,能够晋升容器性能,升高集群资源老本。通过混部、资源画像、调度优化等技术能力,可能进步提早敏感的工作负载和批处理作业的运行效率和可靠性,优化集群资源应用效率。 Koordinator 的技术计划源自阿里巴巴在混部、资源优化等畛域多年的技术积攒。早在 2011 年,阿里巴巴就开始在容器调度领进行相干的技术摸索,并于 2016 年启动研发面向混部场景的容器调度技术,通过了多轮技术迭代降级后,最终演进到明天的云原生零碎架构。目前,阿里巴巴曾经实现了全业务规模超千万核的云原生混部,混部天均匀 CPU 利用率超 50%,间断通过了多年“双十一”的考验,帮忙阿里巴巴节俭了大量的资源老本。 随着企业数字化转型工作深刻推动,为了帮忙宽广企业客户播种云原生场景下的技术红利,阿里云于 2022 年 4 月正式开源 Koordinator 我的项目,提供云原生场景下接入老本最低、混部效率最佳的解决方案,升高零碎运维老本,放弃长期可继续倒退的衰弱状态。自开源以来,Koordinator 失去来自业界十几个企业优良工程师的奉献,已在多个企业的生产零碎中失去利用。 Koordinator 助力 ACK 容器调度为了帮忙 ACK 用户晋升容器性能,优化资源效率,阿里云 ACK 在 2021 年推出了 ack-slo-manager 套件,提供了包含 CPU Burst 性能优化、负载感知调度、差异化 SLO 精细化调度、资源画像等一系列性能。这些性能帮忙 ACK 用户无效晋升了容器的性能体现和集群利用率,升高了资源老本。 随着 Koordinator 社区的逐步成熟,技术上也实现了对 ack-slo-manager 套件的反哺。为了让广大客户取得统一的技术体验,ACK 在原组件的根底上进行了全面降级,日前最新公布的 v1.1.1-ack.1 版本,在标准化、通用化上做出了更多的冲破,对相干性能进行了整合,兼容适配了所有原协定和性能,用户能够在利用齐全无感的状况下实现从 ack-slo-manager 到 ack-koordinator 的一键降级。 目前,Koordinator 曾经全面接入阿里云容器服务 ACK,用户能够间接在控制台装置应用。本文将为您介绍相干技术的外围原理。 核心技术能力零碎架构ACK Koordinator 提供的性能次要蕴含三个局部:QoS 感知调度、重调度,资源画像,以及差异化 SLO 混部。组件由核心侧组件和单机侧组件两大部分组成,具体包含以下模块。 Koordinator Manager:以 Deployment 的模式部署的核心组件,其中有两局部性能:<!----> SLO Controller:用于资源超卖治理,依据节点混部时的运行状态,动静调整集群的超卖资源量,同时为治理各节点的差异化 SLO 策略。Recommender:提供资源画像性能,预估工作负载的峰值资源需要,简化您的配置容器资源规格的复杂度。<!----> Koordinator Descheduler:以 Deployment 的模式部署的核心组件,提供重调度性能。Koordlet:以 DaemonSet 的模式部署的单机组件,用于反对混部场景下的资源超卖、单机精细化调度,以及容器 QoS 保障等。 ...

March 28, 2023 · 1 min · jiezi

关于阿里云:业界首发丨云原生网络数据面可观测性最佳实践重磅来袭

作者:阿里云云原生近几年,企业基础设施云原生化的趋势越来越强烈,从最开始的IaaS化到当初的微服务化,企业的颗粒度精细化和可观测性的需要更加强烈。容器网络为了满足企业更高性能和更高的密度,也始终在高速的倒退和演进中,这必然对企业对云原生网络的可观测性带来了极高的门槛和挑战。 为了进步云原生网络的可观测性,同时便于企业、前后线同学减少对业务链路的可读性,容器产研和GTS-AES联结共建,联合了产研和AES多年的容器疑难场景的教训,单干共筑《云原生网络数据面可观测性最佳实际》系列,以Net-Exporter为基石,帮忙企业和前后线同学理解云原生网络架构体系,简化对云原生网络的可观测性的门槛,进步云原生网络的链路的稳定性。 关注公众号,后盾回复 “链路观测” 即可收费下载电子书 ACK Net Exporter是面向Kubernetes云原生环境的网络监控工具,当初曾经开源为KubeSkoop我的项目(https://github.com/alibaba/kubeskoop),针对云原生网络的痛点,提供以下性能: 针对Pod级别的网络监控,包含流量,应用层连贯信息,socket内存调配状态等针对Pod级别的网络异样状态的指标监控,例如Pod内过程对socket进行读写操作的等待时间超过100ms的次数,Pod收回TCP rst报文的次数等针对Pod级别的网络异样事件的现场,提供事件产生的详细信息的观测,例如内核网络软中断调度期待过久,UDP呈现socket内存不足导致的溢出等 本书亮点容器网络内核原理硬核解析全景分析阿里云容器网络数据面链路云原生环境下,数据链路观测的笨重利剑——ACK Net Exporter实战演练,手把手‘一键式’部署容器网络观测平台华山论剑——典型偶发抖动场景下的门路摸索

March 28, 2023 · 1 min · jiezi

关于阿里云:CNStack-云边协同平台实现原生边缘竟能如此简单

作者:良名云原生与边缘随着云技术的倒退与遍及,以 K8s 为代表的云原生概念越来越被企业所承受,成为企业数字化转型的坚实基础。其所提倡的不可变基础设施,以资源为治理对象,描述性的 API,最终一致性等等理念,曾经成为行业对基础设施的对立认知规范。 边缘计算并不是一个全新的概念,而是很早就被提出并且在不同的时代都有很多实现的一种架构模式。旨在将算力尽量推动到数据产生的源头,以防止因为网络或者是其余硬件条件限度带来的零碎不稳固,晋升零碎终端的响应速度。 传统的边缘计算产品,更加偏重边缘侧的通信能力。然而在云原生场景下,如何既能享受云原生带来的各种个性和劣势,又能防止边缘场景人造的限度和束缚,是明天云边协同边缘平台亟待解决的问题。 CNStack 云边协同平台 - EdgePaaS 专一于在云原生的技术栈下实现边缘计算能力。上面别离通过:资源协同、利用协同、服务协同、数据协同、设施协同 5 大协同能力介绍 EdgePaaS 的产品特色,以及 EdgePaaS 是如何助力业务落地边缘。 产品特点资源协同K8s,站点云边协同平台的设计主旨,是在 K8s 的根底上,尽量减少对用户的侵入,仅通过大量概念实现云边之间的资源管理协同。 云边协同平台提出“站点”的概念,实现边缘资源的对立治理。 站点,有点相似于可用区的概念。如果仅从资源分组的角度看,的确有相似之处。然而,这两者有着实质的区别。可用区是从可用性的角度对资源进行的划分形式,其外围指标是实现业务容灾。然而,“站点”通常是基于天文因素或者是业务上的治理关系对资源进行的划分,其本质仍然是边缘本身的业务管理规定的投射。 通过“站点”,计算、网络、存储等基础设施资源,都能够在站点维度独立保护,每个站点甚至能够看做是一个独立的小集群。 利用协同利用定义、散发、部署、运维,断网自治即便在云边协同架构下,“利用”仍然是第一公民。 利用是数字世界,对各种业务工作负载的对立形象。即便是在边缘场景,无论有如许丰盛的设施,产生了多少各式各样的数据,外围的业务逻辑还是在"利用"中,咱们须要"利用"来解决和剖析这些数据,而后再触发上游逻辑。 EdgePaaS 不会对业务利用做任何的特殊要求,只有是规范的 K8s 利用都无需任何批改,无论是间接采纳工作负载的封装形式,还是采纳 Helm chart 的封装形式,都能够间接应用,并取得边缘环境下的治理、散发、部署、运维、监控等全生命周期的操作能力。 在 K8s 之下,如果一个节点的网络产生了终端,平台将会把这个节点驱赶并将节点上工作负载漂移至其余可达的节点。这一个性在 K8s 框架下能够大幅晋升业务利用的可用性,然而因为边缘场景下网络人造的脆弱性,这一个性反倒会带来边缘利用极大的不稳固。EdgePaaS 针对这一问题,实现了一套边缘自治机制。 边缘站点产生了网络中断当前,核心管控会暂定对边缘节点的调度,然而不会驱赶曾经存在的业务负载,而是期待边缘节点的网络复原。在边缘侧,管控程序也不会因为和核心侧断联而将本节点内的负载进行,而是继续尝试连贯核心,直到网络复原。 服务协同服务拓扑在传统的中心化架构下,咱们通过注册核心实现服务间的发现,依靠于服务集群的网络联通性实现服务间的通信。然而在边缘环境下部署的利用,每个站点内的服务都是独立的实例,简直不存在站点之间的调用,所有的服务都应该产生在站点外部以及或者是云边之间。 EdgePaaS 能够让一个服务依据集群的节点的散布进行流量路由。例如,一个服务能够指定流量被优先路由到和客户端 pod 雷同的节点或者节点池上。 数据协同流量优化、内容散发因为边缘环境人造的特殊性,带来了网络上的各种限度,次要包含: 云边网络带宽受限云边流量老本高网络单向可见网络可靠性差因为这些这些限度条件的呈现,云边数据协同将不再简略。针对边缘网络的特殊性,EdgePaaS 别离对运维数据和业务数据做了不同的协同反对。 运维数据协同管控数据,在云边之间的通信存在很大的重复性,尤其是在 K8s 之下,各种组件的运行都依赖于大量系统资源,例如:node、pod、endpoint 等。这一类数据的流量会随着站点内节点数的减少而显著回升。 在一个站点维度,站带外部的网络环境是绝对宽松的,EdgePaaS 在每个站点开启一个核心侧 apiserver 的代理,将站点内被反复获取的网络资源对立代理,使得边缘侧管控流量不会随着节点数的减少而减少。 业务数据协同在云边之间流转的,除了运维数据,还存在着大量的业务数据。例如一张图片、一个算法模型、一个镜像等。这些内容具备如下显著的特色: 内容不可变在核心侧治理,边缘侧应用内容需要对带宽要求大(能够是单个大文件,也可能是屡次需要的小文件)对响应速度有要求针对这种场景,EdgePaaS 提供了一套残缺无侵入的解决方案: 在边缘站点侧,EdgePaaS 提供站点维度的拜访代理,数据消费者只须要应用标准协议(http、ftp、sftp)即可获取关注的数据。同时依靠于服务协同中就近拜访的个性,用户无需为每个站点的利用做独自的配置,全副共享一个服务即可实现内容的获取。 应用这套计划,对动态资源的拜访流量将会显著降落,无效升高对云边带宽的要求,同时还能在网络中断场景下继续提供资源拜访能力,进而进一步为断网自治能力保驾护航。 同时,此计划还具备预热的能力。因为内容散发的流程是独立于数据生产流程的,所以能够在消费行为产生之前,提前将消费者须要应用的数据被动对送到业务单元,进而实现数据预热。 设施协同设施孪生EdgeX Foundry 是一款由社区提供反对的边缘物联网即插即用型、开放式软件平台。它具备高度灵便和可扩展性,能够大大降低利用与边缘设施,传感器等硬件互操作的复杂性。EdgeX Foundy 采纳分层和服务的设计,从下至上别离是设施服务,外围服务,反对服务,应用服务以及平安和治理两个辅助服务。EdgeX Foundry 的分层和服务为边缘设施/节点和云/企业应用之间提供了一个双向转换引擎。能够将传感器和节点数据按特定格局传输到利用,也能够将利用指令下发到边缘设施。 ...

March 28, 2023 · 1 min · jiezi

关于阿里云:统一观测丨使用-Prometheus-监控-SNMP我们该关注哪些指标

作者:智真 简略网络管理协定SNMP(Simple Network Management Protocol)用于网络设备的治理。网络设备品种多种多样、不同厂商提供的治理接口(如命令行接口)又不雷同,这使得网络管理变得愈发简单。为解决这一问题,SNMP应运而生。SNMP作为广泛应用于TCP/IP网络的规范网络管理协定,提供了对立的接口,从而实现了不同品种和厂商的网络设备之间的对立治理。通过SNMP数据的监测数据,用户能够及时关注到网络设备的状态和异样变动。 SNMP 简介随着网络技术飞速发展,网络设备数量成几何级数减少,使得网络管理员对设施的治理变得越来越艰难;同时,网络作为简单的分布式系统,其笼罩地区不断扩大,也使得对这些设施进行实时监控和故障排查变得极为艰难。网络设备品种多种多样,不同设施厂商提供的治理接口(如命令行接口)各不相同,这使得网络管理变得愈发简单。 为了应答这一场景,SNMP利用而生。作为广泛应用于TCP/IP网络的网络管理标准协议,SNMP反对网络管理系统,以监测连贯到网络上的设施是否有须要运维关注的状况。同时,SNMP采纳轮询机制,提供最根本的功能集,适宜小型、疾速、低价格的环境应用,而且SNMP以用户数据报协定(UDP)报文为承载,因此受到绝大多数设施的反对,同时保障治理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。 随着技术演进,SNMP协定相继衍生出三个版本:SNMPv1、SNMPv2c和SNMPv3。 SNMPv1作为SNMP协定的最后版本,提供最小限度的网络管理性能。SNMPv1基于个人名认证,安全性较差,且返回报文的错误码也较少。 SNMPv2c采纳个人名(community)认证,在SNMPv1版本的根底上引入了GetBulk和Inform操作,反对更多的规范错误码信息,反对更多的数据类型(Counter64、Counter32)。 SNMPv3在安全性方面进行加强,提供了基于USM(User Security Module)的认证加密和基于VACM(View-based Access Control Model)的访问控制。SNMPv3版本反对的操作和SNMPv2c版本反对的操作一样。 目前,v1版本应用较少,个别应用v2c版本,如果对平安认证有需要,能够应用v3版本。 SNMP零碎组成SNMP根本组件包含网络管理系统NMS(Network Management System)、代理过程(Agent)、被管对象(Managed Object)和治理信息库MIB(Management Information Base)。如图所示他们独特形成SNMP的治理模型,在SNMP的体系结构中都起着至关重要的作用。 NMSNetwork Management System,网络管理系统,个别是各种网管软件,能够向agent查问/批改各种信息,也能够承受agent的被动推送,在咱们的场景中,就是snmp exporter,仅对agent做信息查问。 Agent被治理设施上的一个代理过程,收集被治理设施的信息并汇报给NMS。 MIBManagement Information Base,是一个数据库,列出了被治理设施能够提供的各项数据,每项数据都对应一个惟一的OID。 Device设施,理论的网络设备,包含交换机、路由器、防火墙、UPS、AP、软路由等等,只有反对SNMP,都能够视为一个网络设备。 Managed Object被治理对象,一个设施蕴含至多一个被治理对象,可能是设施自身,也可能是某个硬件(一个网口),也可能是一些参数合集。 OIDObject ID,对象标识符,用于定位一个数据项。OID是一串数字,比方1.3.6.1.2.1.1示意system,数字是树形构造,左侧为根,右侧为叶,后面一截是由IANA调配的厂商标识符,前面就是各个厂商自定的,所以不同厂商设施的OID树差异很大。OID树结构参见下图。 MODULE因为SNMP能够监控的设施和厂商多种多样,所以SNMP exporter中划分了很多module,比方网络设备的if_mib,软路由的ddwrt,paloalto_fw防火墙等等,一共有十几种,最罕用的就是if_mib。 SNMP ExporterSNMP协定中用不同的OID辨别不同的状态数据,所以OID十分相似于Prometheus中的指标的概念,SNMP Exporter通过从Agent查问指定的OID数据,同时将数据映射到可读的指标上,实现SNMP数据到Prometheus指标的转换。SNMP Exporter就默认提供了十分丰盛的转换配置,大部分场景下用户无需额定配置即可将OID转换为可读的指标数据。 SNMP Metric 监控参考模型SNMP Metrics采集SNMP 能够帮忙运维人员以极为简略而无效的形式管理网络。首先,SNMP 帮忙运维人员收集网络上不同设施带宽使用量的信息。在进行故障排除的同时,更加疾速找出网络性能趋势或问题。SNMP采集到的数据都是来自设施提供,不同厂商的设施能够提供的数据不尽一致,SNMP Exporter尽可能多的提供兼容,默认配置中曾经蕴含了常见的各个厂商的OID映射,涵盖了市面上次要的厂家及其网络产品,可能满足绝大多数场景需要,详见Prometheus开源社区的相干文档。在以后版本中,咱们反对if_mibmodule的指标数据采集,更多module反对将依据需要状况陆续凋谢。 文档链接: https://github.com/prometheus/snmp_exporter/blob/main/snmp.ym 这里咱们常见的以思科16口交换机为例,次要指标包含: SNMP监控大盘咱们默认提供了SNMP Status和SNMP Interface Detail两个大盘,次要针对if_mib场景,监控网络流量等信息。 SNMP Status次要展现设施的总体状态,包含设施运行时长,以后的流入/流出流量、出入流量总计、各个端口的的实时流量信息、流量变化趋势等。 SNMP Interface Detail展现各个端口工作详情。包含端口状态、端口是否连贯、端口速率、MTU配置等,以及各种流量(单播/组播/多播等)的速率/包数量变动状况。 须要留神的是,SNMP Interface Detail大盘应用前,须要在Variable 中配置须要查看的DataSource。 ...

March 28, 2023 · 1 min · jiezi

关于阿里云:数禾科技-AI-模型服务-Serverless-容器化之旅

作者:周伟鹏、魏文哲、元毅“应用阿里云容器服务 Knative 和 ECI 虚构节点配合部署,在保障线上模型应答突发流量的稳定性大幅晋升的同时,又使资源利用效率取得了显著的进步,极大的节约了资源老本。”  -- 数禾科技 AI 实验室 AI 平台负责人 周伟鹏 “数禾 DevOps 平台 BetterCDS 集成了阿里云容器服务 Knative,反对模型服务的多版本运行和弹性伸缩,在升高运行老本的同时,也晋升了服务的可用性,极大中央便了运维人员和开发人员。”  -- 数禾科技基础架构研发部 工程效率组负责人 邓志 背景数禾科技以大数据和技术为驱动,为金融机构提供高效的智能批发金融解决方案,服务银行、信托、生产金融公司、保险、小贷公司等持牌金融机构,业务涵盖消费信贷、小微企业信贷、场景分期等多个畛域,提供营销获客、危险防控、经营治理等服务。数禾科技通过自主开发的消费信贷产品,连贯金融机构与普罗公众,赋能金融机构数字化转型,迎接中国生产降级的大潮。 遇到问题在风险管理业务中,依据公司的危险容忍度、危险偏好稳定以及阶段性业务指标须要针对公司客户进行危险属性的调整,这其中包含用户额度、定价、可借期限等相干因素。那么这不可避免的须要利用批量数据处理能力通过计算规定来对大量用户做调额、调价等,当然,模型作为风险管理的重要组成部分也必不可少的会被使用至批量解决的动作中来。因而对于模型的计算能力就提出了很高的要求,包含计算速度、计算结果准确性、计算数据实时性等。 而以后的困扰所在是撑持模型计算的底层利用资源无奈灵便且疾速的依据申请量来智能化调整机器资源反对运算能力,这也是以后业务疾速倒退过程中亟待解决的痛点。同时,随着模型在线推理服务数量的减少,数禾的模型服务也变得越来越宏大、臃肿,难以治理。这种情况不仅导致了资源节约,还减少了保护和降级的老本。 基于以上的各种状况,咱们开始寻求新的技术架构计划,心愿新计划能够具备随流量高效应用资源,升高模型服务老本,同时最好具备版本治理性能,能够实现多版本同时提供服务,较小响应的运维老本。 解决方案通过外部的沟通与调研,咱们最终抉择了基于 Knative 的 Serverless 服务计划,它具备依据申请的扩缩容能力、容许 pod 缩容到 0 的冷启动能力以及多版本的治理能力。与此同时,因为数禾自身的技术架构都是部署在阿里云的底层资源上,而阿里云 ACK 又对 Knative 做了组件集成,能够反对一键部署,极大的减小了咱们部署调试的工夫老本。 客户价值通过对外部模型部署的 pipeline 进行革新后,目前数禾的所有新增模型均已通过 ACK + Knative 形式部署在线上提供服务,得益于 Knative 的多版本治理能力,咱们疾速解决了模型的灰度公布和多版本并存的问题。同时加之基于申请的主动扩缩容能力,在多个版本并存的状况下,并没有对资源产生额定的耗费,而且对早晨的谷时资源持续了很好的节约。 下图是咱们一个模型服务的资源耗费与申请量的比照图,上图为 Pod 资源数量,下图为服务申请量。由下图比照能够看出,整个服务资源的应用状况于服务申请量放弃高度一致,应用效率十分高。 查看大图: https://img.alicdn.com/imgextra/i4/O1CN01uHrVr51sc2SJ76y4x_!!... 对于上文提到的批量作业工作,尽管咱们曾经具备了 Knative 的扩缩容能力,但仍然须要在底层筹备好足够的资源池来供模型进行扩容。然而在一天的大部分场景中这部分资源又是节约的,对于这个问题,咱们通过在 Knative 中应用 ECI 虚构节点来失去了很好的解决。 咱们对上线之后的模型服务进行了继续监控,比照应用之前的计划,模型服务在应答突发批量流量的稳定性取得大幅晋升,同时资源的应用效率也取得了显著进步,节约老本约 60%。 对于 Serverless家喻户晓,Serverless 是一种云原生的开发模型,客户只需构建和运行利用、而无需治理托管利用所在的服务器。在理论实现上,IT 架构里还是有服务器的,只是对从客户利用研发不可见了,服务器由云厂商托管和保护,用户只须要将代码打包成容器即可。随着云原生技术的演进,以利用为核心,资源按需应用的 Serverless 技术逐步成为支流。Gartner 预测,2025 年将有 50% 以上的寰球企业部署 Serverless。 ...

March 28, 2023 · 1 min · jiezi

关于阿里云:屡获殊荣丨Dubbo-开源-12-周年年度总结与规划

作者:Dubbo 社区 翻新不止,提高不息。Apache Dubbo 自开源以来,曾经陪伴了大家 12 年,目前生态我的项目领有 50k+ star,30k fork,1000+ Contributor。 2022 年,Dubbo3 在阿里巴巴外部胜利取代已运行多年的 HSF 框架,帮忙外围零碎全面降级到 Dubbo3,Dubbo3 核心技术如利用级服务发现、流量管控、自适应负载平衡等顺利撑持双十一、双十二万亿级服务调用场景。除电商之外,包含饿了么、支付宝、高德地图、菜鸟、阿里云等产品线也都胜利降级到了 Dubbo3 版本。 Apache Dubbo 社区在 2022 持续失去国内外用户和开源组织认可,取得最具影响力开源我的项目等多项荣誉。2023 年,是从新扬帆起航的一年,接下来,咱们会在多语言、服务治理、轻量级 RPC、可视化监测、API 治理等多个方面持续降级,继续晋升产品竞争力与用户体验。

March 28, 2023 · 1 min · jiezi

关于阿里云:ACK-Net-Exporter-与-sysAK-出击一次深水区的网络疑难问题排查经历

作者:谢石、碎牙不久前的一个周五的早晨,某客户A用户体验晋升群正处在一片平静中,忽然,一条简短的音讯呈现,突破了这种祥和: “咱们在ACK上创立的集群,网络常常有几百毫秒的提早。" 偶发,提早,几百毫秒。这三个关键字迅速集中了咱们缓和的神经,来活儿了, 说时迟,那时快,咱们马上就进入到了客户的问题攻坚群。 问题的排查过程惯例伎俩初露锋芒客户通过钉钉群反馈之前曾经进行了根本的排查,具体的景象如下: 不同的容器之间进行rpc调用时呈现提早,大部份申请在较快,客户的测试方法中,30min能够呈现几十次超过100ms的提早。提早的散布最大有2s,vpc方面曾经进行了抓包剖析,看到了距离200ms~400ms的重传报文与出事报文在比拟靠近的工夫里呈现在node中。30min内呈现几十次的频率,的确是比拟离谱的,从客户提供的信息中,咱们发现了一个十分相熟的景象: 失常发送的报文和重传的报文收回的工夫相差400ms,他们在NC物理机/MOC卡上相差400ms,然而简直同时在ecs节点中被抓包捕捉到。 这样的景象已经呈现过,比拟常见的起因就是,ecs节点解决网络数据包的中断下半部动作慢了,依照教训通常是100ms到500ms之间,如下图所示: 在第一个NC抓包机会的时候,第一个失常的数据包达到了,并且进入了ecs。ecs的中断下半部处理程序ksoftirqd并没有及时实现解决,因为某些起因在期待。等待时间超过了客户端的RTO,导致客户端开始发动重传,此时重传的报文也到了第一个NC抓包机会。失常报文和重传的报文都达到了ecs外部,此时ksoftirqd恢复正常并开始收包。失常报文和重传报文同时达到tcpdump的第二次抓包机会,因而呈现了上述的景象。 呈现了这种景象,咱们的第一反馈就是,必定是有什么起因导致了节点上存在软中断工作过程的调度异样。随后咱们分割客户进行复现,同时开始察看节点的CPU耗费状况(因为客户的操作系统并不是alinux,所以只可能移植net-exporter中断调度提早检测工具net_softirq进行捕获),在客户复现的简直同时,咱们察看到了景象: 局部CPU存在极高的sys占用率,显示占用CPU较高的过程居然是:kubelet。存在比拟显著的软中断调度提早,毫无疑问,也是kubelet造成的。到这里,问题就变成了,为什么kubelet会占用这个高的sys状态的CPU。 sys上下文的CPU调用,通常是因为零碎调用操作时,内核进行操作产生的。通过对kubelet过程进行pprof的profiling采集,咱们验证了这一点,kubelet肯定是在大量进行syscall,从而让内核不停的为他打工,进而烦扰了ksofirqd的调度。 为了进一步定位首恶,咱们应用opensnoop进行了一段时间的捕获,查看kubelet的文件关上行为,在短短的10s中,kubelet进行了10w次以上的文件关上操作,捞了一部分kubelet尝试关上的文件,后果发现他们的格局大略是相似于这样的格局: /sys/fs/cgroup/cpuset/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-podd9639dfe_2f78_40f1_a508_af09ca0c6c90.slice/docker-bcc4b36adcd83ce909541dbcf8d16828275e94ba13eafeae77ed24543ca82aad.scope/uid_0/pid_673/cpuset.cpus 看这个门路,很显著是一个cgroupfs的文件,作为容器技术的基石,cgroup子系统的文件记录着容器运行状态的要害信息,kubelet去去读cgroup信息看起来十分正当,只是10s内进行10w次的读取操作,怎么看也不是一个正当的行为,咱们比照了kubelet的版本,发现客户尽管操作系统是非凡的,然而kubelet却是很寻常,没有什么特地,而后咱们比照了失常的集群中的cgroup,发现失常集群中的文件数量要远远小于客户有问题的集群: # 客户集群的文件数量[root@localhost ~]# find /sys/fs/cgroup/cpu/ -name "*" | wc -l182055# 失常的集群的文件数量[root@localhost ~]# find /sys/fs/cgroup/cpu/ -name "*" | wc -l3163那么文件到底多在哪里呢? 咱们开始比照客户的cgroup子系统与失常集群之间的差别,果然,客户集群的cgroup子系统中的文件颇有玄机,比照如下: # 客户集群的文件/sys/fs/cgroup/cpuset/kubepods.slice/kubepods-burstable.slice/kubepods-burstable-podd9639dfe_2f78_40f1_a508_af09ca0c6c90.slice/docker-bcc4b36adcd83ce909541dbcf8d16828275e94ba13eafeae77ed24543ca82aad.scope/uid_0/pid_673/cpuset.cpus# 失常集群对应门路[root@localhost ~]# ls -l /sys/fs/cgroup/systemd/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-pod2315540d_43ae_46b2_a251_7eabe02f4456.slice/docker-261e8046e4333881a530bfd441f1776f6d7eef4a71e35cd26c7cf7b992b61155.scope/总用量 0-rw-r--r-- 1 root root 0 2月 27 19:57 cgroup.clone_children-rw-r--r-- 1 root root 0 2月 27 13:34 cgroup.procs-rw-r--r-- 1 root root 0 2月 27 19:57 notify_on_release-rw-r--r-- 1 root root 0 2月 27 19:57 pool_size-rw-r--r-- 1 root root 0 2月 27 19:57 tasks很显著,客户的cgroup子系统中,比咱们失常的ACK集群要多了两层,而uid/pid这样的格局,很显著是用于做用户和过程的辨别,应该是客户无意为之,随后咱们和客户进行了沟通,然而不巧的是,客户对这些门路的前因后果也不分明,然而提供了一个很要害的信息,客户运行的容器是androd容器。尽管没有真正接触过android容器,然而很容易联想到,android对多个用户和多个Activity进行资源上的隔离,于是为了证实这些多进去的cgroup文件是因为android容器创立,咱们通过eBPF进行了简略的捕获,果然,能看到容器内的过程在进行cgroupfs的操作! ...

March 28, 2023 · 2 min · jiezi

关于阿里云:CNStack-虚拟化服务实现虚拟机和容器资源的共池管理

作者:林苍背景容器无疑曾经成为新的云计算基础设施,企业公有云平台的建设重心,正在从虚拟化的计算、存储、网络的建设,转向构建以容器、微服务等为外围的云原生平台。不过值得注意的是,企业 IT 零碎在进行容器化革新的过程中,因为历史遗留零碎、技术债权、内核依赖等起因,基于虚拟机的利用在将来仍然会宽泛存在。企业的 IT 基础设施正在从繁多的虚拟化架构逐渐走向虚拟机+容器的混合架构,Gartner 预测到 2026 年将会有 75% 的私有化环境须要混合部署虚拟机和容器负载。 CNStack 虚拟化服务(cnstack-virtualization)基于以 CNCF KubeVirt 为代表的云原生虚拟化技术,用一套管制立体同时治理容器和虚拟机,实现容器与虚拟机的资源共池治理、灵便调配、对立调度。企业可将难以容器化的虚拟机利用无缝迁徙到 CNStack 平台上,逐渐实现 IT 零碎的云原生化。 CNStack 虚拟化云服务在 CNStack 2.0 中,虚拟化服务以独立云服务的状态进行部署,即能复用 CNStack 平台与多集群服务提供的多租资源管理、对立网关、集群治理、多集群资源散发等根底能力,又能不失灵活性地独立演进与公布。 CNStack 虚拟化服务在以后版本提供了如下能力,并会逐渐在后续版本上线更多能力(如虚拟机灾备、虚拟机热迁徙、虚拟机迁徙工具等): 残缺的虚拟机生命周期治理能力:反对开关机、重启、暂停、快照等操作。虚拟机自运维能力<!----> 在浏览器通过 VNC、串口带外治理协定运维虚拟机。快照与复原:通过快照保留虚拟机磁盘在某一时刻的状态,数据失落或异样时可疾速复原。监控与告警:提供虚拟机 CPU、内存、磁盘 I/O、网络吞吐等要害运行指标的监控与告警。<!----> 治理虚拟机镜像<!----> 上传镜像,并依照租户管制资源的可见范畴。基于快照制作虚拟机镜像。<!----> ARM 多架构、IPv6、虚拟机固定 IP、边缘虚拟机自治、虚拟机快照克隆等个性虚拟机利用治理:CNStack 利用治理服务提供了对虚拟机利用的纳管性能,反对对虚拟机内利用的一站式托管以及服务治理、能力凋谢、利用监控、利用告警和利用防护等能力。整体架构简介 cnstack-virt-console基于阿里云自研的 ALFA 微前端计划,cnstack-virt-console 以微前端利用的模式被 CNStack Console 前端页面插件化集成。即能够保障终端用户在交互体验上的统一,也可满足虚拟化服务前端利用自在演进、独立部署散发的灵活性。 cnstack-virt-api提供虚拟化云服务的管控 API,将 VirtualMachine、DataVolume、VMImage 等自定义资源的读写操作以 RESTful 接口的模式进行封装。与其余的管控 API 一样,由 CNStack IAM Gateway 组件对立提供用户认证、鉴权、API 审计等根底能力,向集群外提供服务。值得一提的是,cnstack-virt-api 基于 CNStack 多集群服务的 cluster-gateway 组件,实现了跨集群的资源散发。 KubeVirtCNCF KubeVirt 拓展了治理运行虚拟机的 CRD,使得虚拟机资源可被视为 Kubernetes 集群的“一等公民”。KubeVirt 基于容器来治理运行 QEMU 虚拟机,提供了不同于容器的虚拟机生命周期治理接口,通过与规范的 CNI 容器网络插件和 CSI 容器存储插件对接,使得虚拟机可复用 Kubernetes 集群内的网络与存储资源。在 KubeVirt 社区版本的根底上,咱们还为其拓展反对了 IPv6、GuestOS 监控、虚拟机固定IP、边缘虚拟机自治、虚拟机快照克隆等个性。 ...

March 28, 2023 · 3 min · jiezi

关于阿里云:云原生架构容器微服务优秀案例集惊喜来袭

作者:坤仑、瑜佳云原生架构特地是容器与微服务技术畛域曾经成为下一代技术演进的必经之路,同时也是各行各业快捷上云、高效用云最合适的架构抉择。云原生利用平台团队精心编选了 37 个案例集结成书,为您具体解读相干客户如何基于阿里云云原生产品家族轻松实现云原生架构转型。您感兴趣的全都有! ▷▶︎涵盖 7 大行业 互联网、汽车/制作、批发/电商等 ▷▶︎囊括 37 家企业 vivo、小鹏汽车、斯凯奇、申通物流等 ▷▶︎以容器微服务为核心 笼罩 ACK、MSE、ACR、ASK、ACK One、ASM、可观测等 10+ 产品 基于云原生技术构建业务体系最佳实际总结,助力客户轻松实现云原生架构转型。期待《云原生架构容器&微服务优良案例集》可能成为助力您业务腾飞的百宝书! 关注公众号,后盾回复 “容器与微服务” 即可收费下载案例集 内容板块Part 1:云原生利用平台产品家族概览 Part 2:7 大行业,37 家企业的云原生革新之路 Part 3:业界认可&资质 精彩领先看 期待越来越多的开发者及企业和阿里云一起实现云原生美妙蓝图,助力产业蓬勃发展!

March 28, 2023 · 1 min · jiezi

关于阿里云:Dubbo-ZooKeeper丨如何解决线上故障排查链路长的难题

作者:子葵背景ZooKeeper 作为通用的元数据存储组件,用处宽泛,是 Dubbo 最早反对的注册核心之一,通过长时间的磨合,目前 Dubbo 和 ZooKeeper 的组合具备很好的稳定性和扩展性。 ZooKeeper 作为 Dubbo 注册核心时,因为开源 ZooKeeper 没有提供服务注册的逻辑模型,因而对 Dubbo 服务的治理老本比拟高,存在问题排查链路长等一系列治理问题。针对这些问题,MSE ZooKeeper 最新提供 Dubbo 服务治理能力,同时联合 TopN 监控大盘,推送轨迹等自治能力,帮忙用户进步问题排查速度,集群运维效率。 服务治理通过实例详情页中的数据管理中的服务治理来查看 ZooKeeper 中注册的服务,以及服务的提供者,订阅者信息。服务详情页展现对应的服务名以及服务类型,目前只反对 Dubbo,将来还会反对更多的服务注册类型,单击服务名进入服务详情页面。 服务详情页面展现了,服务的元信息,蕴含服务的版本,分组,利用名等信息,反对多个分组,版本展现。服务提供者信息通过更加正当的表格结构化展现,并且能够实时看到实例的高低线,权重,超时工夫等信息,可能更加清晰的把握利用的配置信息。 如果您想对 Dubbo 服务进行精细化的治理,能够将您的 Dubbo 服务接入 MSE 微服务治理。在接入服务治理的状况下,您能够通过点击接口详情按钮来跳转到微服务治理对应的页面,查看您的 Dubbo 服务的具体数据信息,蕴含服务的 QPS、延时、成功率、并发等信息。 如果您的 Dubbo 利用遇到了一些线上问题,须要在保留现场的场景下进行问题定位。您能够在跳转后的微服务治理对应的界面中找到节点详情菜单。抉择呈现问题的实例,通过右侧的服务下线按钮进行下线操作。这样就能够将出问题实例的流量摘除掉,在既保留现场又不影响业务的状况下进行问题定位。 联合 MSE 服务治理能力,可能轻松实现服务的无损伤高低线,灰度公布,使得公布过程中更加平滑,危险升高。同时联合推送轨迹性能不便查问服务提供者的高低线记录,可能帮助排查注册不上,反复注册,服务下线然而注册核心中数据未删除,频繁变更等场景。 同时通过查问订阅者的推送轨迹咱们直观看到每次服务高低线被推送的客户端状况。 同时 MSE ZooKeeper 加强了稳定性,对于异样的注册场景,Server 提供防护能力,避免因为业务侧异样导致服务宕机。 例如,某用户因为代码缺点导致 Dubbo Service Refrence 透露,ZooKeeper 中存在大量泄露的 Reference 创立的长期节点,并且因为 ZooKeeper 同步机制中的限度(可参考ZooKeeper 避坑指南,jute.maxbuffer 的设置文章),导致服务宕机,MSE ZooKeeper 针对这种极其状况做了 Server 侧的自我爱护,在 Reference 透露的状况下会限度业务注册的无用的数据,保障 Server 的稳定性。 ...

March 28, 2023 · 1 min · jiezi

关于阿里云:记录丨阿里云校招生的成长经历

为了帮忙大家更好地理解阿里云云原生利用平台团队同学的成长门路,咱们采访了6位各个工夫点退出阿里云的学长学姐们,心愿他们的经验能够帮忙到大家。 经验分享@钰诚丨2022年退出阿里云,校招 大家好,我叫钰诚,目前刚来到阿里云两周,心愿跟大家分享一下职业抉择的一些心路历程以及集体在这两周的所见所得。 为什么要抉择云计算?已经听一位老师对云计算的将来这样形容,“兴许计算资源在将来会变得像水电一样成为一种根底资源”,这一愿景对我的心田造成了很大的触动。于行业而言,云计算具备广大的市场前景,背靠大树好纳凉;于集体而言,云计算开发做的内容属于基础架构领域,对于集体的技术成长更加有帮忙,扎实的根底可能让咱们走的更远。 为什么要抉择阿里云?与BAT中的另外两家相比,在云计算畛域阿里云毫无疑问具备更强的实力。 在新人造就方面,阿里会给每一位新人调配一位师兄,师者,传道授业解惑,兄者,陪伴成长爱护,阿里的师兄会在各方面帮忙新人疾速适应新环境,就集体体验而言,阿里在新人造就方面要更胜一筹。 此外,在生存方面,阿里杭州这边园区很大,食堂滋味不错,吃完饭能够在园区遛弯,跑步机资源比拟短缺, 早晨能够去跑跑步,能够早睡早起,周末能够去西湖玩耍、爬山等,个人感觉生存比拟衰弱。 @洵沐丨2022年退出阿里云,实习转正 大家好,我叫洵沐。我于22年加入了阿里云的暑期实习,并最初转正留用。学生时代就听过了许多阿里巴巴中间件的传说,兜兜转转最初本人也退出了这个团队,于我既是缘分,也是侥幸。从刚来时的不知所措,到起初本人也能参加方案设计与开发,最初见证本人写的代码和文档在阿里云上线,让我十分有成就感。这个过程中有迷茫,有挫折,不变的是师兄、主管和其余所有敌对共事的自私帮忙。 背靠阿里云这座国内顶尖的云计算大山,这里有充斥挑战的工作,有平滑的成长门路,有能力顶尖的共事。这里不设边界,只有你敢想敢做,就可能引领下一个技术潮流。 @屿山丨2021 年退出阿里云,实习转正 我是22年毕业退出的阿里,21年5月份开始我在阿里云实习了4个月,这期间有帮忙我相熟我的项目的小需要,也有须要我独立设计与实现的模块。4个月的实习经验很空虚也很有播种。也正是这段欢快的实习经验让我在秋招时没有什么犹豫就抉择了阿里。22年正式入职之后,主管和师兄也会思考你的集体倒退和技术成长来安顿工作,有挑战但更多的是成长。总的来说阿里云是个足够大的平台,可能将集体的价值放大,也同时是个足够凋谢的平台,激励翻新与独立,但也永远不缺帮忙。 @察溯丨2021 年退出阿里云,实习转正大家好,我叫察溯。2021年我还是个研二的学生,那时候春节刚过完,就连忙去投简历、找暑期实习了。过后面过了2家公司:字节跳动,阿里巴巴。过后出于对字节跳动年轻化的神往,就决然去字节实习了。实习了一段时间,内容偏差业务,很饱和,每天都加班到9点钟后,感觉本人也成长了很多。然而在大略5月份,我接到阿里云的师兄的一个电话,聊了一番之后,让我心田热血磅礴,感觉到阿里云去做基础设施,才是将一个技术人的价值施展到最大。 我的学校在北京,来的是杭州阿里云,整体感触还是不错的。首先工位地位很大,公司绿植覆盖率也是很高的,空气很好,食堂滋味也不错,有健身房,劳动期间能够健健身。主管视线很广、素养很高,会被动找每个人聊,帮忙我一起布局成长方向,并帮我向上要了很多资源。当然每个人到了生疏环境都会不知所措。但在这里,每个人都会被一个师兄贴心照料,尤其是在技术上,师兄帮我评审了很多技术计划,纠正了很多技术细节,对我的成长帮忙很大。在实习期间,团队里每个人都会热心解答我的问题,让我能一直冲破本人的瓶颈。最初,大家还在7月末,一起去里面团建,游历了大好河山,还建设了深厚的情谊。 之前我对“阿里味儿”无所不知,直到融入团队后,才发现阿里味儿是有情有义、独特冲破、一起成长的人际关系。最初,还是心愿师弟、师妹来到阿里云,一起“以科技,创将来”。 @风敬丨2021 年退出阿里云,实习转正 退出阿里云之前,我在学校做一些云原生相干的钻研和实际,过后Follow过很多阿里云的论文和前沿工作。畛域内的研究者应该比较清楚,阿里云每年都会在计算机系统顶级会议发表很多论文,在学术界和工业界都有很大的影响力。 所以我对阿里云始终有很深的滤镜,认为阿里云的技术在国内是独一档的领先地位。前面也十分侥幸能如愿退出阿里云,从22年校招实习转正到当初正式入职8个月了。进来之后我对阿里云的技术滤镜不仅没有破碎,倒是更加深了。这里有最好的技术气氛,大家都在做很有价值的、开创性的工作。 你不会感觉本人作为一个校招新人,一进来只能做一些简略反复、可有可无的工作,在这里你会遇到很多时机和挑战,来帮忙你疾速成长。本人有一些独特的想法也能够大胆提出来,在这里,翻新是被激励的。可能在业界顶级团队开启本人的职业生涯第一站,于我而言是十分侥幸且骄傲的。所以我也始终很举荐在学校的学弟学妹们校招的时候可能退出咱们团队,学姐曾经帮你们试过岗了,又好又稳,速来! @十眠丨2019年退出阿里云,校招 我是19年毕业校招进入阿里云的。如果要回顾在阿里云的这些日子,一些片段的印象倒是十分粗浅。 2019年3月我分明的记得来这边实习第一周就碰上了第一次团建,咱们去居然是去宝石山捡垃圾,的确给我印象十分粗浅。 2019 年 9月我也还记得我第一次独立开发上线的产品化的性能是 XXX 那个性能,到了跟前端联调的时候才发现接口咋搞都有问题,起初跟着师兄从新梳理发现是数据库表设计的不合理,然而第二天就是联调的最初一天,马上就要上线了,连着三天熬到中午重写整套代码。也感激师兄陪着一起搞,第一次上线算是十分的有惊无险。 2020 年8月我做的性能第一次博得了业务方的认可。这个性能刚开始的时候的确是挺难的,因为我也并不是确定我是不是真的能够解决业务方的问题,业务方也在我答应下来后,前前后后配合我革新了一个多月。也很非常感谢业务方同学的激励与反对,我还记得那天下午公布的成果并不好,我拉着老板、师兄还有业务方的同学一起看日志定位问题,起初创新性地提出了一种计划,很侥幸的是,那一次就是黎明前的深夜,前面一次公布成果十分好,也博得了业务方同学的认可。 2023年1月上周咱们团队还进来吃了一顿,也庆贺迭代顺利的进行。才发现转瞬就快第三个年头了。在阿里这边不仅仅是技术的成长,更多的是思考问题的角度、处事的形式的成熟,在这边会面临很大的压力,所以须要咱们一直调整好心态来一直迎接新的挑战,在这边做事没有边界,成长更没有。 如果问阿里给我最大的播种是什么? 给你很大的平台,天高任鸟飞,基本上做的活都是创新性的摸索一个刚入职没满一年的同学,就曾经能够cover住一整块外围业务的大部分逻辑开发,主管会让你 owner 一块货色,而后你尽可能在这块货色外面翻新冲破,能够让你的设计与思考,你写的代码,落地到云上、团体内上千甚至上万实例节点上。这么想想,对于一个coder来说是如许幸福的一件事件。 广告工夫如果你是一个学生,正在找一份实习工作,我十分举荐你退出咱们。 在这里,有世界一流的中间件产品和场景,有世界领先的企业互联网架构平台,服务上万家阿里云的企业,反对世界最大的电商交易业务场景。在这里,你会参加到畛域内优良的开源我的项目(如 Apache Dubbo、Apache RocketMQ、Higress、Nacos、OpenSergo、Seata、Sentinel)和阿里云外围商业化产品(微服务引擎 MSE、企业级分布式应用服务 EDAS、音讯队列 MQ)研发工作中,一起拓展技术的边界,既能将技术利用于阿里巴巴的自有业务场景,还能服务全世界的企业和开发者用户。在这里,你会参加到中间件、微服务、Service Mesh、Serverless 等最前沿的技术研发与摸索中来;你也会与寰球顶级的开源我的项目创始人等组成的明星团队一起工作。云原生中间件这个方向十分技术范,对您的成长将会有很大的帮忙。在这里,没有边界,成长有限。 咱们在杭州、北京、深圳都有HC,欢送投递~ 邮箱:water.lyl@alibaba-inc.com 微信号:lylolyl 您也能够通过以下形式投递简历

March 28, 2023 · 1 min · jiezi

关于阿里云:OpenYurt-v12-新版本深度解读三五步搭建一个OpenYurt集群

作者:苏杭、敬易OpenYurt 作为业界首个无侵入云原生边缘计算平台近期迎来了 v1.2.0 版本的公布,在 Kubernetes 无侵入、云边端全协同、跨网络域通信等个性上继续发力,深刻打造 OpenYurt + Kubernetes 实现海量边缘计算业务的继续交付与高效运维治理能力。 背景Kubernetes 作为云原生最根底的我的项目,目前曾经取得开发者与企业的宽泛认可并激发低落的参加激情,OpenYurt 进一步将云原生体系技术扩大到边缘场景,其自身的复杂性以及边缘场景的多样性以致大多数开发者难以在短时间内应用并且参加到 OpenYurt 我的项目中来。其中对于 OpenYurt 的装置部署成为横在云原生从业者、社区参与者以及对边缘云原生感兴趣的开发者背后的一道难关。 在 OpenYurt v1.2.0 版本中进一步优化了 OpenYurt 装置过程,不再对原生 Kubernetes 的配置有任何批改,基于 Kubernetes+OpenYurt 实现云原生体系的边缘计算平台,将边缘设施与算力以云原生的形式对立治理。 OpenYurt 装置部署优化在最新公布的 v1.2.0 版本中,OpenYurt 的装置与部署流程做了大量的优化,如图所示,将原流程的十个步骤缩减为五个步骤,在最新的版本中无需对原生 Kubernetes 组件做任何配置上的调整。 新的装置部署步骤如下: 初始化一个 Kubernetes 集群,并且装置 Flannel 插件以及 CoreDNS;2. 给云端节点打标签,与边缘节点做辨别(云端节点个别部署核心管控、可观测组件) ;部署 OpenYurt 管控组件,Yurt-Controller-Manager 组件负责自治节点上 Pod 的生命周期治理以及边缘侧组件的证书审批,Yurt-App-Manager 组件为跨地区资源及业务管理器,以节点池(一组节点)为单位履行单元化治理。部署跨网络域通信组件 Raven,Raven 通过在云边构建 VPN 隧道实现跨网络域的通信,其中 Raven-Controller-Manager 负责网关节点的治理,Raven-Agent 负责构建 VPN 以及治理路由。接入边缘节点,举荐应用最新的 Yurtadm 一键接入边缘节点,将主动部署边缘自治组件 Yurt-Hub。 部署的具体操作步骤,能够参考 OpenYurt 官网社区网站的装置指南。 装置指南:https://openyurt.io/zh/docs/installation/manually-setup/受害于 OpenYurt 装置部署优化的 Prometheus 实际鉴于在 v1.2 版本 Raven 组件性能的进一步欠缺,Prometheus 以及 MetricsServer 等观测与监控的部署流程将与在原生 Kubernetes 集群上的装置部署流程保持一致,不再依赖 Yurt-Tunnel 和 CoreDNS 的非凡配置。 然而相比于原生 Kubernetes 在数据传输的形式产生有肯定的区别。如图所示,云端到网关(Gateway)或独自的边缘节点的监控指标数据将通过 Raven 构建的 VPN 隧道进行通信,对一般节点的监控指标数据将被转发到网关节点上通过 VPN 隧道道传输到云端的观测与监控组件。 ...

March 28, 2023 · 1 min · jiezi

关于阿里云:阿里云可观测-2023-年-2-月产品月报

March 23, 2023 · 0 min · jiezi

关于阿里云:定位任意时刻性能问题持续性能分析实践解析

作者:义泊01 继续性能分析简介更好的利用性能,能够提供更好的用户体验,能够升高企业IT老本,能够让零碎更稳固和牢靠。在利用性能分析技术呈现以前,开发人员排查问题只能依赖各种日志和监控,这须要提前在利用代码中埋点,岂但对利用代码侵入性较大且可能因为埋点不全而无奈提供足够信息,诊断问题十分费时,很多时候无奈找出起因。 随着利用性能分析技术呈现,开发人员能够很不便的找出应用程序性能瓶颈(如CPU利用率高、内存占用低等),从而进行优化。但因为晚期利用性能分析技术开销较大,只能在开发环境而不能在生产长时间开启,生产环境出问题时很可能没有被记录下来,开发人员在开发环境模拟和复现问题很艰难,导致解决问题的效率很低,也很有可能无奈解决。 近些年来,性能分析技术继续倒退,性能越来越丰盛,开销也显著改善,达到生产环境继续开启水准,不过离宽泛遍及还存在诸多阻碍。性能分析个别过程有三步:生产环境抓取、保留性能分析文件、性能分析文件可视化。当利用体量较大时,这3个步骤每步都存在着难度,须要解决大量计算、存储、产品设计等多方面问题。 ARMS Continuous Profiler [ 1] 应运而生,由阿里云ARMS(利用实时监控服务 [ 2] )团队和Dragonwell [ 3] 团队联结研发。它基于以后最成熟的性能分析技术,将整个性能分析过程产品化,适宜在生成环境继续开启。与惯例性能分析相比,ARMS Continuous Profiler减少工夫维度,外围性能如下: 定位任意时刻的性能问题(比方CPU占用高、内存占用高)反对两个时段的性能比照,找出利用演进过程中的性能差别观测利用的调用栈,以便更好的扫视和了解代码设计02 ARMS 继续性能剖析性能演示咱们举例来说明如何用ARMS继续性能剖析来解决问题。 常见场景一:CPU 热点解析问题景象以某图书馆的服务利用举例,其Java过程占用大量CPU,接口响应工夫达到了十多秒,利用性能很差。 找出热点办法因为以后利用CPU占用很高,因而咱们间接在性能剖析类型中抉择CPU Time菜单门路:ARMS控制台 -> 利用首页 -> 利用诊断 -> CPU&内存诊断  从火焰图咱们能够看到,java.util.LinedList.node(int)办法占用了85%的CPU,对应的业务代码办法是DemoController.countAllBookPages(List),联合代码,能够发现,这个办法对于对象很多的汇合性能很差,因为要从头或者从尾部一一遍历。 修复问题定位到起因后,咱们能够通过两个解决方案进行修复。第一个办法是将LinkedList批改为下标拜访形式更高效的ArrayList 第二个办法是将LinkedList的遍历算法从一般for循环批改为加强的for循环 性能验证将修复后的代码重新部署,以雷同压力别离压测两种计划,能够看到接口响应工夫显著降落,Java过程CPU利用率显著降落。 常见场景二:内存申请热点问题景象以某图书馆的服务利用举例,其Java过程占用大量CPU,接口响应工夫达到十多秒,利用性能很差。 找出热点办法因为以后利用CPU占用很高,咱们间接在性能剖析类型中抉择:CPU Time菜单门路:ARMS控制台 -> 利用首页 -> 利用诊断 -> CPU&内存诊断  从CPU热点办法,咱们发现Java过程89%的工夫都在做GC,阐明利用存在很大的内存压力。咱们下一步抉择内存热点分析。 从上图的内存申请热点火焰图,咱们能够找到过来一段时间所有内存申请中,DemoController.queryAllBooks办法占了99%,进一步查看,能够发现业务代码创立了2万个大对象并保留到了List。 注:这个办法原本应该从数据库中读取2万本书,这里进行了简化,但成果雷同,都是在堆中创立了一个占用大量内存的List 修复问题这个接口原本想实现的是按分页查问书籍列表,但因为实现谬误,误将所有书籍都查出来了而后最终只返回了指定分页的局部,所以能够间接从数据库中用分页的形式查问,这样就能够防止大量的Java内存占用。 性能验证将修复后的代码重新部署,以前雷同压力进行压测,能够看到接口响应工夫显著降落,Java过程CPU利用率显著降落。 03 03 ARMS 继续性能剖析的设计和实现1、产品设计产品整体分为3个局部,第一个局部负责在利用端收集性能分析数据,第二个局部用于传输和存储分析后果文件,第三局部用于查问和展现。 ...

March 23, 2023 · 1 min · jiezi

关于阿里云:让业务容器化更安全便捷阿里云容器镜像服务-ACR-推出免费制品中心

作者:容器镜像服务团队随同着企业 IT 数字化转型演变的过程,越来越多的企业采纳云原生化架构降级的形式,改善利用开发运维迭代的效率,减速企业业务翻新;改良资源弹性治理和迁徙的效率,帮忙企业降本增效。 将业务进行容器化革新并打包成容器镜像是云原生化实际的第一步,为了使企业开发者更简便地打造云原生利用交付流程,2023 年 1 月,阿里云容器镜像服务 ACR 正式推出“云原生制品核心”, 为容器开发者收费提供了来源于阿里云官网、龙蜥社区的平安可信容器根底镜像。 企业容器镜像常见危险很多企业会依附来自公开平台的容器根底镜像来打包,这存在以下的问题: 平安危险肆意:以寰球最大规模的公共容器镜像平台 Docker Hub 为例,据文献 [ 1] 剖析其中 2500 个镜像后发现,高达 82% 被认证的容器镜像至多蕴含 1 个高危破绽,不含破绽的容器镜像仅占比 17.8%。攻击者可能利用组件中存在的破绽,注入恶意代码或管制第三方机器环境,执行从加密货币挖矿、发送垃圾邮件、到通过大型僵尸网络发动 DDoS 攻打。 无奈便捷获取:以 Docker 公司的政策束缚 [ 2] ,2020 年 11 月 01 日起将逐渐向 Docker Hub 匿名和收费用户施行速率和拉取申请次数限度。国内的客户因为网络和性能限度,无奈便捷高效、大规模拉取对应的容器根底镜像,甚至导致 K8s 上节点卡住其余业务镜像运行。 短少保护及优化:大多公共容器镜像平台都短少对镜像上软件包的继续保护更新、问题修复、新性能反对等。并且容器镜像都是面向通用的应用环境,短少对各类业务场景的性能优化,无奈让客户更高效利用底层基础设施的能力。 阿里云 ACR 云原生制品核心为了解决以上的问题,阿里云容器镜像服务(ACR)推出了云原生制品核心,为容器开发者收费提供了来源于阿里云官网、龙蜥社区的平安可信容器根底镜像。蕴含利用容器化根底 OS 镜像、根底语言镜像、AI/大数据相干镜像类别,笼罩 ARM、ARM 64、x64、x86-64 多种零碎架构,让您业务容器化过程更加便捷高效、更加平安可信。 内容平安可信 容器镜像均以 Anolis OS(Anolis OS由龙蜥开源社区公布的龙蜥操作系统,兼容 RHEL/CentOS  Linux的社区发行版)、Alibaba Cloud Linux(Alibaba Cloud Linux 简称 Alinux,是由阿里云操作系统团队以 Anolis OS 为根底构建的阿里云操作系统发行版)为根底镜像。在下层软件包起源上,阿里云操作系统团队及龙蜥社区会定期对镜像中软件包进行定期 CVE 修复,从软件供应链的源头保障容器业务的平安。 ...

March 23, 2023 · 1 min · jiezi

关于阿里云:开源项目的演进会遇到哪些坑KubeVela-从发起到晋级-CNCF-孵化的全程回顾

作者:孙健波、曾庆国2023 年 2 月,KubeVela [ 1]  通过整体 ToC 投票胜利进入 CNCF Incubation,是云原生畛域首个升级孵化的面向利用的交付和治理平台。KubeVela 背地的核心理念是 2019 年阿里云和微软联结公布的凋谢利用模型(OAM),演变至今,KubeVela 通过其可编程可扩大的架构、良好的用户体验,以及大量的生态外围能力,帮忙了钉钉、招商银行、现实汽车、挪动云、百度等数百家企业构建其云原生利用平台,大大降低了云原生技术的应用门槛。 KubeVela 自身也有别于“大厂开源”的惯性模式,它从第一天起就遵循“社区发动、凋谢治理、国际化运作”的准则,核心理念之一就是“始终以业界的最宽泛和最实在场景作为我的项目演进的指南针”,所以倒退门路中始终在聆听社区的声音,以最广泛、最共性的需要为最高优先级。因而,咱们也有幸经验了一个我的项目从社区发动到用户群体壮大的全过程。从技术迭代、欠缺性能,到社区经营、开源治理,再到打磨产品、建设生态,咱们克服了诸多困难,这或者是开源我的项目都会遇到的挑战。 明天,咱们将做一个残缺的回顾,梳理我的项目演进过程中的那些“坑”,心愿对整个开源生态的倒退有所帮忙。 我的项目发动:明确指标和定位一个开源我的项目的发动,其最外围的是明确我的项目的指标和定位。 OAM/KubeVela 诞生之初的 2018-2019 年,过后咱们判断:随着云原生技术逐步对立基础设施和工作负载层面的形象,如何进一步简化和标准化利用交付与治理层面的操作和性能,会成为接下来一个十分天然的演变方向,也会成为市场的下一个焦点。这外面咱们次要思考了四个方面: 受众大多数开发者,也就是最终业务利用的开发者,他们日常关怀的是利用开发和部署,而不是计算存储网络,这意味着应用层的大幅简化和标准化肯定会成为强需要。 定位和空间Kubernetes 十分明确的要把它的抽象层次停留在基础设施层,这为应用层的进一步翻新和工作提供了足够的空间和撑持。 行业格局在 Kubernetes 逐步成为事实标准的背景下,大多数技术(比方 OpenShift)仍然在做局限的封装,而原生的工具(如 helm、kustomize)又过于简略。这样既不满足云上用户碎片化、多样化的应用诉求,也无奈打造用户敌对的应用体验。 技术储备CRD Operator, Terraform 等 IaC 技术的逐渐遍及提供了一个疾速交付可编程、模块化的利用治理形象,而基于 Kubernetes,一个独立的利用治理和交付零碎能够十分专一于该层自身,而无需关注基础设施层的问题。 基于以上趋势的判断,阿里开始在 2019 年逐渐布局利用交付与治理畛域,提出了一系列先导性摸索和实际,包含 Helm/Kustomzie 利用治理、多集群利用交付 [ 2] 等。最终确定将“让软件交付在当今风行的混合、多云环境中变得更加简略、高效、牢靠”作为咱们的外围指标和愿景,将“一个与基础设施无关的、用户敌对但又灵便可扩大的利用交付形象”作为咱们的外围交付物,这个利用交付形象就是明天的 OAM spec,而随后呈现的 KubeVela 则是这一层形象的具体实现。 图 1:KubeVela 是什么? 明确的指标和定位不仅撑持了 KubeVela 开源团队以及大量社区贡献者能够在绝对涣散的模式下长期合作,还帮忙团队从大量芜杂的需要中解放出来,专一在最外围的问题域中。 比方 KubeVela 不会涉及工作负载自身,用户能够抉择集成 Kubernetes 原生的 Deployment,或者本人扩大 CRD Operator,又或者抉择 OpenKruise 这样的工作负载管理工具。同时团队专一于我的项目的集成能力和扩展性,比方咱们投入了足够的精力去做 Kubernetes API 的编排,任意的 Kubernetes 资源都能够在 KubeVela 体系中组合、拆分、查看状态、传递参数,这一个性使得 KubeVela 晚期疾速的打出了本人的市场定位,并且取得了像第四范式这样的晚期用户。 ...

March 23, 2023 · 2 min · jiezi

关于阿里云:云原生月报丨值得开发者关注的最新动态

云原生是企业数字翻新的最短门路。 《阿里云云原生每月动静》,从趋势热点、产品新性能、服务客户、开源与开发者动静等方面,为企业提供数字化的门路与指南。 本栏目每月更新。 01 趋势热点 Serverless 利用引擎 SAE 国内站正式开服Serverless 利用引擎 SAE 国内站于 2 月 23 日正式开服,首批上线日本和新加坡 Region,性能个性和国内放弃同步。SAE 是一个全托管、免运维、高弹性的通用 PaaS 平台,反对 Spring Boot、Spring Cloud、Dubbo、HSF、Web 利用和 XXL-JOB、ElasticJob 工作的全托管,零革新迁徙、无门槛容器化,并提供了开源侧诸多加强能力和企业级高级个性。 阿里云与 Kubecost 单干,容器服务 ACK 反对应用 Kubecost 进行老本治理阿里云与 Kubecost 开展单干,将继续推动 Kubecost 对阿里云的集成,欠缺 Kubecost 在阿里云 FinOps 方面的能力。目前 Kubecost 曾经反对了对阿里云 ACK 集群的老本治理。在 Kubecost 最新的 beta 版本中,阿里云 ACK 用户能够依据指南装置 Kubecost,在 Kubecost UI 中查看 Pod 摊派的老本,优化资源配置。Kubecost 可能提供 ACK 集群中各种资源的老本调配,包含集群、命名空间、利用等,便于用户对各团队、利用老本的摊派。用户还能够基于这些信息在 Kubecost 中设置估算和警报,帮忙运维和财务管理人员进一步实现老本治理。 Apache RocketMQ 开源社区入选科创中国开源翻新榜Apache RocketMQ 社区入选科创中国开源翻新榜开源社区榜单,十分荣幸成为中国科创的 “翻新力量”。社区将再接再厉,踊跃输入优质技术内容、保持产品翻新、为开发者发明价值和便当,和整体社区成员一起继续促成 Apache RocketMQ 我的项目和社区的倒退。 ...

March 23, 2023 · 2 min · jiezi

关于阿里云:阿里云微服务引擎-MSE-2023-年

March 22, 2023 · 0 min · jiezi

关于阿里云:KubeVela-为-CNCF-孵化器带来软件交付控制平面能力

CNCF TOC(Technical Oversight Committee,技术监督委员会)曾经投票承受 KubeVela 作为 CNCF 的孵化我的项目。 KubeVela [ 1] 是一个利用交付引擎,也是基于 Kubernetes 的扩大插件,它能够让你的利用交付在当今风行的混合、多云环境中变得更加简略、高效、牢靠。KubeVela 能够通过基于工作流的利用交付模型来编排、部署和操作工作负载和云资源。KubeVela 的利用交付形象由 OAM [ 2] (Open Application Model,凋谢利用模型)提供反对。 KubeVela 我的项目的前身是 oam-kubernetes-runtime [ 3] 我的项目,它由来自八家不同组织的开发者一起在社区发动 [ 4] ,包含阿里云、微软、Upbound 等。它于 2020 年 11 月公布正式对外开源,2021 年 4 月公布了 v1.0,2021 年 6 月退出 CNCF 成为沙箱我的项目。该我的项目目前的贡献者来自世界各地,有超过 260 多名贡献者 [5 ] ,包含招商银行、滴滴、京东、极狐 GitLab、SHEIN 等。 “KubeVela 创始了一条跨多云/多集群环境交付应用程序的路线,具备对立且可扩大的形象。”CNCF TOC Sponsor 张磊示意:“这项翻新开启了下一代软件交付体验,填补了现有社区生态利用交付的‘最初一公里’,该实际专一于更简略的‘部署’而不是简单‘编排’。咱们很快乐在 CNCF 社区中能涌现出更多以利用为核心的工具/平台,并期待看到 KubeVela 的采纳在疾速倒退的利用交付生态系统中倒退到一个新的程度。” KubeVela 目前已被多家公司所驳回,被用于大部分的公共云以及外部部署的生产中。大多数用户采纳 KubeVela 作为他们的外部“PaaS ”,作为 CI/CD 流水线的一部分,或者作为一个可扩大的 DevOps 内核来构建他们本人的 IDP。公开采纳者 [ 6] 包含阿里巴巴,应用 KubeVela 作为外围,进行跨混合环境交付和治理利用;字节跳动,应用 KubeVela 和 Crossplane 提供进阶的游戏 PaaS 能力;招商银行,利用 KubeVela 搭建混合云利用平台,对立从搭建、公布、运行的全流程;以及其余更多行业的公司。 ...

March 22, 2023 · 2 min · jiezi

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

March 22, 2023 · 0 min · jiezi

关于阿里云:ACK-One-GitOps-最佳实践

作者:庄宇、流生ACK One 是阿里云面向混合云、多集群、分布式计算等场景推出的分布式云容器平台,可能对立治理阿里云上、边缘、部署在客户数据中心以及其余云上的 Kubernetes 集群,并简化集群治理界面。通过 ACK One 多集群治理,能够关联并治理各种状态的 Kubernetes 集群,提供对立的集群管制面,实现多集群对立的利用散发,流量治理,运维治理,平安治理,GitOps 能力。本文介绍如何应用 ACK One GitOps 能力在多集群公布利用,以及版本治理,自动更新,权限管制,CI 流水线集成等,帮忙您疾速上手 GitOps。 GitOps 概述 利用散发 GitOps 的外围是应用 Git 仓库来治理利用的部署模版,将利用继续部署到指定 Kubernetes 集群中,并以 Git 仓库作为利用部署的惟一起源,一直调整 Kubernetes 集群上利用状态,最终与 Git 仓库中的期待状态统一。 GitOps 的劣势: 简略易学Git 易于被承受开发者承受,易于集成,无额定学习老本。 可靠性强Git 仓库作为利用部署的惟一起源,提供版本控制,疾速回滚和审计能力。 安全性高开发者应用 GitOps 不须要任何 Kubernetes 集群权限,只须要 Git 仓库权限。 利用继续部署Kubernetes 集群和 Git 仓库中的利用状态主动同步,保持一致。 CNCF 在对2023 Cloud Native 的预测中指出 Gitops 曾经成熟并进入生产力稳定期,CNCF Gitops 开源我的项目 Argo 曾经在 2022 年 12 月正式成为 CNCF 毕业我的项目 [ 1] ,标记着 Argo 我的项目的稳定性和成熟度,以及越来越多的用户应用 Argo 我的项目实现 GitOps 利用散发。 ...

March 22, 2023 · 5 min · jiezi

关于阿里云:Kruise-Rollout-v030教你玩转-Deployment-分批发布和流量灰度

作者:明昼前言Kruise Rollout 是 OpenKruise 社区开源提出的一个渐进式交付框架。其设计理念是提供一组可能将流量公布与实例灰度相结合,反对金丝雀、蓝绿、A/B Testing等多样化公布模式,以及反对基于 Prometheus Metrics 等自定义 Metrics 实现公布过程自动化,无感对接、易扩大的旁路式规范 Kubernetes 公布组件。 https://github.com/openkruise/rollouts在最新公布的 Kruise Rollout 0.3.0 版本中,咱们为大家带来了几个十分乏味的新个性:一是针对 Kubernetes 社区利用最为宽泛的 Deployment 工作负载的公布能力进行了重磅加强;二是对流量灰度能力进行了进一步扩大;三是反对以插入 Lua 脚本的形式来反对更多网关协定的扩大: Deployment 分批公布:Deployment 可能像 StatefulSet 或 CloneSet 一样具备分批公布 Pod 的能力。基于 Header&Cookie 南北向流量灰度:容许用户在公布时对七层流量依照 Header&Cookie 匹配规定进行划分,并将不同流量群体导入不同版本实例,以便对新个性进行 A/B Testing 或进行更细粒度的流量调度。基于 Lua 脚本的 Ingress 流量扩大:容许用户以配置 Lua 脚本的形式,为更多类型的流量组件制订 Kruise Rollout 插件,反对更多类型的 Ingress 扩大协定。概念阐明在介绍新个性之前,让咱们先一起梳理一下目前 Kubernetes 工作负载支流的公布模式: 滚动降级:原生 Deployment 自带的支流公布模式,流式滚动降级,无奈设置卡点。<!----> 劣势:公布效率高;劣势:爆炸半径大,容易呈现大规模公布故障。<!----> 金丝雀公布:Flagger 和 Kruise Rollout 等组件都反对的一种针对 Deployment 的公布模式,在公布时会创立一个金丝雀版本的 Deployment 进行验证,当验证通过后,再进行全量的工作负载降级,并删除金丝雀版本的 Deployment。<!----> 劣势:回滚无需重建或从新公布 Pod,所以回滚十分疾速和不便;劣势:公布时须要额定的资源耗费,并且须要反复公布新版本 Pod,公布时不能齐全兼容 HPA。 ...

March 22, 2023 · 4 min · jiezi

关于阿里云:阿里云EMAS2月产品动态

一、内容摘要上线EMAS定制版套餐,适宜有多种挪动研发工具诉求的中型企业Windvane小程序容器新增列表搜寻性能云构建公布新的android镜像java-11-base,适应gradle 7.0+挪动测试上线一键重跑性能,反对失败的用例一键重跑挪动推送反对Flutter插件,开源更易用 二、产品动静 三、技术交换欢送退出EMAS开发者钉钉技术交换群群号:35248489

March 22, 2023 · 1 min · jiezi

关于阿里云:日志服务SLS-助力-Hago积极开辟社交泛娱乐出海征程

2022年人均挪动设施应用时长近5小时,其中社交类利用占据了约70%。随着市场需求与用户规模的持续增长,社交泛娱乐产业成为新蓝海,越来越多的翻新场景利用应运而生:社交+直播,社交+Avatar,社交+游戏...通过模式丰盛的社交类利用,人们所取得的不再仅限于娱乐消遣,还有逾越时空的连贯、归属感与满足感。 随着国内市场的日趋成熟与饱和,为了能取得更大的市场,局部娱乐行业公司抉择了出海这条路,其业务也由区域化逐步向全球化转变。 因而,本来以“跟着产品走”的方针,须要转变为“就地取材”的策略。针对不同地区的市场,须要鉴参考当地用户特点,在内容和推广素材上做出差异化。 基于对泛娱乐行业的敏锐把握与对出海市场的不懈摸索,欢聚团体于2018年在海内上线寰球多人群组互动社交产品HAGO。推出互动游戏、多人语音、视频直播和频道等多种社交玩法。并围绕元宇宙概念及3D虚构形象互动社交,为用户提供更加丰盛多元化的线上互动感触,继续高效地满足年轻人在线多人互动的需要。 作为国内最早一批进入互娱行业的公司,也是近年来互娱行业出海的先行者之一。HAGO正在以用户以需要为原点,以市场为半径,踊跃开拓社交泛娱乐出海征程。相较于饱和的国内市场, 海内市场的时机绝对更多,但时机与挑战往往是并行的。在出海的过程中他们遇到了以下几个难题: 1.海内用户规模更大,业务增长速度更快,自建平台无奈满足需要:在HAGO业务暴涨期间,自建的日志零碎、Trace零碎在海量数据下存在有余。2.产品出海后,业务散布在寰球多个国家与区域,针对大量不同类型的异构数据,须要买通数据采集的上下游,解决数据对立采集、接入汇总、存储等问题。3.每个国家与区域的用户应用状况不一样,业务对资源的使用量受当地事件的影响。因而须要十分便当的扩缩容服务,以应答不同地区与时间段波峰与波谷的需要。 针对HAGO出海过程中遇到的问题,阿里云为其提供了云原生可观测运维解决方案。该计划基于SLS 云原生可观测平台实现,以大数据源为撑持,兼容开源规范,可实现多场景适配 AI算法,进行大规模数据处理剖析。是阿里云针对企业级大数据运维场景推出的解决方案,帮忙企业在日常运维工作中轻松实现异样检测、根因剖析、秒级响应以及实时预测。 在数据采集层面,阿里云日志服务SLS为欢聚团体提供了实时数据采集能力。帮忙欢聚团体能时刻感知用户体验状况,对客户端的异样数据进行监管告警,及时发现解体率变动,帮忙欢聚团体以最快的速度定位问题点,实现最快的故障排查与故障修复,进步了APP的用户体验。 在数据处理层面,依靠于日志服务SLS平台,阿里云为欢聚团体提供了免运维、高性能的日志数据存储、查问和建模服务。可反对PB级数据实时查问与剖析,提供10多种查问运算符、10多种机器学习函数、100多个SQL函数。 同时日志服务SLS反对通过统计图表的形式对查问和剖析后果进行可视化展现,缩小HAGO在数据整体解决链路上耗费的精力。 日志服务的高性能、高可靠性、易用性,使HAGO能在业务疾速倒退阶段疾速构建对立运维剖析平台,进步了用户体验。通过SLS对立采集所有业务零碎的日志到一个平台中,整合了现有的监控和trace零碎,提前对系统潜在危险进行报警,在一个平台剖析和排查故障,极大的进步了运维人员排查问题的效率。 原文链接 本文为阿里云原创内容,未经容许不得转载。

March 22, 2023 · 1 min · jiezi

关于阿里云:阿里云Elasticsearch让搜索上云像使用水电一样简单

在刚完结的2023年阿里云 X Elastic中国用户峰会上,阿里云Elasticsearch发表全面Serverless化,依附6年来继续的产品体验翻新,和云原生底座技术升级,向用户提供更简略、更稳固、更弹性的搜寻云服务。 让搜寻上云像应用“水电”一样简略阿里云Elasticsearch为用户提供了一套云原生的运管平台,反对弹性伸缩、智能巡检等,帮忙用户轻松应答日常治理运维。基于云原生的读写拆散、存算拆散架构,集群写入性能可晋升60%,索引存储大小升高40%以上,查问性能晋升至多30%。企查查作为搜寻上云的代表性企业,利用阿里云Elasticsearch的QoS限流插件,对集群外部进行限流,同时优化索引查问性能,通过父子查问、内嵌查问等形式,集群性能晋升了3~10倍。 阿里云Elasticsearch全面Serverless化,IaaS层资源利用效率大幅晋升。让用户真正按需取用,像应用水电一样简略便当。对于流量稳定的业务场景,可能无效防止高峰期资源有余,低峰期资源闲置的景象。对集体开发者用户,或学校教学、学生试验等场景,也能达到开箱即用的成果。 作为阿里云Elasticsearch的合作伙伴,观测将来的创始人兼CEO蒋烁淼提到,为了构建业务的全面可观测性,他们在搭建观测云可观测平台时消耗了很多精力,阿里云Elasticsearch为其夯实了存储数据的根底,稳固牢靠、老本可控、剖析能力弱小、运维成本低,用户每个Elasticsearch利用资源能追随业务负载、流量和数据量大小动静伸缩,真正做到降本增效。 云上单干共赢,共建凋谢生态之路阿里云与Elastic单干迈入第六个年头之际,阿里巴巴团体副总裁、阿里巴巴开源技术委员会负责人贾扬清,Elastic创始人兼CTO Shay Banon独特带来寄语。贾扬清示意阿里云与Elastic的单干是凋谢生态思维的最佳实际,阿里云云原生重构了开源凋谢技术的应用形式,能够让用户更疾速、更低成本、更高效的取得服务。Shay Banon示意,Elastic致力于让中国用户在阿里云上便捷地应用搜寻、可观测等多种解决方案。至今,与阿里云一起已累计服务数千家中国用户,涵盖高科技、游戏、教育、汽车、制作、游览、文化等多个行业。 阿里巴巴团体副总裁、阿里巴巴开源技术委员会负责人贾扬清 Elastic创始人兼CTO Shay Banon

March 16, 2023 · 1 min · jiezi

关于阿里云:开源大数据可观测性方案实践-助力集群运维智能化便捷化

前言在过来的20年工夫,大数据技术蓬勃发展,从最开始大公司外部的秘密武器,到当初宽泛作用于简直所有行业。通过应用大数据技术剖析存量和实时的数据,可能更加全面清晰地洞察商业的实质。在商业节奏日益放慢和倒退越来越迅猛的明天,越来越多的企业意识到大数据分析的价值,并投入了大量的工夫人力等资源。与此同时,从晚期的简略报表,到搜广推(搜寻广告举荐)的个性化需要,再到最近异样火爆的人机智能交互技术 ChatGPT,大数据利用对算力的要求呈指数级增长。如何以更低的老本、更加稳固地提供更高的算力,成为大数据行业须要摸索和解决的外围问题。 另一方面,为了满足企业一直增长的大数据处理需要,从晚期的 Hadoop、Hive,到 Spark、Presto、Flink,再到近几年火爆的数据湖、OLAP,涌现出了多种多样的大数据技术。尽管很多大数据技术都是开源的,能够通过网络获取到一些技术指南、最佳实际等,然而仍旧不足从集群整体维度和数据处理全链路来剖析和晋升大数据栈“效力”的无效办法。 可观测性最早起源于应用服务,旨在随时理解整个利用栈中产生的状况。通过在网络、基础设施和应用程序中收集、关联、聚合和剖析数据,以便深刻理解零碎的行为、性能和运行状况。可观测性能够用“观测-判断-优化-再观测”这一闭环来简略解释。可观测性是晋升利用效率的根底和要害,但在大数据集群方面始终不足实际,这次要是由前述大数据技术的多样性和复杂性导致的。在本篇文章中,咱们将介绍大数据集群畛域所需的可观测性,实际大数据集群可观测所须要的条件和面临的挑战,以及阿里云EMR 产品如何通过 EMR Doctor 实现大数据可观测并向用户提供相干能力。 大数据可观测性介绍当咱们提及大数据的时候,脑中会浮现出各种技术,从 Kafka 到 HDFS、OSS,再到 YARN 和目前倒退更好的 Kubernetes,还有下层的各种计算引擎如 Spark,Flink 和 Tez 等,甚至是深度学习和 OLAP 等业务相干技术。 只管大数据技术纷繁复杂,咱们能够把大数据各种技术自顶向下分为如下几层:计算引擎,资源调度层,存储等几个维度。由这些互相独立又相互关联的子系统一起构建了整体的大数据系统,为企业的大数据平台提供基础设施。大数据的可观测性指的就是通过指标采集,元数据采集等技术获取到上述各个系统的洞察数据,而不是简略的指标列举。 大数据可观测的后果可能为企业带来如下价值: 通过资源剖析与倡议,辅助用户一直的优化,带来更正当的资源利用和更衰弱的集群应用通过问题提醒和异样揭示,加重开发与运维人员的工作量,为企业大数据开发带来更高的效率通过及时的规定剖析、根因剖析等,疾速的定位大数据集群问题,缩小集群因为故障带来的复原工夫 大数据可观测性场景剖析尽快后面提到,大数据可观测性能够为咱们带来诸多益处,但现实情况是,很少有企业可能在大数据畛域做好可观测性,甚至大部分企业还没有涉足这一畛域。咱们简略地剖析一下大数据可观测性的应用场景。 咱们先看一下企业中应用大数据利用的一个根本形成,通常企业中应用大数据的人群能够被分为如下几类: 数据分析师,数据科学家以及数据工程师,能够被统称为集群用户。数据团队,包含运维团队等能够被统称为集群管理员。CIO/CTO/CEO 等能够被统称为管理层。将集群中的角色细分后,咱们其实能够看到,这三种不同的角色对大数据集群需要是不一样的,上面别离介绍一下这三种角色对于可观测性的不同要求。 大数据可观测性的用户画像集群用户的需要集群用户间接应用集群,提交各种工作到集群中,并产出数据,是为企业获取间接价值的群体。集群用户提交的工作多种多样,从批处理的 Hive on MR, SparkSQL 到流式的 Flink 工作以及 Ad-hoc 的 Presto 工作等。集群用户通过这些计算框架等间接构建下层的利用,如用户大盘,营销热点等。 对于集群用户来说,最关怀的是工作的运行状况以及优化办法,集群用户常见的需要如下: 是否将我的工作更快的实现?工作失败了,到底是什么导致的?我的工作明天跑不进去,然而之前都能跑,是什么导致的?明天的日报比昨天晚出了2个小时,是哪个流程造成的?集群管理员的需要集群管理员负责保护大数据集群的稳定性,蕴含大数据集群软件设施,甚至包含底层的 IaaS 资源的稳固运行。在企业中尽管集群管理员不间接产出具体产品,然而通过对集群的稳定性晋升以及整体的效率晋升,会间接的晋升整个集群的应用效率,从而晋升企业的竞争力。 对于集群管理员来说,他须要理解集群整体的运行状态,集群潜在的危险以及对于危险可能找到对应的负责方进行解决。集群管理员常见的需要如下: HDFS中产生了大量的小文件,是否找到对应的应用方进行清理?昨天集群中占用最多计算资源的应用方是哪些,这些是否正当,可能进行多大程度的优化?哪些工作运行了最长的工夫,占用最多的资源?集群当初感觉有问题,到底是什么起因导致的?是因为工作导致的,还是 HDFS 呈现瓶颈?管理层的需要管理层不太关注大数据应用的具体技术,更关注大数据可能给企业带来的价值以及整体的投资回报比,对于老本也有着较强的需要,包含资源优化,老本摊派等。常见的管理层的需要如下: 现有的集群在扩容前是否曾经运行在较高的水位,是否还有优化空间?集群从哪个方面可能进行资源优化,优化的成果如何?当初集群的破费中,不同业务的占比如何,是否与产出成正比?剖析完三种角色对于大数据可观测性的不同需要,咱们能够总结出,不同的角色对于大数据可观测性都有十分强的需要。然而现阶段,大数据可观测并不是大数据集群的标配,无奈满足各个角色的需要。而造成这一景象的起因因为首先大数据软件栈太过繁冗,可能全副理解各个框架的人才比比皆是,而这些常识是大数据可观测性的一个前提条件。另一个起因是老本思考,构建一整套大数据可观测零碎须要多种技术,较长的链路以及简单的技术,这对于个别的企业来说累赘较重且很难量化产出。 大数据可观测性技术初探大数据可观测性倒退历程在实际大数据可观测的过程中,须要经验四个阶段,每一个阶段的都是下一个阶段的必要组成,并为用户提供越来越多的业务价值。 第一阶段,次要依据各个大数据组件提供的接口采集各个组建的 metrics 信息等,在这一阶段须要有大数据平台教训的人才来对这些 metrics 进行剖析,可能失去根底的组件衰弱状态、组件压力状态等信息,在呈现问题的时候须要剖析历史的 metrics 信息进行推断,失去潜在可能的问题。第二阶段,除了采集各个组件的根底 metrics 外,还对集群中的工作,cpu 资源,调度的队列信息等进行全面的采集,除了采集外,还须要对这些信息进行关联,获取到呈现问题的根本原因。在这一阶段,除了采集更多的信息外,更重要的是对采集的信息进行关联,失去问题的实质起因。第三阶段,在第二阶段的根底上,依据规定等把相应的解决计划反馈给用户,用户依据提醒进行自运维操作,甚至倒退到更高级的阶段,在底层的自愈零碎可能自动化的对问题进行解决,缩小股长工夫。第四阶段,基于后面个阶段的积攒,依据多种问题产生的法则总结,或者基于规定,或者基于炽热的 AI 技术,可能在故障解决之前可能及时预警,及早的排除隐患,将故障毁灭在产生前。从这四个阶段阐明来看,每一个阶段都是在前一个阶段实现的根底上再进行数据在加工,产生更高质量的服务,当然了,随着要求的晋升,技术难度和广度也更加简单。 大数据可观测性的技术要求后面提到大数据可观测性在整体技术上要求很高,普通用户对于构建这一流程存在难度,这里认真探讨一下这方面的起因。 首先在实际大数据可观测性的过程中,须要对多种组件、引擎、调度零碎都要理解。比方对于 Hive on Tez 须要理解 Tez 的状态机转换,在不同的阶段须要获取不同的 metrics 和 events;对于 Spark 须要理解各个 stage 阶段采集不同的数据;对于 HDFS 须要理解元数据 Image 解析流程;对于 ResourceManager 须要理解不同的队列在各个优先级不同的状况下的调度策略。 ...

March 13, 2023 · 1 min · jiezi

关于阿里云:Dubbo-在-Proxyless-Mesh-模式下的探索与改进

01 背景随着 Docker 和 Kubernetes 的呈现,一个宏大的单体利用能够被拆分成多个独立部署的微服务,并被打包运行于对应的容器中。不同利用之间互相通信,以共同完成某一功能模块。微服务架构与容器化部署带来的益处是不言而喻的,它升高了服务间的耦合性,利于开发和保护,能更无效地利用计算资源。当然,微服务架构也存在相应的毛病: 强依赖于SDK,业务模块与治理模块耦合较为重大。除了相干依赖,往往还须要在业务代码中嵌入SDK代码或配置。对立治理难。每次框架降级都须要批改 SDK 版本,并从新进行回归测试,确认性能失常后再对每一台机器重新部署上线。不同服务援用的 SDK 版本不对立、能力参差不齐,增大了对立治理的难度。短少一套对立解决方案。目前市场不存在一整套功能完善、无死角的微服务治理与解决方案。在理论生产环境往往还须要引入多个治理组件来实现像灰度公布、故障注入等性能。为解决这些痛点,Service Mesh诞生了。以经典的side car模式为例,它通过在业务 Pod 中注入 Sidecar 容器,对代理流量施行治理和管控,将框架的治理能力上层到 side car 容器中,与业务零碎解耦,从而轻松实现多语言、多协定的对立流量管控、监控等需要。通过剥离 SDK 能力并拆解为独立过程,从而解决了强依赖于 SDK 的问题,从而使开发人员能够更加专一于业务自身,实现了根底框架能力的下沉,如下图所示(源自dubbo官网): 经典的 Sidecar Mesh 部署架构有很多劣势,如缩小 SDK 耦合、业务侵入小等,但减少了一层代理,也带来了一些额定的问题,比方: SideCar 代理会损耗一部分性能,当网络结构层级比较复杂时尤其显著,对性能要求很高的业务造成了肯定的困扰。架构更加简单,对运维人员要求高。对部署环境有肯定的要求,须要其能反对SideCar代理的运行。为解决这些痛点,Proxyless Service Mesh 模式诞生了。传统服务网格通过代理的形式拦挡所有的业务网络流量,代理须要感知到管制立体下发的配置资源,从而依照要求管制网络流量的走向。以istio为例,Proxyless 模式是指利用间接与负责管制立体的istiod过程通信,istiod过程通过监听并获取k8s的资源,例如Service、Endpoint等,并将这些资源对立通过 xds 协定下发到不同的rpc框架,由rpc框架进行申请转发,从而实现服务发现和服务治理等能力。 Dubbo社区是国内最早开始对Proxyless Service Mesh模式进行摸索的社区,这是因为相比于 Service Mesh,Proxyless模式落地老本较低,对于中小企业来说是一个较好的抉择。Dubbo 在3.1 版本中通过对xds协定进行解析,新增了对 Proxyless 的反对。Xds是一类发现服务的总称,利用通过xds api能够动静获取Listener(监听器),Route(路由), Cluster(集群), Endpoint(集群成员)以及Secret(证书)配置。 通过 Proxyless 模式,Dubbo 与 Control Plane间接建设通信,进而实现管制面对流量管控、服务治理、可观测性、平安等的对立管控,从而躲避 Sidecar 模式带来的性能损耗与部署架构复杂性。 02 Dubbo Xds 推送机制详解@startuml' ========调整款式=============' 单个状态定义示例:state 未提交 #70CFF5 ##Black' hide footbox 可敞开时序图上面局部的模块' autoactivate on 是否主动激活skinparam sequence {ArrowColor blackLifeLineBorderColor blackLifeLineBackgroundColor #70CFF5ParticipantBorderColor #blackParticipantBackgroundColor #70CFF5}' ========定义流程=============activate ControlPlaneactivate DubboRegistryautonumber 1ControlPlane <-> DubboRegistry : config pull and pushactivate XdsServiceDiscoveryFactoryactivate XdsServiceDiscoveryactivate PilotExchanger DubboRegistry -> XdsServiceDiscoveryFactory : requestXdsServiceDiscoveryFactory --> DubboRegistry: get registry configurationXdsServiceDiscoveryFactory -> XdsChannel: 返回列表信息(若数据没有导入实现,则不可见)XdsServiceDiscoveryFactory-> XdsServiceDiscovery: init Xds service discoveryXdsServiceDiscovery-> PilotExchanger: init PilotExchangeralt PilotExchanger PilotExchanger -> XdsChannel: 初始化XdsChannel XdsChannel --> PilotExchanger: return PilotExchanger -> PilotExchanger: get cert pair PilotExchanger -> PilotExchanger: int ldsProtocol PilotExchanger -> PilotExchanger: int rdsProtocol PilotExchanger -> PilotExchanger: int edsProtocolendalt PilotExchanger XdsServiceDiscovery --> XdsServiceDiscovery: 解析Xds协定 XdsServiceDiscovery --> XdsServiceDiscovery: 依据Eds初始化节点信息 XdsServiceDiscovery --> XdsServiceDiscovery: 将Rds、Cds的的负载平衡和路由规定写入结点的运行信息中 XdsServiceDiscovery --> XdsServiceDiscovery: 回传给服务自省框架,构建invokerenddeactivate ControlPlanedeactivate XdsServiceDiscoverydeactivate XdsServiceDiscoveryFactory@enduml ...

March 8, 2023 · 2 min · jiezi

关于阿里云:那些年我们写过的无效单元测试

作者:陈昌毅(常意) 前言那些年,为了学分,咱们学会了面向过程编程; 那些年,为了待业,咱们学会了面向对象编程; 那些年,为了生存,咱们学会了面向工资编程; 那些年,为了升职加薪,咱们学会了面向领导编程; 那些年,为了实现指标,咱们学会了面向指标编程; …… 那些年,咱们学会了搪塞地编程; 那些年,咱们编程只是为了搪塞。当初,要响应进步代码品质的号召,须要晋升单元测试的代码覆盖率。当然,咱们要努力提高单元测试的代码覆盖率。至于单元测试用例的有效性,咱们大抵是不必关怀的,因为咱们只是面向指标编程。 我已经浏览过一个Java服务项目,单元测试的代码覆盖率十分高,然而通篇没有一个依赖办法验证(Mockito.verify)、满纸仅存几个数据对象断言(Assert.assertNotNull)。我说,这些都是有效的单元测试用例,基本起不到测试代码BUG和回归验证代码的作用。起初,在一个月黑风高的夜里,一个新增的办法调用,引起了一场血雨腥风。 编写单元测试用例的目标,并不是为了谋求单元测试代码覆盖率,而是为了利用单元测试验证回归代码——试图找出代码中潜藏着的BUG。所以,咱们应该具备工匠精力、怀着一颗敬畏心,编写出无效的单元测试用例。在这篇文章里,作者通过日常的单元测试实际,系统地总结出一套防止编写有效单元测试用例的办法和准则。 单元测试简介1.1. 单元测试概念在维基百科中是这样形容的: 在计算机编程中,单元测试又称为模块测试,是针对程序模块来进行正确性测验的测试工作。程序单元是利用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是办法,包含基类、抽象类、或者派生类中的办法。1.2. 单元测试案例首先,通过一个简略的服务代码案例,让咱们认识一下集成测试和单元测试。 1.2.1. 服务代码案例这里,以用户服务(UserService)的分页查问用户(queryUser)为例阐明。 @Servicepublic class UserService { /** 定义依赖对象 */ /** 用户DAO */ @Autowired private UserDAO userDAO; /** * 查问用户 * * @param companyId 公司标识 * @param startIndex 开始序号 * @param pageSize 分页大小 * @return 用户分页数据 */ public PageDataVO<UserVO> queryUser(Long companyId, Long startIndex, Integer pageSize) { // 查问用户数据 // 查问用户数据: 总共数量 Long totalSize = userDAO.countByCompany(companyId); // 查问接口数据: 数据列表 List<UserVO> dataList = null; if (NumberHelper.isPositive(totalSize)) { dataList = userDAO.queryByCompany(companyId, startIndex, pageSize); } // 返回分页数据 return new PageDataVO<>(totalSize, dataList); }}1.2.2. 集成测试用例很多人认为,但凡用到JUnit测试框架的测试用例都是单元测试用例,于是就写出了上面的集成测试用例。 ...

March 8, 2023 · 8 min · jiezi

关于阿里云:直播预约|Search-for-Future阿里云-×-Elastic-中国用户峰会-2023

Search for Future,阿里云 × Elastic 中国用户峰会 2023 ,3月16日10点,线上见! 发布会官网:https://developer.aliyun.com/topic/escon 搜寻,是连贯人与信息的桥梁。在云原生时代,搜寻技术曾经成为各行各业的必备利器,为企业提供了弱小的数据分析和智能利用的能力。作为云服务和搜寻技术的领跑者,阿里云在2017年与 Elastic 牵手单干,旨在满足中国用户对于企业信息检索与剖析,云端共享与数f据更新的及时性等需要。 现在,阿里云与 Elastic 携手单干已逾五载,独特构建了一条云生态下的开源共生之路。在云原生趋势下,Elasticsearch 在中国蓬勃发展,从实例化到 Serverless 化应用形式的转变,从结构化到非结构化信息搜寻类型的跃进,为搜寻技术畛域的利用削减了有限的开放性与创造性。 阿里云 × Elastic 中国用户峰会 2023,将于3月16日在线上举办。此次大会邀请国内外泛滥搜寻畛域的一线技术专家和行业首领,分享他们基于 Elasticsearch 的实践经验,从解决方案、最佳实际、用户案例以及技术前瞻性等多个维度现身说法,为企业奉献后疫情时代如何应用云上搜寻实现降本增效的神机妙算。无论您是 Elasticsearch 的初学者还是精通者,无论您是应用阿里云Elasticsearch服务还是自建 Elasticsearch 集群,无论您从事哪个行业,您都能够在本次峰会中理解前沿技术,获取实战经验,扩宽网络视线。 Search for Future,让咱们一起探讨搜寻畛域将来技术和产业利用的发展趋势,独特创始将来! 点击【 阿里云 × Elastic 中国用户峰会2023】立刻预约 峰会议程

March 8, 2023 · 1 min · jiezi

关于阿里云:开放下载丨云原生架构容器微服务优秀案例集

云原生架构,特地是容器与微服务技术畛域已成为下一代技术演进的必经之路,同时也是各行各业快捷上云、高效用云最合适的架构抉择。 本案例集是相干客户通过阿里云云原生产品构建生产业务体系的教训分享及最佳实际总结,为您构建生产可用的云原生架构提供相应胜利案例参考,涵盖互联网、汽车制作、批发电商、交通物流、金融、跨国企业等多个行业或畛域。 关注公众号,后盾回复 “容器与微服务” 即可收费下载案例集 案例集目录

March 8, 2023 · 1 min · jiezi

关于阿里云:直播预约丨-微服务x容器开源开发者-Meetup-北京站回顾-PPT-下载

2 月 25 日,北京站“微服务x容器开源开发者 Meetup”圆满结束。流动现场,Spring Cloud Alibaba、Dubbo、OpenYurt、KubeVela、OpenSergo 、Fluid、OCM、Koordinator 等云原生畛域传统&新锐开源我的项目的外围维护者与来自互联网、金融/保险、运营商等行业的 100+位开发者进行了深度交换,10+ 云原生畛域当下热门开源我的项目展现了最新进展、能力劣势及成功实践等精彩内容。 2 月 28 日(周二)10:00-16:00 ,咱们将在阿里云云原生视频号及开源中国视频号对本场流动进行线上回放,欢送扫描下方海报二维码进行预约。 精彩回顾 分享主题丨下一代微服务架构 在最早的时候,一些互联网大厂在应用微服务,然而去年咱们看到各行各业开始更加深刻地去应用微服务。本场流动,Nacos&Higress 创始人,阿里云高级技术专家,李艳林(彦林) 为咱们具体解答了在 Spring Cloud Alibaba、Dubbo、Envoy 等多个微服务体系平行倒退下,将来微服务架构该如何演进的问题,同时分享了如何构建微服务全景图以及如何构建微服务平安和高可用体系。 分享主题丨基于 GraalVM 动态编译让 Spring Cloud Alibaba 利用更好地成长在云上 随着 Spring Boot 3.0 正式公布,GraalVM 动态编译技术使 Java 利用始终被诟病的冷启动和运行时内存占用高问题失去解决。在流动现场 Spring Cloud Alibaba 社区负责人,阿里云研发工程师,饶子昊(铖朴) 为咱们分享了 Spring Cloud Alibaba 社区通过适配 Spring Boot 3.0,让 Spring Cloud Alibaba 利用能利用动态编译劣势,更好地成长在云上的教训。 分享主题丨为什么 Dubbo 是开发 gRPC 协定最佳抉择? 应用 gRPC 构建微服务正成为一些场景下的支流抉择,但应用 gRPC 协定作为 RPC 协定进行业务开发防止不了二次开发定制,除 RPC 协定自身外 gRPC 并没有提供编程范式、利用框架集成、流量管控等官网实现。本次分享 Apache Dubbo Committer,陌陌 Java 高级开发工程师,陈有为从 Dubbo 与 gRPC、应用 gRPC 开发微服务、Dubbo 让 gRPC 微服务开发更简略三个角度为大家进行了解读。 ...

March 8, 2023 · 1 min · jiezi

关于阿里云:CNStack-多集群服务基于-OCM-打造完善的集群管理能力

作者:学靖概述随着 Kubernetes 在企业业务中的利用和倒退,单集群内的治理能力曾经趋于欠缺,越来越多的客户冀望在多云、多集群场景部署其业务,因而须要提供相应的多云、多集群治理能力。 CNStack 多集群服务是 CNStack 面向多集群、多云场景提供的云原生服务,可能对立治理 CNStack 平台创立的、阿里云上的、客户自建的和其余云上的 Kubernetes 集群。 在 CNStack 2.0 中,CNStack 多集群服务是以云服务(cnstack-multicluster)的模式存在,这样一方面在单集群模式下用户能够齐全聚焦集群内治理,另一方面也便于多集群服务能力独立演进,更加麻利高效。该服务在 CNStack2.0 中次要提供以下性能,并会逐渐在后续版本上线更多能力(如多集群资源散发、利用跨集群故障迁徙、多集群Service等)。 扩大 OCM [ 1]  的集群注册能力,提供更加欠缺的注册相干的集群治理能力提供多种散发资源的模式:基于 OCM ManifestWork API 的 Pull 模式基于 Cluster Gateway 的 Push 模式反对实现多集群多租户治理,多集群对立认证和鉴权为平台和云服务/云组件提供管控集群(Hub Cluster)和被治理集群(Managed Cluster)之间的跨集群高可用互访能力欠缺的集群注册能力基于 Kubernetes,云原生 PaaS 团队和红帽等技术搭档开源了 CNCF Open Cluster Management(OCM)我的项目。而 CNStack 多集群服务则是基于 OCM 我的项目,提供了多集群的创立、注册、勾销注册等生命周期治理能力,容许用户以 Kubernetes 自定义资源申明的形式形容须要创立或者纳管的集群。该服务通过扩大 OCM,打造了十分欠缺的集群注册能力。 架构CNStack 多集群服务注册架构如下图所示: UI Backend为 UI 提供多集群服务所有相干的 APIs。 OCM Hub/AgentOCM 相干组件,用以实现根底的集群注册能力。组件次要包含 registration-operator [ 2] 、registration [ 3]  和 work [ 4] ,分为 hub 端和 agent 端,OCM Hub 则为在 Hub Cluster 部署的组件,OCM Agent 则为在 Managed Cluster 部署的组件。 ...

March 8, 2023 · 3 min · jiezi

关于阿里云:MSE-诊断利器上线

作者:子葵 背景在日常开发和生产环境中,可能会遇到因为网络或者其余因素导致客户端连贯 MSE 集群出现异常,此时须要排查集群以及客户端状态,通常须要通过文档查问对应的异样解释来定位问题,排查问题的链路比拟长,比拟耗时。因而 MSE 提供了一键诊断工具,发现 client -> server 链路上的问题并提供倡议,使得问题排查更加快捷。 轻松上手在日常应用中可能会遇到 MSE 实例端口不通,客户端呈现端口不可用的异样日志 此时咱们就能够通过 mseutil 疾速诊断网络问题。 通过文档下载对应平台的 mseutil 工具,工具是独立的二进制包可齐全独立运行。之后通过 mse 实例详情页面取得 MSE 实例的 serverAddr 通过以下命令进行疾速诊断:mseutil {子产品名} inspect --serverAddr mse-xxxxx.aliyuncs.com诊断分为根底网络诊断以及 API 诊断,网络诊断会测试客户端环境和 MSE 实例之间的网络连接是否可达,端口是否可拜访。API 诊断针对不同子产品的 API 进行测试,次要测试接口的可用性以及接口调用延时等信息。 mseutil zookeeper inspect --serverAddr mse-xxx-p.zk.mse.aliyuncs.commseutil nacos inspect --serverAddr mse-xxx-p.zk.mse.aliyuncs.com 此时咱们可知 DNS 解析失常,然而网络连接呈现问题,此时咱们依据文档中的谬误形容可排查到公网白名单未配置,此时只须要配置公网白名单即可。 如果一切正常会输入以下后果: 通过诊断后果咱们可知客户端环境到 MSE 实例之间的网络不通,之后可通过 MSE 对应文档排查具体起因,Nacos 诊断步骤和 ZooKeeper 统一。 MSE 实例操作mseutil 提供对 MSE 实例的数据操作能力,兼容 zkCli,并且提供四字命令查问能力,具体应用可应用 -h 子命名查问应用办法,并且反对查问批改 Nacos 服务信息以及配置信息,使得线上环境排查问题更加便捷,mseutil 可齐全独立在 x86 以及 arm64 环境的Windows,Linux,OSX 运行,防止繁琐的环境配置,上手即用。 ...

March 7, 2023 · 1 min · jiezi

关于阿里云:参与-ECS-应用监控邀测活动获得阿里云代金券

点击此处,理解更多产品详情

March 7, 2023 · 1 min · jiezi

关于阿里云:TCL-拥抱云原生实现-IT-成本治理优化

作者:行疾TCL 工程师团队基于阿里云企业云原生 IT 老本治理计划积淀了一套成熟的 IT 企业老本治理流程与零碎,通过阿里云容器服务提供的开箱即用的老本洞察、资源智能画像等性能,进行业务老本拆分、闲置资源可视化发现,并制订弹性伸缩与混部等优化策略,为团体优化了 10% 闲置的资源, 各类业务升高了 30% 的配额, 每年节俭近百万的 IT 老本投入。 客户简介 TCL 创建于 1981 年,总部设于中国广东省惠州市,目前已造成 TCL 实业和 TCL 科技两大主体,布局智能终端、半导体显示、新能源光伏三大外围产业,成长为一家具备寰球竞争力的智能科技产业团体。TCL 目前领有 13 万名员工,在寰球布局 43 个研发核心和 32 个制作基地,业务遍布 160 多个国家和地区,寰球累计服务用户超 9.6 亿。 客户痛点整体资源利用率较低,老本洞察粒度有余,无奈驱动策略优化。 在晚期上云的过程中,TCL 通过给不同的事业部调配独立云账号的形式,实现老本单元的布局与核算。然而当工程师团队心愿去洞察整体的资源应用、节约状况的时候,单纯从服务器等云资源的利用率状况来掂量业务的容量布局节约状况是不够正当的。因为从单个业务的视角,容量布局须要依据业务的峰值状况来布局。 业务高速倒退,传统容量布局的周期无奈满足, 影响业务应用。 TCL 上云的过程经验了上云迁徙期、业务增长期、业务稳定期等多个阶段,在上云迁徙期和业务增长期中,发现传统依照月度、 季度甚至是年度的 IT 老本治理的周期,无奈跟上业务增长的速度,造成很多业务处于无资源可用 或者超预算应用的状况。 长期作业 / 突发工作等短周期作业较多,对容量布局带来微小挑战。 TCL 压测平台是一个被重点关注的业务, 因为压测工作具备短时间、大规模、低成本的的要求,是传统企业 IT 老本治理中最难以解决和解决的资源类型,但也是上云按需应用的最佳场景。 业务容量、 老本预估艰难, 短少数字化指标撑持降本增效。 在 TCL 工程师团队定下降本增效的指标后,如何数字化掂量和评估利用的容量和老本状况,成为了最大的挑战。只有当一个利用的资源老本画像能够被精确绘制的时候,才可能有针对性的建设优化策略。 计划亮点 △ 阿里云云原生企业 IT 老本治理计划 洞察资源使用量, 调控周期性业务老本, 进步集群利用率。 先依据利用的具体类型进行分类,抉择适合的机型、CPU/内存的配置;与业务团队协商业务容量下限,并对业务进行全链路压测确定容量的画像和水位的状况。在压测的过程中,通过阿里云容器服务提供的老本洞察性能,能够查看利用在以后容量布局的计划下的实在利用率;对于存在显著的周期性业务,采纳定时伸缩的模型,升高在波谷时的资源老本;调整生产环境和测试环境的超卖比配置,将测试环境的超卖比调整为 300%,进步集群利用率。 ...

March 7, 2023 · 1 min · jiezi

关于阿里云:阿里云与-Kubecost-合作容器服务-ACK-支持使用-Kubecost-进行成本管理

咱们很快乐地发表,阿里云曾经与 Kubecost 开展单干,将继续推动 Kubecost 对阿里云的集成,欠缺Kubecost 在阿里云 FinOps 方面的能力。目前 Kubecost 曾经反对了对阿里云 ACK 集群的老本治理。 Kubecost 可能为客户提供 Kubernetes 集群中可视化的老本和资源应用状况,目前曾经帮忙了 5000 多个团队实现老本的监控和优化,是 FinOps 基金会认证的老本监控工具(https://www.finops.org/members/kubecost/ )。 Kubecost 建设于开源我的项目 OpenCost 之上,OpenCost 已于 2022 年 6 月被增加为云原生计算基金会(CNCF)沙盒我的项目:https://www.cncf.io/blog/2022/12/06/opencost-a-new-cncf-sandb... 在 Kubecost 最新的 beta 版本中,阿里云 ACK 用户能够依据指南装置 Kubecost,在 Kubecost UI 中查看 Pod 摊派的老本,优化资源配置。Kubecost 可能提供 ACK 集群中各种资源的老本调配,包含集群、命名空间、利用等,便于用户对各团队、利用老本的摊派。用户还能够基于这些信息在 Kubecost 中设置估算和警报,帮忙运维和财务管理人员进一步实现老本治理。 指南: https://docs.kubecost.com/install-and-configure/install/provi...

March 7, 2023 · 1 min · jiezi

关于阿里云:OpenYurt-在龙源-CNStack-云边协同项目的应用

作者:龙源电力:张悦超 、党旗   阿里云原生: 李志信OpenYurt 介绍OpenYurt 是业界首个对云原生体系无侵入的智能边缘计算平台,具备全方位的“云、边、端一体化”能力,可能疾速实现海量边缘计算业务和异构算力的高效交付、运维及治理。其在云平台、云游戏、AI、IOT 畛域早已有泛滥落地用户。 OpenYurt 完满适配和解耦于原生 K8s 组件,例如 Kubelet、Kube-Proxy、CoreDNS 等。其外围能力为边缘节点的边云网络代理,由 Yurthub 组件提供,旨在保障跨云场景下的 K8s 节点失常纳管和运行,从而为边缘 IOT 设施赋予云原生能力。OpenYurt 通过生产验证,可反对上千节点以及上万 Pods 大规模集群的稳固生产能力。上面咱们将介绍其集成于 CNStack 云原生技术中台,落地于龙源电力企业的具体场景。 CNStack(云原生技术中台)介绍CNStack(云原生技术中台)是阿里云云原生最佳实际的输入载体,它能够在多云、混合云场景下集中纳管基础设施资源,对立编排和调度工作负载,帮忙客户高效构建高性能、高可用、高牢靠和平安合规的现代化利用,晋升企业数字化转型的整体效力。CNStack 致力于帮忙企业 IT 架构重组升维,提供用最低的老本构筑业务倒退护城河,产生更大的市场利润的技术原动力,CNStack 在过来两年继续打造企业级分布式基础设施 OS,帮忙利用开发者屏蔽底层计算、网络简单拓扑,和异构差异性,并通过适应性优化 IaaS+ 服务,向以业务为核心提供更多指标为导向的组合效用输入。 案例落地架构龙源电力领有七百多个服务器节点,散布于中国数十个省市,冀望引入高可用的云原生平台,实现“本部-省公司-场站” 三级服务器的对立纳管能力。并须要在核心节点实现对边缘节点容器进行对立的调度、监控、运维能力;并针对边缘场景,对弱网络、云边断网场景的服务稳定性提出要求。 3.1 案例边缘能力整体架构龙源场景具备规模大、节点多、业务容器数量宏大的特点,并因为节点之间物理间隔大和网络老本问题,导致边缘至核心站点的网络资源带宽小;另外,还存在核心站点断电保护时,保障边缘业务仍然失常工作的诉求。CNStack 云原生技术中台引入 OpenYurt v0.7.0 版本组件来反对这种场景。 咱们对于 OpenYurt 边缘组件的部署架构如下所示。 整个集群领有一个由多个节点组成的核心站点,负责整个集群的管控。同时,次要的业务工作负载位于数十个省市的上百个边缘节点中,如上述介绍,边缘节点至核心站点的网络带宽较小,网速大抵在 40KB/s 至2MB/s。 如上图所示,在核心站点上,部署了 CNStack 云原生技术中台提供的 K8s 根底组件例如 CoreDNS、Kube-Controller-Manager、APIServer ;以及集成的 OpenYurt 云端组件,包含负责边缘节点池资源生命周期治理和证书签发的 Yurt-Controller-Manger、负责反向运维能力反对的 Tunnel-Server 等组件。 在边缘站点上,也领有原生组件和 OpenYurt 边缘组件,其中边缘组件包含边缘 DNS 缓存服务 Local-DNS,其能够大幅缩小边缘利用查问 DNS 记录所耗费的跨站点流量,还有 Tunnel-Agent 组件。其中最重要的为 Yurthub 组件,其负责代理边缘节点内的 APIServer 申请,从而实现在云边网络临时断开的状况下,通过读本地缓存,保障代理的申请正确返回,维持根底组件和业务负载的失常工作;此外,它还负责心跳代理和容器内 APIServer 证书的重写与管制,从而保障业务直连 APIServer 申请也经由 Yurthub 转发。 ...

March 7, 2023 · 1 min · jiezi

关于阿里云:阿里云函数计算-FC-助力高德-RTA-广告投放系统架构升级

作者 : 赵庆杰(阿里云函数计算)、林雪清(阿里云函数计算)、杜玲玲(高德)、王壁成(高德)导言2023 年春节,经验了三年的疫情后,咱们终于在春天迎来了曙光。国人的出行激情空前低落:回家看看父母亲;心心念念的旅行终于能够成行了。依照高德的预计,2023 年春节出行的峰值流量将比 2022 年同期和 2022 年十一都有相当大比例的增长。然而,就在不久前,受疫情的影响,零碎的流量还在绝对低位运行。 如何在短时间内疾速实现春节出行的备战筹备工作,保障系统在春节流量顶峰下安稳运行,让民众出行所必须的导航等信息服务拜访能够丝般顺滑,成为了摆在技术人员眼前的迫切事件。要在流量变化很大的状况下保障系统安稳运行,同时做到降本增效,怎么做到呢? 过来几年,高德始终在动摇、继续地推动利用的 Serverless 化。通过深刻的钻研和选型,最终抉择阿里云函数计算 FC 作为其利用的 Serverless 计算平台。过来的一年,更是获得了长足的停顿。 高德在 Serverless 上的远见帮忙他们以更加麻利、经济的形式应答不确定性以及强劲复苏的春节出行:不必费神思考流量变动带来的资源变动,无需提前依照峰值流量筹备大量的计算资源,不必放心资源是否足够,经济老本大幅降落、研发和运维效率显著晋升。 基于之前的 Serverless 成绩,高德相干业务疾速实现了春节出行备战筹备工作,春节保障顺畅实现。 咱们一起来看一个典型的案例:在 2022 年阿里云函数计算 FC 是如何助力高德 RTA 广告投放零碎实现架构降级的。 业务背景什么是 RTARTA 是一种实时的广告程序接口,通过施展媒体与广告主单方的数据、模型能力,实现实时的广告优选;RTA 是一种接口技术,更是一种策略导向的投放能力。 广告媒体通过高德的 RTA 接口,来询问是否要投广告,RTA 的服务通过查问高德本人的人群信息,返回投放后果。这样媒体投放广告能够更精准。 原零碎的架构&问题 原零碎服务器占用较多,依赖链路较长,每次扩容,依赖服务也需相应扩容,造成资源占用较多。 技术选型人群命中性能人群命中性能,实质能够归结为检索某个元素是否在一个汇合中的问题。 这类问题,业界罕用 bloom filter 进行解决。bloom filter 的实质是一组 hash 算法和 bitmap 的组合。长处是查问效率高,占用空间小。Redis 扩大版提供了 bf(bloom filter)性能。因为读取是用 golang,写入是用 Java 的写入,为了防止跨语言带来的库不统一,可能存在的 bloom filter 不同实现导致的命中不统一的问题,能够采纳 Redis 扩大版的 bf(bloom filter)性能,在 Redis 服务端实现 bf 性能,保障不同语言调用的数据一致性。 借助 Redis 来实现人群命中性能,就能够去掉算法网关,数据中台侧的很多资源也能够因而节省下来。 ...

March 7, 2023 · 2 min · jiezi

关于阿里云:阿里云-ACKEdge-助力元戎启行加速进入自动驾驶规模化生产

作者:徐果、冰羽、瑶靖主动驾驶被认为是推动智能汽车倒退的里程碑式技术。数智化大潮下,公众对汽车的定义和需要都产生了巨大变化,汽车的性能已不再是简略的交通工具,而是逐步演变为一个个“超级智能终端”。 然而,老本和效率始终是制约主动驾驶大规模商用的重要因素。得益于 Kubernetes 和云原生技术在边缘场景的拓展和利用,主动驾驶企业可能以更加高效率、低成本的形式解决数据、训练算法,将研发人员从硬件装备和日常运维治理等繁琐事务中解脱进去,把更多精力投入主动驾驶外围算法的研发及业务的增长中。 本文将通过介绍元戎启行应用阿里云边缘容器服务 ACK@Edge 的实际,分享在主动驾驶网约车场景下,如何将云边一体的云原生能力疾速笼罩到泛滥智能车载设施,无效升高主动驾驶车辆管理老本。 为什么说“云边协同”是主动驾驶倒退的加速器?元戎启行科技有限公司是一家专一于研发和利用 L4 级主动驾驶技术的科技公司,领有主动驾驶乘用车“元启行”和主动驾驶轻卡“元启运”两大产品,次要是为车企、Tier1、出行公司等提供定制化的主动驾驶解决方案。其中,Robotaxi 出行搭载元戎启行自研 L4 级主动驾驶解决方案,通过自营车队和单干经营的模式落地。元戎启行 L4 级主动驾驶前装计划车队已投入经营,为乘客提供城市出行服务。 在业务快速增长的迫切需要下,车载设施在高并发场景下的性能要求与计算资源受限的矛盾、车载环境云边网络不牢靠与车载业务谋求可靠性的矛盾、企业迅速响应需要变动的诉求与传统运维伎俩低下的矛盾、云端管控车载设施以及车载设施对安全性高要求的矛盾等,都会为元戎启行进入高阶主动驾驶量产过程中的老本和效率带来挑战。 面临的挑战零碎可扩展性差,车载应用环境依赖抵触:在主动驾驶畛域,车载业务的传统的交付模式大多数以 deb/rpm 包的形式部署,对车载运行环境的依赖性比拟强,不同业务对系统库的依赖版本可能会抵触;此外,因为算法模块的数量一直增多,单个模块又须要依赖更多的模块,因而不能疾速搭建与复现 bug 产生时的运行零碎环境,给研发调试带来许多困扰。这些都可能给车载线上业务、路上车辆的失常运行带来隐患。环境不统一导致研发运维效率低:理论业务中仿真与车上环境不统一,仿真环境始终放弃容器环境运行,然而车上保留的则为 deb 的部署形式;此外,以 deb/rpm 包等传统的部署形式须要较多的人工干预,容易造成车辆业务部署和运行时测试及研发迭代效率低的问题。短少全局管控能力:对于路测车辆,许多研发人员须要在车端调试需要,因为车载运维条件无限,影响调试工作的效率;此外,线下经营的车辆越来越多,车载业务的降级、运维、监控等都面临较大挑战,须要一个从全局视角对线下经营车辆业务的对立治理和部署的能力。短少云端一体化交付能力:现阶段云原生在云上曾经成为事实标准,主动驾驶车企能够在云上应用云原生+ AI 的能力,进行大量的AI模型训练和仿真业务的运行。然而当AI模型和仿真业务训练好后, 如何将这些制品疾速高效的交付到车端,也是车企所面临的问题。若独自开发一套平台来专门保护车端利用,不仅带来额定开发和保护老本,而且和云端业务的 CI/CD 流程呈现割裂,因而车企也心愿通过云原生的能力治理边缘侧的车载业务,进行云端一体化交付。车载网络安全问题:网络安全对于主动驾驶的重要性曾经毋庸置疑,通常状况下车端利用始终要和云端放弃通信,以监听云端下发的工作,而车端又是一个很容易和内部人员产生物理接触的环境,尤其是网约车经营模式的主动驾驶场景。如果车端被歹意侵入,入侵者有可能通过这条链路侵入云端,甚至进一步影响和云端有连贯的所有车辆,这就对车端利用提出了十分高的平安诉求,显然,这会大大减轻利用开发人员的累赘。弱网/断网环境下的车载业务自治能力:在以网约车经营模式的主动驾驶车辆,在线下运行时,因为车辆所处的地位的不同,很可能处于弱网或者断网的状况,在这种状况下,如何能保障车载业务在极其重启状况下稳固运行,这也是车企所急须要解决的问题。车辆监控/日志采集:大量的经营车辆在行驶过程中,须要监控车辆的硬件温度、CPU、 内存等控件的使用率,时刻在云端监控大屏上显示,另外云端须要车辆上零碎和利用的要害日志采集,用来日志剖析,以后并没有通用且无效的办法去解决。ACK@Edge 助力元戎启行车云一体化协同ACK@Edge 云边端一体化利用劣势主动驾驶场景是云原生在云边协同场景下的很好用例:车载设施能够作为云边协同的计算节点,对立接入到云端,由云端对立管控,同时应用云原生的能力,能很好保障车载上业务之间的环境隔离问题,能够对于主动驾驶车载利用零碎在云上进行对立降级更新、资源调度、运维管控,实现云端一体化交付。 阿里云边缘容器服务(简称 ACK@Edge)是一款提供规范 Kubernetes 集群云端托管,反对边缘计算资源、业务疾速接入、对立治理、对立运维的云原生利用平台,可能帮忙用户轻松实现云边一体化协同。用户利用 ACK@Edge 通过纳管边缘节点将云上利用延长到边缘,联动边缘和云端的数据,使得边缘节点领有云端雷同能力。在云端提供对边缘设施、边缘利用的对立 Ops 能力,保障边缘设施及边缘智能利用少运维、高可用。 目前 ACK@Edge 曾经全面降级为基于云原生的云边一体和云端一体架构,可能适配更多的垂直畛域的边缘计算场景,另外在云端协同场景,车载设施、交通、桥梁等小终端设备的轻量化接入,减速您容器化利用的散发、运维,升高您自建运维的老本。除主动驾驶外,已宽泛用于 CDN、IDC、IoT、智慧物流、工业大脑、新批发等诸多场景。 ACK@Edge 主动驾驶解决方案助力元戎启行云边协同基于 ACK@Edge 云边一体、云端一体,Kubernetes 容器编排调度的能力,以及 ACK@Edge 在 Kubernetes 之上针对边缘场景叠加的如轻量化、OTA,边缘侧 POD 离线启停,边缘自治、边缘单元化、单元化部署、Tunnel 通道的能力,切实解决了元戎启行智能在主动驾驶畛域的相干痛点,最终承载了元戎启行主动驾驶线上经营车辆,为乘客提供城市智能出行服务。 ACK@Edge 在原生 Kubernetes 的根底上针对主动驾驶场景提供了独有的增强型性能: 云端运维,近程调试:ACK@Edge 提供的 Tunnel 通道, 能够让业务人员疾速查看容器日志和进入容器调试。同时利用 tunnel 通道能够将车载设施的监控信息(硬件温度,CPU/内存使用率等)对立收编到云上,为元戎云端平台提供监控和告警服务。边缘自治:ACK@Edge 的边缘自治能力,能够在经营车辆离线、或者车辆重启这种极其状况下, 还能保障车载上的的业务能失常运行。期间,ACK@Edge  团队与元戎零碎团队做了大量的断网、重启操作,最终在证实经营车辆上的业务可能失常运行。轻量化接入:ACK@Edge 在云端场景下,提供轻量化接入的能力,边侧组件具备更少的资源占用率。更少的资源占用率能够为业务腾挪出更多的资源,进步了车载利用对摄像头视频流的解决能力,进一步提高主动驾驶车辆的反应速度。车载利用的 OTA:因为主动驾驶场景对于车辆运行平安要求十分刻薄,对车辆上的利用降级有着十分高的要求,原生的 Kubernetes workload 的降级回滚形式还是显得比拟暴力, 针对这些非凡场景,ACK@Edge 创新性的提出了针对于 POD 的 OTA,以及在离线场景下 POD 的启停治理能力,此性能能够很好的满足经营车辆的依据过后的状况按需降级,以及在极其状况下管理人员人工接入运维的需要。 ...

March 7, 2023 · 1 min · jiezi

关于阿里云:免费下载丨一看即会Serverless-技术进阶必读百宝书

过来一年,寰球正在减速推动云计算的 Serverless 化过程。Serverless 架构曾经逐步从“被承受”走向了“被学习”和“被利用”。云的产品体系正在 Serverless 化,从计算、存储、数据库到中间件,越来越多的云产品采纳了 Serverless 模式。服务器不再是开发者构建利用的惟一抉择。全托管的函数计算、Serverless 利用引擎、对象存储、音讯队列、数据库等云产品成为构建利用的根底组件,帮忙开发者在更高的形象层构建弹性、高可用的云原生利用。如何疾速学习 Serverless、取得新技术带来的技术红利仍然是开发者最关怀的话题。 阿里云 Serverless 团队精心编选了 38 篇文章集结成书,为你具体拓展 Serverless 常识体系、洞悉当下 Serverless 畛域热点常识,把握 Serverless 架构在各畛域的利用、实战案例。从技术实践到办法领导,帮忙你关上思路、升高学习老本、精进技术、实现从入门到上手 Serverless 的丝滑进阶。期待《Serverless 技术解析与落地》可能成为助力开发者进行 Serverless 实战的百宝书。 扫描二维码或点击浏览原文下载 精彩领先看 本书次要内容第一章:Serverless, 将来已来本章次要介绍 Serverless 架构相干概念、劣势、将来趋势、实用价值、帮忙读者更好了解 Serverless为何而来,因何而生。 第二章:人人都是 Serverless 架构师 2022 年阿里云 Serverless 在技术上有哪些迭代翻新?开发者在理论应用 Serverless 时都会遇到哪些痛点问题,如何解决?本章将率领各位克服 Serverless 技术上手难点。 第三章:Serverless 实用技能 从企业应用角度登程,介绍构建 Serverless 的准备条件,以及如何利用 Serverless 进行技术升级,实现架构革新最终达到降本提效的指标。 第四章:Serverless 落地案例 介绍 Serverless 架构在千行百业中的实战利用,分析各个领域中Serverless 理论的用户场景案例。 有奖流动点个在看,并在留言区 “讲出你在学习 Serverless 过程中遇到的难题,或心愿学习的 Serverless 内容”。取得点赞最多的开发者将取得 “阿里云护眼台灯”。 工夫截止至 3 月 1 日 12:00,奖品会于 7 个工作日内寄出。 ...

March 7, 2023 · 1 min · jiezi

关于阿里云:从青铜到王者揭秘-Serverless-自动化函数最佳配置

作者:丛霄 背景介绍全托管的 Serverless 计算平台能给用户带来更少的运维代价、更强的稳定性和更快的弹性能力。 Serverless 的指标之一是免运维,但仍旧存在一些阻碍,在 Serverless 场景特有的一些要害服务配置比方 “并发度”、“最小实例数”、“最大实例数” ,如何配置参数才是最合适的?怎么确定本人配置的参数是否正当?仍旧始终是让用户头痛的事件。 本文介绍了函数计算团队在自动化举荐 Serverless 函数最佳配置上的思考和相干工作,心愿帮忙用户解决目前应用 Serverless 的痛点问题,彻底解放用户的双手,开释 Serverless 服务的价值。 评估 Serverless 服务最佳配置的难点用户应用 Serverless 服务的预期是:更低的老本、更快的弹性、更优的性能、更稳固的环境,这同时也是 Serverless 平台承诺提供给用户的能力。尽管如此,很多用户在应用过程中还是呈现了各种问题: 为什么应用 Serverless 后发现老本还变高了?为什么应用 Serverless 的冷启动工夫那么长?在 Serverless 平台上的性能提早体现为什么更差了?Serverless 平台能提供肯定的根底能力,然而针对不同的业务逻辑,须要采取适合的配置能力更好的施展 Serverless 的成果。然而如何评估某函数的最佳配置,其中波及到多变量的协同优化问题,并不是一个简略的问题。具备以下几个难点: 难点1:老本和性能的衡量肯定的单实例多并发数,能够进步单实例并行处理申请的数量,缩小实例数,从而降低成本;并发数过高时,会减少资源竞争,导致性能提早减少,从而减少老本;较低的实例规格单价老本更低,然而延时更大;较高的实例规格单价成更高,然而延时可能更低如何针对用户的偏好场景(性能优先还是老本优先),为用户举荐最佳的函数配置,成为首先须要思考的一大难点。 难点2:不同函数业务逻辑的复杂度除了老本和性能维度的掂量,针对不同类型的函数逻辑,不同的配置参数成果也有差别。很多函数业务逻辑简单,只针对繁多逻辑分支进行评估最佳配置并不代表整体的最优;不适合的配置可能增大用户非预期的老本。比方: 对于 CPU 密集型的函数,规格减少对单实例性能的晋升有较大的改善对于 IO 密集型的函数,规格减少对单实例性能的晋升存在边际效应递加的状况,当超过某规格后,规格的晋升对性能晋升的成果根本没有比方下图展现了 CPU 密集型函数在不同规格下的压测数据: CPU 密集型的规格越高,maxTPS 越大;并且规格与 maxTPS 出现显著的线性关系。 规格越大,maxRT 越低 ,阐明CPU密集型的函数,增大资源规格能够显著升高 RT。然而规格增大到 4G、8G 后,对 RT 的升高成果边际效应递加。 下图展现了 IO 密集型函数在不同规格下的压测数据: 规格的晋升对 IO 密集型的性能改善作用无限,特地到了高规格,比方 3G 后,maxTPS 增幅不大 难点3: 函数配置对平台侧资源的影响函数的并发度、最小实例数、最大实例数等配置会影响到平台侧资源池的容量布局,如何保障单函数的资源刚性交付,多函数的资源隔离;如何优化平台侧弹性调度能力,进步平台侧的资源利用率,是另一个难点问题。 ...

March 7, 2023 · 1 min · jiezi

关于阿里云:从资源弹性到数据弹性乾象如何将云上量化研究效率提升-40

机器学习、云计算、云原生等技术的提高给金融行业翻新注入了新的能源,以乾象投资 Metabit Trading 为代表的以人工智能为外围的科技型量化投资公司的工作就十分有代表性。他们通过深度交融和改良机器学习算法,并将其利用于信噪比极低的金融数据中,为投资人发明长期可继续的回报。 与传统的量化剖析不同,机器学习不仅关注股价、交易量和历史回报率等结构化数据,还注入来自研报、财报、新闻和社交媒体等非结构化数据来深刻理解证券价格走势和波动性。然而,将机器学习利用于量化钻研是具备挑战性的,因为原始数据可能蕴含噪声。此外,他们还须要应答许多挑战,如突发工作、高并发数据拜访和计算资源限度等。 为此,乾象投资在研发投入、翻新反对和根底平台建设方面继续发力。他们的钻研基础设施团队构建了一个高效、平安、规模化的工具链研发流程,通过正当利用云计算和开源技术冲破了单机研发的限度。本文将分享乾象量化钻研根底平台的具体实际,介绍基于 Fluid+JuiceFSRuntime 的公共云弹性量化投研工作撑持。 量化钻研的工作详解作为 AI-powered hedge fund,通过 AI 模型训练进行策略钻研是咱们最次要的钻研形式。首先,在模型训练之前须要对原始数据做特征提取。金融数据的信噪比特地低,如果间接应用原始的数据进行训练,失去的模型乐音会十分大。原始数据除了行情数据,即大家常常会看到的市场上的股价、交易量之类的数据,也包含一些非量价的数据,比方研报、财报、新闻、社交媒体等之类的非结构化数据,钻研人员会通过一系列的变换提取出特色,再进行 AI 模型训练。能够参考上面咱们钻研场景中和机器学习关联最严密的策略钻研模式的简化示意图。  模型训练会产出模型以及信号。信号是对将来价格趋势的判断,信号的强度意味着策略导向性的强度。量化研究员会依据这些信息去优化投资组合,从而造成交易的实时仓位。这个过程中会思考横向维度(股票)的信息来进行危险管制,例如某一行业的股票不要适度持仓。当仓位策略造成之后,量化研究员会去模仿下单,而后失去实时仓位对应的盈亏信息,从而理解到这个策略的收益体现,这就是一个量化钻研的残缺流程。 量化钻研根底平台的需要第一,突发工作多,弹性要求高。 在策略钻研的过程中,量化研究员会产生策略想法,并会通过试验去验证本人的想法。随同着钻研人员新想法的呈现,计算平台就会产生大量的突发工作,因而咱们对计算的弹性伸缩能力要求很高。 上图是咱们某个集群一段时间的运行实例数据。以上图为例,能够看到在多个时间段里,整个集群实例数顶峰时刻能够达到上千个,然而同时整个计算集群的规模也会有缩容到 0 时候。量化机构的计算工作和研究员的研发进度是有很大关联的,波峰波谷的差距会十分大,这也是离线钻研工作的特点。 第二,热数据高并发拜访,除了计算须要弹性,数据缓存也须要弹性。 对于热数据,比方行情数据,通常会有上百个工作同时拜访数据,它的吞吐要求十分高,峰值时数百 Gbps 甚至 Tbps 级别的聚合带宽能力满足需要。然而当计算集群中没有任何节点的时候,此时的吞吐需要为 0,如果是刚性吞吐这就须要弹性吞吐扩缩容的能力。 第三,容量和吞吐的独立线性扩大能力,对金融模型训练十分重要。 传统分布式存储带宽与吞吐仅和数据应用容量成正比,而量化钻研过程中会创立大量的容器并发拜访存储系统的数据,会触发存储系统拜访限流。这就造成计算资源极致弹性与存储系统无限带宽之间的矛盾。而量化钻研的数据量其实不是特地大,很多市场的量价数据总量也不会超过 TB 级,然而数据拜访须要的峰值吞吐却十分高。 第四,数据亲和性调度,同一数据源屡次运行拜访本地缓存能够被复用。 充分发挥热点数据集的缓存节点劣势,在对用户无感知的前提下,智能的将任务调度到数据缓存节点上。让罕用的模型训练程序越来越快。 第五,IP爱护:数据共享与数据隔离。 出于 IP 爱护的需要,不仅在计算工作上须要做隔离,在数据上也是须要具备权限管制的隔离能力;同时对行情数据这类绝对公开的数据,还须要反对研究员的获取形式是便捷的。 第六,缓存两头后果。 计算工作模块化的场景会对两头后果的存储跟传输也有需要。举个简略的例子,在特色计算过程中会生成比拟大量的特色数据,这些数据会立即用于接下来大规模高并发的训练节点上。不言而喻在这种场景下咱们须要一个高吞吐和高稳固的两头缓存做数据传递。 第七,多文件系统的反对。 计算工作中各类型的工作会对应的各种个性的数据类型和应用形式,因此咱们不同团队会采纳不同的文件系统包含 OSS,CPFS,NAS,JuiceFS,以获取在各自状况下的性能最优化。Fluid 的不同 runtime 可能灵便的反对文件系统与工作的组合,使得工作计算可能在 K8s 上更高效正当的利用对应资源防止不必要的节约。 Fluid+JuiceFSRuntime:为云上量化钻研根底平台提供高效撑持出于 POSIX 兼容,老本,高吞吐的思考,咱们抉择了 JuiceFS 云服务作为分布式底层存储。抉择了 JuiceFS,发现现有 Kubernetes 的 CSI 体系并不能很好地反对咱们对数据拜访性能、弹性吞吐能力以及数据共享隔离的需要,具体来看: 传统的 Persistent Volume Claim 是面向通用存储的形象,不足对同一个存储简单数据拜访模式协同良好的反对:在不同的利用场景下,利用对同一存储中不同文件的应用形式不同,比方咱们少数并发计算工作要求只读;然而也有 Pipeline 数据直达,数据特色生成之后,须要直达到模型训练中,此时就要求读写;这导致了很难在同一个 PVC 中对立设置元数据更新和缓存策略。实际上,这些策略应该齐全取决于利用应用数据的模式。数据隔离与共享:不同数据科学家团队拜访不同的数据集须要人造隔离,并且要求比拟容易治理;同时反对公共数据集访问共享,特地是缓存数据共享,因为行情数据这类绝对公开的数据,不同的研究员团队会重复应用,心愿取得“一次预热、全公司收益”的成果。数据缓存感知的 Kubernetes 调度:雷同模型、雷同输出、不同的超参的作业以及微调模型、雷同输出的作业都会一直反复拜访同一数据,产生能够复用的数据缓存。然而原生的 Kubernetes 调度器无奈感知缓存,导致利用调度的后果不佳、缓存无奈重用,性能得不到晋升。数据拜访吞吐能够弹性扩容到数百 Gbps:传统的高性能分布式文件存储,个别的规格是 200 MB/s/TiB 基线的存储规格,其最大 IO 带宽是 20Gbps,而咱们工作的峰值 IO 带宽需要至多须要数百 Gbps,显然无奈满足咱们的要求。数据缓存的老本最优:因为公共云提供了计算资源极致弹性,能够短时间内弹出几百甚至上千计算实例,而当这些计算资源同时拜访存储时,在顶峰时吞吐须要数百 Gbps 甚至更高,此时须要通过计算中的缓存集群去服务热数据。然而很多时间段内,计算集群会缩容为 0,此时保护一个很大的缓存集群就得失相当了。咱们更偏向于在应用之前进行数据预热,同时依据业务的运行法则执行定时扩缩容;而当计算集群没有作业在运行,再缩容到默认缓存节点,从而达到对数据缓存吞吐的动静弹性伸缩管制。为了达到上述指标,咱们迫切希望找到 Kubernetes 上具备弹性分布式缓存减速能力同时很好反对 JuiceFS 存储的软件。咱们发现 CNCF Sandbox 我的项目 Fluid [ 1] 和 JuiceFS 存储有很好的协同,JuiceFS 团队正好也是 Fluid 我的项目中 JuiceFSRuntime 的次要贡献者和维护者。于是,咱们设计了基于 Fluid 的架构计划并抉择了原生的 JuiceFSRuntime。 ...

March 7, 2023 · 3 min · jiezi

关于阿里云:云快充研发中心平台架构师谈云原生稳定性建设之路

作者:吕周洋 大家好,我是来自云快充研发核心的平台架构师吕周洋,明天我给大家分享云快充云原生稳定性之路。 点击查看:云快充研发核心平台架构师 吕周洋:云快充云原生稳定性治理之路 云快充成立于2016年,以充电服务和能源管理为外围,业务涵盖九个方向。截止到2022年11月,业务笼罩370个城市,接入电桩运营商 7400人,接入充电终端31万家,与640个桩企达成单干。目前,新能源行业倒退状况除了鼎力满足业务的疾速倒退,服务更多客户外,云快充始终非常重视线上服务的稳定性建设,以晋升用户的充电体验。 业务零碎容器化为了确保业务的稳固运行,云快充从 2019年 就确定了业务零碎百分之百容器化的技术路线。在过后尽管容器平台还有其余的一些计划能够抉择,但根本曾经能够明确的感触到K8s 成为云原生时代的基础设施底座的技术趋势。K8s 可能带来的价值是多方面的,包含研发经营与效率的晋升,升高资源老本等。 基于本身业务,云快充最看重的是 K8s 对于业务稳定性的晋升。在大型分布式 IT 架构中,任何一个环节都有可能产生故障。比方云上的 ECS 不是百分之百可能放弃失常运行,每一个利用过程都有可能在长时间运行后遇到宕机的状况。咱们须要确保的是,当这些故障产生的时候,业务不要受到任何的影响。K8s 的调度机制以及健康检查机制为IT 架构提供了自愈能力,呈现故障的时候,可能主动把业务 Pod 从新调度到失常的节点上。这个过程齐全不须要人工染指。通过 K8s 集群的跨可用区部署,配合上同可用区优先的微服务拜访策略,甚至能够做到机房级别故障的常见场景下,业务零碎仍然失常提供服务。 这一点咱们在实战中也验证过。在业务高峰期,通过 K8s 的弹性伸缩能力,能够实现基于业务负载的主动弹性扩容。 这个弹性能力波及到工作负载的程度伸缩以及计算资源的程度伸缩。在全面应用 K8s 之前,咱们思考过相似的计划,但因为放心影响业务稳定性,并没有真正投入大规模应用。全面容器化之前,咱们的团队也尝试本人搭建 K8s 集群,验证 K8s 的各项能力,通过一段时间的实战,还是遇到了不少的挑战。 K8s 是一个大型简单的分布式系统,波及十多个外围组件,这些组件和云上的 IaaS 层产生集成的时候就更为简单了,光是搞定网络插件就须要投入不少的精力,咱们也没有业余的技术人员可能疾速解决节点异样、Pod 异样、网络不通等问题。特地是有时候遇到 K8s 自身的 bug,就更无能为力。开源 K8s 自身的bug其实还是很多的。以后社区处于 open 状态的 issue 就有1600多个。集群规模比拟大的时候,零碎的各个组件均呈现相应的性能问题的机会也就变高了。如果遇到 etcd 的性能瓶颈,会导致集群一系列的问题产生,体现在业务侧,就是用户充不上电。 K8s 版本以及 K8s 组织的降级是另一个难题。 社区版本更新的很快,降级有影响业务的可能性。但咱们也放心,太久不降级,老版本因为破绽会造成更重大的问题。所以咱们除了在测试环境,保留自建K8s作为学习和钻研之外,生产环境的零碎都全面向容器服务 ACK 迁徙。联合咱们本身的业务场景与技术架构,ACK 在这些方面体现进去的价值让咱们最认可。 首先在 API 和规范上齐全兼容开源K8s,确保咱们的技术架构遵循开源凋谢的技术体系。 其次是计算、存储、网络等云产品进行了深度集成,而且这些集成自身也是基于K8s 规范,特地是在网络方面,实现了VPC内容器网络与虚拟机网络的买通。这对咱们渐进式地将利用从 ECS 迁徙到 K8s 起到了十分大的帮忙。整个迁徙的过程是十分顺利。因为网络是买通的,能够在放弃原有架构的根底上一个一个利用的验证,只是利用的底层承载,从虚拟机转向了容器。这也确保了咱们在容器迁徙过程中的业务稳定性。 最初在集群本身的稳定性方面,ACK 也做了大量的工作,如 master节点托管、智能巡检诊断,跨可用区的高可用等等。这些都通过阿里双十一大规模场景,以及阿里云的大型客户实战验证。对云快充而言,最重要的一点在于集群和组件的版本升级变得更简略了,间接在控制台一键操作,对于业务是无感,极大的升高了保护老本,也为业务稳定性的晋升提供了根底保障。 ACK 还集成了一个十分好用的集群诊断工具,它是基于eBPF技术实现的,对咱们来说提供了一个开箱即用的能力,一键开启就能够。这个工具提供了全局视角的利用拓扑,遵循了从整体到个体的准则,先从全局视图动手,从申请数、谬误数、延误三个黄金指标登程,发现异常的服务个体,如某个应用服务,定位到这个利用后,能够获取日志,关联剖析。在一个页面展现分层下钻,不须要多个零碎来回跳转,不便疾速定位拓扑中的服务调用,这些有价值的数据都导入到了云上的 Prometheus 服务。大家也晓得在云原生时代,Prometheus 在可观测畛域的位置就相当于 K8s 在云原生底座的位置。 ...

March 7, 2023 · 1 min · jiezi

关于阿里云:阿里云函数计算助力高德RTA广告投放系统架构升级

作者 : 赵庆杰(阿里云函数计算)、林雪清(阿里云函数计算)、杜玲玲(高德)、王壁成(高德)导言2023 年春节,经验了三年的疫情后,咱们终于在春天迎来了曙光。国人的出行激情空前低落:回家看看父母亲;心心念念的旅行终于能够成行了。依照高德的预计,2023 年春节出行的峰值流量将比 2022 年同期和 2022 年十一都有相当大比例的增长。然而,就在不久前,受疫情的影响,零碎的流量还在绝对低位运行。 如何在短时间内疾速实现春节出行的备战筹备工作,保障系统在春节流量顶峰下安稳运行,让民众出行所必须的导航等信息服务拜访能够丝般顺滑,成为了摆在技术人员眼前的迫切事件。要在流量变化很大的状况下保障系统安稳运行,同时做到降本增效,怎么做到呢? 过来几年,高德始终在动摇、继续地推动利用的 Serverless 化。通过深刻的钻研和选型,最终抉择阿里云函数计算 FC 作为其利用的 Serverless 计算平台。过来的一年,更是获得了长足的停顿。 高德在 Serverless 上的远见帮忙他们以更加麻利、经济的形式应答不确定性以及强劲复苏的春节出行:不必费神思考流量变动带来的资源变动,无需提前依照峰值流量筹备大量的计算资源,不必放心资源是否足够,经济老本大幅降落、研发和运维效率显著晋升。 基于之前的 Serverless 成绩,高德相干业务疾速实现了春节出行备战筹备工作,春节保障顺畅实现。 咱们一起来看一个典型的案例:在 2022 年阿里云函数计算 FC 是如何助力高德 RTA 广告投放零碎实现架构降级的。 业务背景什么是 RTARTA 是一种实时的广告程序接口,通过施展媒体与广告主单方的数据、模型能力,实现实时的广告优选;RTA 是一种接口技术,更是一种策略导向的投放能力。 广告媒体通过高德的 RTA 接口,来询问是否要投广告,RTA 的服务通过查问高德本人的人群信息,返回投放后果。这样媒体投放广告能够更精准。 原零碎的架构&问题 原零碎服务器占用较多,依赖链路较长,每次扩容,依赖服务也需相应扩容,造成资源占用较多。 技术选型人群命中性能人群命中性能,实质能够归结为检索某个元素是否在一个汇合中的问题。 这类问题,业界罕用 bloom filter 进行解决。bloom filter 的实质是一组 hash 算法和 bitmap 的组合。长处是查问效率高,占用空间小。Redis 扩大版提供了 bf(bloom filter)性能。因为读取是用 golang,写入是用 Java 的写入,为了防止跨语言带来的库不统一,可能存在的 bloom filter 不同实现导致的命中不统一的问题,能够采纳 Redis 扩大版的 bf(bloom filter)性能,在 Redis 服务端实现 bf 性能,保障不同语言调用的数据一致性。 借助 Redis 来实现人群命中性能,就能够去掉算法网关,数据中台侧的很多资源也能够因而节省下来。 ...

March 7, 2023 · 2 min · jiezi

关于阿里云:全景剖析阿里云容器网络数据链路六ASM-Istio

本系列文章由余凯执笔创作,联结作者:阿里云容器服务 谢石 对本文亦有奉献 近几年,企业基础设施云原生化的趋势越来越显著,从最开始的IaaS化到当初的微服务化,客户的颗粒度精细化和可观测性的需要也更加强烈。容器网络为了满足客户更高性能和更高密度的需要,也始终在高速的倒退和演进中,这必然给客户对云原生网络的可观测性带来了极高的门槛和挑战。为了进步云原生网络的可观测性,同时便于客户和前后线同学减少对业务链路的可读性,ACK产研和AES联结共建,合作开发了ack net-exporter和云原生网络数据面可观测性系列,帮忙客户和前后线同学理解云原生网络架构体系,简化对云原生网络的可观测性的门槛,优化客户运维和售后同学解决疑难问题的体验 ,进步云原生网络的链路的稳定性。 △ 服务网格示例 △ Istio数据面示意图 Kubernetes的横空呈现突破了底层服务器、底层网络等计算资源的界线,给业务的灵便部署、疾速复原、弹性伸缩、资源效率最大化带来了有限可能。然而业务场景的‘贪心’是有限的,随着微服务趋势大肆倒退,业务上对于同一个service,不同版本和流量管制有着更精细化的颗粒度的需要,最好能实现Pod维度的流量管制,可观测性等等。这些在Kubernetes上是无奈实现的: 从流量角度,K8s最小的管制维度是service, 其余比方金丝雀等公布,借助各种ingress controller或者其余组件实现,并且这些也无奈实现Pod之间的流量和连贯状态的可观测性。K8s给服务微型化,小型化发明了条件, 如果前后端服务存在调用关怀,他们如果应用共享通信库,则会在开发阶段就要求所有微服务应用雷同的逻辑语言和堆栈,这从某种程度上又大大限度微服务的独立化,无奈实现齐全的‘不闻不问’将原来集成在同一个ECS上的服务拆分成不同的模块,这些模块之间调用波及跨ECS等,那么必然须要在代码开发阶段须要思考超时,重试,连贯失败等逻辑机制,而这些与微服务最外围的服务利用其实没有太大关系,然而开发工作往往消耗大量的经验在逻辑设计上。那么,有没有方法实现上述和微服务的业务齐全隔离呢?Istio的呈现给这个带来了绝对完满的解决方案,让利用这和开发者更加关注业务自身的开发迭代。Istio利用了K8s的Pod概念,会依据使用者的配置,在每个被注入的Pod部署时,主动注入istio-proxy 容器和initial 容器。initial容器的目标是通过批改Pod独自网络命名空间的iptables规定,让须要代理的流量进入到istio-proxy 监听的端口, istio-proxy监听出入 两个端口,依据网格配置,来实现对出入流量的代理实现和干涉。而被同一个istio注入的载体,都被视为同一个服务网格之内,他们之间的调用曾经脱离了service的层面,会命中相干的istio cluster配置的endpoint,这样咱们就能够实现Pod维度的流量治理、观测性、安全性等配置。 本文是[全景分析容器网络数据链路]第六局部,次要介绍ASM Istio模式下,数据面链路的转发链路,一是通过理解不同场景下的数据面转发链路,从而探知客户在不同的场景下拜访后果体现的起因,帮忙客户进一步优化业务架构;另一方面,通过深刻理解转发链路,在遇到容器网络抖动时候,客户运维以及阿里云同学能够晓得在哪些链路点进行部署观测手动,从而进一步定界问题方向和起因。 系列一:全景分析阿里云容器网络数据链路(一):Flannel 系列二:全景分析阿里云容器网络数据链路(二):Terway ENI 系列三:全景分析阿里云容器网络数据链路(三):Terway ENIIP 系列四:全景分析阿里云容器网络数据链路(四):Terway IPVLAN+EBPF 系列五:全景分析阿里云容器网络数据链路(五):Terway ENI-Trunking ASM Istio 流量代理1.1 Pod注入ASM默认提供了一个Webhook控制器,能够将Sidecar代理主动增加到可用的Pod中。通过上面的命令能够看到ASM注入的集群有个istio-sidecar-injector-1-15-3的mutatingwebhookconfiguration, 查看webhook内容,能够看到其中一条就是有 istio-inject:enabled 标签的namespace里的pod创立时候会主动注入。 除了命名空间维度,还有Pod维度,其余注解形式等多种维度实现K8s集群是否被退出到Istio服务网格中。为了充分利用服务网格的所有个性,服务网格中ACK集群的利用Pod必须蕴含一个Sidecar代理。除了手动注入形式外,通常倡议启用主动注入的形式来简化部署,ASM曾经实现了注入配置的可视化操作,具体请见多种形式灵便开启主动注入 [ 1] 。 1.2 Pod流量转发通过describe被注入的Pod, 能够发现Pod中除了设置好的业务container,还多出两个容器:istio-proxy和init  container:istio-init。这两个容器的镜像是一样的,只是运行的命令的不一样,这样的益处是只须要拉取一份镜像,节俭了拉取镜像的工夫。 Init ContainerInit container 利用的是K8s的个性,一种具备特权的非凡容器,在Pod内的利用容器启动之前运行。Init容器能够包含一些利用镜像中不存在的实用工具和装置脚本。每个Pod中能够蕴含多个容器和多个Init容器。他与一般容器很像,然而有本人独特点: 多个init容器是串行运行的。也就是说多个init容器会依序运行,等上一个init容器运行结束完结后,才会开始运行下一个容器。只有等到所有的init容器全副运行完结退出后,业务容器才开始启动,在这之前,pod不会处于ready。如果Pod的Init容器失败,kubelet依据pod设置的restartPolicy进行相应的action。既然当初理解了Init container的作用,那咱们来看一下istio-init在启动的过程中做了哪些事件,能够通过上面的命令: kubectl  logs -n istio-inject productpage-v1-797d845774-dndmk -c istio-init 能够看到istio-init在启动过程中进行了一连串的iptables规定的生成和配置,比方出方向转发到15001端口;入方向转发到15006端口;拜访15008端口,间接return不进行流量劫持等等。那有什么方法能够自定义配置么?查看pod的信息能够看到相干配置的启动参数,也就通过相干规定实现了出入流量重定向到设置的端口。 ...

March 7, 2023 · 6 min · jiezi

关于阿里云:Higress-on-K8s-5分钟开箱即用

作者:澄潭Higress 简介Higress 是云原生网关的提出者和定义者,实现了 K8s 的 Ingress API 规范,历经阿里双十一洪峰考验,比照 Ingress Nginx 具备以下劣势: 5 分钟开箱即用Step 0. 配置 ACK &筹备利用若 ACK 上没有装置其余 Ingress Provider,间接按后续步骤装置 Higress 即可。若 ACK 上曾经装置了 Nginx Ingress 等 Ingress Provider,心愿迁徙到 Higress,请留神 Higress 默认只会监听 IngressClassName 为 higress 的 Ingress。能够通过 helm 参数设置 --set global.ingressClass="",这样 Higress 会监听所有 Ingress,从而实现平滑迁徙。 ACK Ingress Provider 还能够抉择 MSE Ingress,这是 Higress 的商业托管版,无需本人运维 Higress,提供 SLA 保障。能够在阿里云搜寻“云原生网关”理解详情 首先装置一个 wordpress 利用,用于后续 Higress 的路由测试,能够间接在 ACK 利用市场装置: 创立胜利后,为这个 wordpress-ack-wordpress-sample workload 创立一个虚构集群 IP 类型的 service ...

March 7, 2023 · 2 min · jiezi

关于阿里云:Vineyard-论文被-SIGMOD2023-接收助力计算引擎之间高效数据交换

Vineyard (CNCF sandbox 我的项目)是脱胎于 GraphScope 底层存储、用于在简单工作流中不同计算引擎之间进行高效数据交换的中间件,该工作的论文被数据库畛域顶级学术会议 SIGMOD 2023 接管录用。近日,CCF-A 类学术会议、数据库畛域最为优良的学术会议之一的 SIGMOD 2023(The 42nd ACM SIGMOD International Conference on Management of Data)Industrial Track 后果揭晓,致力于不同计算引擎之间进行高效数据交互的我的项目 Vineyard (v6d) 被胜利接管! Vineyard: Optimizing Data Sharing in Data-Intensive Analytics. Wenyuan Yu, Tao He, Lei Wang, Ke Meng, Ye Cao, Diwen Zhu, Sanhong Li, Jingren Zhou. The 42nd ACM International Conference on Management of Data (SIGMOD), Seattle, Washington, USA, June 2023.实在的生产环境存在着大量的简单的剖析型作业:单个作业中蕴含若干子工作,而各个子工作可能属于不同的计算类型(例如 SQL、深度学习、图计算)。为了解决这些简单的作业,往往将每个子任务分配到某个特定的计算引擎(例如将图计算任务分配到 GraphScope,将深度学习任务分配到 PyTorch)。为了在不同计算引擎之间进行两头后果的替换,目前通用的做法是将两头后果以文件的模式存储到内部存储中(例如本地磁盘、S3 和 OSS),然而这个过程会导致微小的数据序列化/反序列化、I/O等开销,从而拖慢整个作业的执行工夫。咱们发现只管不同的计算引擎往往对同一数据结构(例如 DataFrame、HashMap)有不同的实现,然而同一数据结构的接口则根本保持一致,而计算引擎的计算逻辑往往只关注数据结构提供的接口而非接口的具体实现。 ...

March 7, 2023 · 1 min · jiezi

关于阿里云:微服务引擎-MSE-企业版全新升级

作者:流士随着企业应用大规模云上迁徙与利用微服务化步调放慢,微服务治理的重要性对企业显而易见,但微服务治理自身的规范化与标准化尚未造成,导致很多企业在微服务治理方面正经验着苦楚的试错期,甚至难以满足线上环境的治理需要。此次MSE企业版降级,联合外部关联云产品治理的教训,通过长期打磨,指出妨碍微服务治理效率晋升的次要问题,并提出对应的解决方案。本次分享介绍MSE企业版降级的内容,冀望能够升高企业云化与微服务化的老本,晋升治理效率。 当咱们在议论微服务治理时,咱们在议论什么?是否具备罕用治理工具集就能够称为微服务治理平台?对此咱们的答复是能够保障线上不出问题或者出问题时能够疾速无效兜底的平台就是好的微服务治理平台,微服务治理的外延和内涵都在随微服务的变动而动态变化,但不变的是微服务对外的SLA与故障的疾速响应能力,基于此,咱们辨认出以后阶段微服务治理在效率方面仍可改善的问题,并提供对应解决措施。 妨碍微服务治理效率晋升的三大挑战本次降级尝试解决以下三个问题: 1.限流降级监控能力有余导致的流量防护性能难以使用的问题 用户在应用流量防护性能时的效率会影响到治理的及时性和有效性,相比开源Sentinel,本次降级在强化流量防护能力的同时对配套的指标监控着重做了优化与调整,以期提供优质的微服务治理体验。 2.微服务洞察能力有余导致的故障根因辨认艰难的问题 分布式复杂度晋升是微服务化的典型特点,本次降级推出微服务洞察能力,可动静采集任意点位日志,在故障辨认及根因剖析方面均做了加强,无效解决简单分布式系统状态感知问题。 3.账号权限治理能力有余导致的子账号治理越权的问题 不同环境的人员或角色在不加以限度的状况下,往往会呈现越权操作其余环境的利用状况,高危操作可能间接导致生产级故障,本次降级提出的按环境设置对应子账号管理权限的性能可无效解决这一问题。 MSE微服务治理幅员:MSE 治理热点性能回顾解析在介绍本次降级前,咱们先回顾下MSE治理的幅员。 按微服务生命周期,MSE治理范畴笼罩开发、测试、公布及线上运维各个阶段,对治理罕用的性能进行了产品化,如开发态的服务契约性能可主动生成服务契约,无效防止因文档过期造成的开发效率低下问题,测试态的服务测试性能则可疾速验证服务的可用性与正确性;变更态的无损高低线性能可无效防止利用进行进行、部署、回滚、缩容、重置等操作时的流量损失,全链路灰度性能可通过灰度规定控制目标用户,在新性能验证后再逐渐扩充灰度范畴,确保充沛验证后再全量凋谢,呈现问题后可疾速回滚,升高危险;运行态的流量管制可无效避免突增流量压垮零碎,离群实例摘除性能能够屏蔽偶发异样的节点,等异样节点复原后再持续提供服务,从而保障业务失常运行。 接入方面,Java语言反对Dubbo、SpringCloud框架,以Agent形式做到齐全无侵入,开箱即用;多语言反对GoLang及Istio。 其中MSE治理专业版罕用性能介绍如下: 无损高低线通过开启无损高低线,可无效地避免公布阶段的调用异样。具体而言,对于任何一个线上利用来说,公布、扩容、缩容、重启等操作不可避免。在利用启动个阶段,无损上线能提供相应的爱护能力,具体性能蕴含服务预热和提早注册;无损下线的配置来保障利用失常下线,尽量保障客户端无感知,即从利用进行到重启复原服务这个阶段不能影响失常的业务申请。 全链路灰度在微服务场景中,当部署的Spring Cloud利用或Dubbo利用存在降级版本时,因为利用间的调用是随机的,会导致无奈将具备肯定特色的流量路由到利用的指标版本。全链路流量管制性能将利用的相干版本隔离成一个独立的运行环境(即泳道 ),通过设置泳道规定,将满足规定的申请流量路由到指标版本利用。 泳道的设置反对网关、RPC、RocketMQ、数据库等;具备流量一键动静切流能力,可通过监控查看切流成果;此外,也提供了端到端的稳固基线环境,不便用户疾速、平安地验证新版本。 日常环境隔离日常环境隔离是全链路灰度的最佳实际。次要解决微服务麻利开发实际中联调测试阶段依赖其余环境利用的问题,如图中网关依赖A1利用,A利用依赖B2,须要做到流量可在不同环境内流转,以实现高效的麻利开发。 MSE提供的日常隔离性能能够做到各环境逻辑隔离,只须要保护一套基线环境,大幅降低成本;另外在 IDEA中应用Cloud Toolkit的端云互联,可将本机启动的利用接入到开发环境,升高开发调测老本。 在实现了MSE微服务治理罕用性能的回顾之后,咱们再看这次降级的次要内容。 流量防护欠缺:Sentinel 企业版全新降级,提供全方位流量防护对流量治理进行全面降级,包含服务端交互体验优化、流量防护外围功能完善及客户端性能晋升等方面。本节围绕流量防护的外围性能开展。 外围性能介绍微服务治理罕用的流量防护外围性能。相比开源Sentinel,商业化能力建设方面更强调流量治理性能的欠缺性和易用性。 流量管制是咱们在在双十一等大促时应用最多的防护性能,流量具备随机性、不可预测性。安稳运行的流量也随时可能呈现流量洪峰(例如“双十一”零点的场景)。然而零碎的容量总是无限的,如果忽然而来的流量超过了零碎的承受能力,可能会导致申请沉积且解决迟缓,CPU或Load过高,最终导致系统解体。通过MSE微服务治理提供的流量管制性能,能够对突发的流量进行限度,在尽可能解决申请的同时保障服务失常运行。其原理是实时监控利用或服务流量的QPS指标,当指标达到设定的阈值时立刻拦挡流量,防止利用被刹时的流量顶峰冲垮,从而保障利用高可用性。提供单机限流、分钟小时限流、关联限流等多种限流形式,反对滑动窗口、令牌桶、漏桶多种限流算法。 并发隔离实用场景是当强依赖的办法或接口不稳固的时候,能够通过配置并发线程数来限度不稳固的强依赖并发数,起到隔离异样的成果。在具体场景方面,强依赖可能是SQL或上游利用。其原理是通过管制接口或依赖的并发线程数,来保证系统的稳定性。通常实用于利用外部或上游依赖呈现不稳固的场景,例如慢SQL、上游利用响应工夫变长等。通过设定接口并发数,精准管制强依赖耗费的线程资源,防止过多的慢调用占满线程池导致服务不可用。 热点即常常被拜访的数据。热点规定通过限度热点申请爱护零碎,如秒杀场景中须要针对一段时间内最频繁购买的商品ID进行限度,避免击穿缓存而导致大量申请到数据库的情景。另外当某一热点占用过高资源而影响别的业务接口时,也需进行热点限流。原理是通过剖析统计参数,即资源调用过程中的调用次数较高的参数,并依据配置的热点规定对蕴含热点参数的资源调用进行限流,爱护零碎稳定性。可自动识别热点,反对设定单个热点流量申请大小,防止热点耗费过多系统资源。 除了上述原子防护能力外,MSE 也提供了场景化防护能力,如WEB防护是一种场景化的防护,面向提供Web服务的利用,针对拜访申请中的一些参数项进行精细化的流量管制。对于应用了支流Web框架(Servlet容器、Spring Web、Spring Boot)的利用,MSE实现了API粒度的申请参数解析,通过配置Web防护规定,能够对申请中IP、Host、Header、URL Param等参数维度的资源调用进行流量管制,爱护业务与零碎的稳定性。在具体应用场景方面,比方咱们辨认出利用虚伪信息歹意刷单的行为,则能够依据一段时间内频繁大量拜访的起源IP进行限流。 防护规定应用此次降级重在优化以监控为核心的辅助设置作为切入点晋升微服务治理平台的易用性,其中在外围指标方面做了如下几点调整: 1.异样利用辨认,利用列表透出总异样QPS和均匀RT 微服务指标依据所在档次可分为操作系统指标、虚拟机(如JVM)指标、接口指标,微服务治理时首先会关注到接口指标进行针对性治理,在问题排查时再理解操作系统指标和虚拟机指标,故在列表页透出总QPS、总异样QPS和均匀RT等参数。 2.异样接口辨认,利用概览页透出Top接口 可依据通过QPS、均匀RT等进行排序,辨认出以后利用可能存在问题的接口,便于针对性治理。 3.异样资源辨认,仅透出外围指标 如概览页中操作系统指标方面仅保留CPU和Load指标,JVM指标仅保留GC和线程数指标。 依据监控设置防护规定在利用上线时,各项指标值均有其正当范畴,当发现指标监控出现异常时可通过设置防护规定使监控水位复原至正当值,保障系统稳定性。 以流控规定的设置为例,比方咱们在接口详情中发现'/b'接口的申请量突增为到800+,而压测阶段摸高水位仅为200,为防止大量突增申请压垮节点,此时咱们应设置限流规定。配置申请阈值为200,默认开启此流控规定,流控规定即刻失效,'/b'接口的申请量复原至预期值。从而保障了以后接口的SLO。此案例的过程可拆解为如下三步: 一:通过监控指标发现接口QPS突增 二:新增流控防护规定 仅需设置流量防护阈值。 三:查看流控防护成果 从'/b'接口申请量咱们看到配置流控规定后,接口申请量及时调整到预期值,无效爱护了以后接口。 产品演进通常,线上治理闭环按零碎的稳定性保障角度在异样产生时的在线修复可用如下过程示意: 失常监控水位->发现异常->在线治理->纠偏管制->恢复正常水位。 在利用上线前,通过压测或历史教训数据可评估各项监控指标的正当水位范畴,当超出水位的范畴后,可认为零碎可能存在问题,需设置适合的设置防护规定,同时察看监控指标是否复原至失常水位,以判断设置的规定及规定的阈值是否适合并加以调整,直至监控指标复原至失常水位。 如WEB场景防护迁徙至接口详情,在出现异常时可针对性设置场景化防护规定,在治理规定设置后可通过监控指标与治理事件感知规定的无效度,从而进一步调整,最终实现零碎的稳定性保障。 此局部介绍的闭环过程,就原子能力而言曾经具备,如监控指标,防护规定及异样事件等,在原子能力的串联方面有待增强,也是产品的下一步布局。目前可通过上述过程手动实现治理闭环。 治理洞察降级:动静采集任意点位日志,轻松定位偶现异样等辣手问题分布式系统的显著特点即为运维复杂度随利用数出现爆炸式增长,一套欠缺的可感知零碎内所有利用实时状态的可观测零碎至关重要,MSE企业版推出的微服务洞察性能反对动静采集任意办法的信息,可疾速感知零碎行为,及时定位并解决问题。 在介绍微服务洞察前,咱们先看下线上利用经常出现且比拟难解的问题: 1.偶现异样,毫无法则可言,只能通过近程DEBUG或日志打印的形式,但线上环境往往不容许DEBUG,日志重新部署又十分耗时,而微服务洞察只需一条规定无需重启利用即可采集所需日志; 2.微服务治理自身的性能而言,利用的下线过程关涉的实例范畴较大,导致难以排查下线过程中的问题,而微服务洞察只需关上'高低线解决明细'开关,即可获取下线过程的事件详情,验证下线流程。 除上述实用场景外,咱们看一个实在的用户案例,某用户在利用部署过程中发现流量有损,借助洞察能力,发现利用下线时并未触发后处理逻辑,导致消费者申请到已下线实例,定位问题后及时做了解决,无效避免问题扩散。 一句话总结就是:微服务洞察通过剖析特定的日志信息能够排查问题或理解零碎行为。 ...

March 6, 2023 · 1 min · jiezi

关于阿里云:OpenKruise-开发者不容错过的带薪实习机会马上加入-LFX-Mentorship-计划

LFX Mentorship 打算由 Linux Foundation 组织发动,为像 OpenKruise 这样的 CNCF 托管我的项目提供了激励开源奉献、培植社区倒退的优良土壤。参加其中的开发者不仅有机会在经验丰富的社区 Mentor 领导下奉献开源我的项目、为职业生涯加分,实现工作后还能取得 $3000 元美金,约合 ¥20000 元人民币的丰富酬劳。 LFX Mentorship 2023 秋季实习中,新晋 CNCF Incubation 我的项目 OpenKruise 带来了 2 个工作。2 月 21 日前,但凡对 OpenKruise 感兴趣的同学,都能够通过点击文末的“浏览原文”,或登录流动官方网站申请: https://mentorship.lfx.linuxfoundation.org/ 什么是 OpenKruise 我的项目?OpenKruise 是一个基于 Kubernetes 的扩大套件,次要聚焦于云原生利用的自动化,比方部署、公布、运维以及可用性防护。OpenKruise 提供的绝大部分能力都是基于 CRD 扩大来定义,它们不存在于任何内部依赖,能够运行在任意污浊的 Kubernetes 集群中。 OpenKruise 源于阿里巴巴多年大规模利用部署、公布与治理的最佳实际,于 2019 年 6 月正式开源,并于 2020 年 11 月 正式成为 CNCF 托管我的项目。2023 年 1 月,经 CNCF TOC 投票通过,OpenKruise 晋升为 CNCF Incubation Project 。目前,OpenKruise 曾经被利用于阿里巴巴、美团、携程、网易、小米、OPPO、Lyft、Bringg、Shopee 等泛滥国内外知名企业的生产零碎中。 ...

March 6, 2023 · 1 min · jiezi

关于阿里云:Soul-云原生网关最佳实践

作者:Soul 运维 公司介绍Soul 是基于趣味图谱和游戏化玩法的产品设计,属于新一代年轻人的虚构社交网络。成立于2016年,Soul 致力于打造一个“年轻人的社交元宇宙”,最终愿景是“让天下没有孤单的人”。在 Soul,用户能够无顾虑地表白本人,认知别人,摸索世界,交换趣味和观点,取得精力共鸣和认同感,在交换中获取信息,并取得有品质的新关系。 问题与挑战 2.1 多层网关链路长Soul 在 2020 年开始逐步试探容器服务,在 ECS 转型容器阶段,呈现了容器入口网关(Ingress-Nginx),微服务网关,加上对立接入层的 SLB+Tengine;造成了多重网关的架构;链路太长不仅带来老本和 RT 的问题,而且导致排查一个申请异样,须要拉十分多的人解决,定位问题代价十分大。 2.2 Ingress-Nginx 开源问题往年 Ingress-Nginx 社区反馈稳定性和平安问题比拟多,临时进行接管新性能,对 Soul 是一个微小隐患。 2.3 Grpc 转发负载不平衡问题内网局部服务凋谢 gRPC 入口,gRPC 是基于 HTTP/2 之上的,而 HTTP/2 被设计为一个长期存在的 TCP 连贯,所有都通过该连贯进行多路复用。这样尽管缩小了治理连贯的开销,然而在负载平衡上又引出了新的问题。因为咱们无奈在连贯层面进行平衡,为了做 gRPC 负载平衡,咱们须要从连贯级平衡转向申请级平衡。换句话说,咱们须要关上一个到每个目的地的 HTTP/2 连贯,并均衡这些连贯之间的申请。这就意味着咱们须要一个 7 层负载平衡,而 K8s 的 Service 外围应用的是 kube proxy,这是一个 4 层负载平衡,所以不能满足咱们的要求。目前应用独立 evnoy + headless 计划解决 gPRC 转发不平衡问题,slb 裸露 envoy 的端口供其余服务调用;但保护老本较高,evnoy 节点资源节约较为重大 2.4 Ingress 稳定性及局限性因为业务的不确定性,随着业务申请的稳定,nginx ingress controller 会呈现连接数突增,导致 ingress controller 健康检查不通过;nginx ingress controller上游的检测须要工夫及 fail 次数积攒,导致这一阶段用户申请大量失败或重试。(如下图) ...

March 6, 2023 · 2 min · jiezi

关于阿里云:首批阿里云容器服务-ACK-顺利通过信通院云原生混部项目评估

作者:OSCAR 为了分享过来一年云原生产业联盟(CNIA)在规范建设、评估认证、技术钻研、实际单干等方面的工作成绩、摸索行业最新趋势动静,云原生产业联盟于 2023 年 1 月举办了 2022 年度线上年会,并公布了“云原生混部”首批评测后果,阿里云容器服务ACK顺利通过首批“云原生混部”我的项目评估。 云原生混部解决方案依靠容器、微服务、编排调度等云原生技术,能够帮忙用户将业务利用与大数据分析、人工智能计算等不同类型和不同优先级的利用混合部署到共享的基础设施上,进步资源利用率,实现“降本增效”。 中国信通院联结阿里云等企业单位,通过多轮研究,造成了《云原生混部技术能力要求》规范。规范内容波及基础设施能力要求、平台混部能力要求、业务利用能力要求,以及混部成果评估共四个局部,具体从资源隔离、资源复用、烦扰检测、负载反馈、任务调度、资源预测、利用服务质量等不同维度,对混部产品及解决方案进行全面评估。 阿里云容器服务 Kubernetes 版(Alibaba Cloud Container Service for Kubernetes,简称容器服务ACK)是寰球首批通过 Kubernetes 一致性认证的服务平台,提供高性能的容器利用治理服务,反对企业级 Kubernetes 容器化利用的生命周期治理。 阿里巴巴早在 2016 年就启动了云原生混部技术研发,历经多轮技术架构降级、多年双11锻炼,目前已实现全业务规模超千万核的云原生混部,日常 CPU 利用率在 50% 左右。ACK 在“公共云”和“专有云”场景下提供不同的产品状态,能够让各行业的用户轻松高效地在云端运行 Kubernetes 容器化利用。在 ACK 产品中,一个重要理念是反对多种工作负载同时运行在一个集群中,通过弹性和混部技术满足各类工作负载的资源效率、稳定性和老本优化诉求。 针对不同类型工作负载混部场景,ACK 提供了一套残缺的混部调度加强的能力,次要蕴含三个局部: 任务调度差异化 SLOQoS 感知调度、重调度任务调度,次要解决工作负载运行在 Kubernetes 之上的问题。ACK 针对微服务、大数据工作、AI 工作类型的负载提供了十分丰盛的调度扩大,解决负载之间资源精细化的隔离与共享,具体包含: 提早敏感服务的调优、CPU 绑核、CPU burst、Memory QoS 等弹性额度管制,反对工作类型典型的弹性资源调度(min/max 模型)工作协同调度,AllorNothing异构设施的拓扑感知,GPU share,NvLink拓扑感知等 差异化 SLO,次要提供一套提供部署密度和整体资源利用率的资源模型,用于反对资源调度的 overcommit。ACK 提供了在阿里外部被宽泛验证应用的差异化 SLO 技术能力,反对用户在 Kubernetes 之上以资源超卖的形式运行混部工作,进一步提高资源利用率。其外围的蕴含两局部内容: 资源分级调度,依据 Pod 实在负载运行状况进行资源画像,并将模型预估可用的资源进行二次调配,以满足具备容灾能力的计算工作的资源诉求资源隔离与烦扰克制,对于二次调配的工作,提供 CPU、Memory、Disk、Network 多个维度配套的资源隔离保障机制,将计算工作对原提早敏感工作的烦扰管制在十分小的范畴 QoS 感知调度、重调度,次要解决高水位状态下工作负载对运行品质的敏感的问题。ACK 提供了一套加强的负载感知调度与重调度框架: 负载感知调度,在调度打分阶段引入对于节点运行时状态的判断,防止节点负载过高导致机器呈现热点响应慢等影响稳定性的问题重调度,提供了具备资源确定性、腾挪平安爱护的重调度器,反对用户在特定时间段执行设定的重调度策略,继续的调整集群资源编排以达到现实状态 基于 ACK 上提供的混部解决方案,阿里云于 2022 年 4 月正式开源 Koordinator 我的项目,帮忙企业更疾速获取云原生混部带来的资源效率红利,实现公共云、混合云统一的云原生混部架构,升高零碎运维老本,放弃长期可继续倒退的衰弱状态。 ...

March 6, 2023 · 1 min · jiezi

关于阿里云:开源项目的演进会遇到哪些坑KubeVela-从发起到晋级-CNCF-孵化的全程回顾

作者:孙健波、曾庆国 点击查看:「开源人说」第五期《KubeVela:一场向利用交付规范的冲锋》 2023 年 2 月,KubeVela [ 1]  通过整体 ToC 投票胜利进入 CNCF Incubation,是云原生畛域首个升级孵化的面向利用的交付和治理平台。KubeVela 背地的核心理念是 2019 年阿里云和微软联结公布的凋谢利用模型(OAM),演变至今,KubeVela 通过其可编程可扩大的架构、良好的用户体验,以及大量的生态外围能力,帮忙了钉钉、招商银行、现实汽车、挪动云、百度等数百家企业构建其云原生利用平台,大大降低了云原生技术的应用门槛。 KubeVela 自身也有别于“大厂开源”的惯性模式,它从第一天起就遵循“社区发动、凋谢治理、国际化运作”的准则,核心理念之一就是“始终以业界的最宽泛和最实在场景作为我的项目演进的指南针”,所以倒退门路中始终在聆听社区的声音,以最广泛、最共性的需要为最高优先级。因而,咱们也有幸经验了一个我的项目从社区发动到用户群体壮大的全过程。从技术迭代、欠缺性能,到社区经营、开源治理,再到打磨产品、建设生态,咱们克服了诸多困难,这或者是开源我的项目都会遇到的挑战。 明天,咱们将做一个残缺的回顾,梳理我的项目演进过程中的那些“坑”,心愿对整个开源生态的倒退有所帮忙。 我的项目发动:明确指标和定位一个开源我的项目的发动,其最外围的是明确我的项目的指标和定位。 OAM/KubeVela 诞生之初的 2018-2019 年,过后咱们判断:随着云原生技术逐步对立基础设施和工作负载层面的形象,如何进一步简化和标准化利用交付与治理层面的操作和性能,会成为接下来一个十分天然的演变方向,也会成为市场的下一个焦点。这外面咱们次要思考了四个方面: 受众大多数开发者,也就是最终业务利用的开发者,他们日常关怀的是利用开发和部署,而不是计算存储网络,这意味着应用层的大幅简化和标准化肯定会成为强需要。 定位和空间Kubernetes 十分明确的要把它的抽象层次停留在基础设施层,这为应用层的进一步翻新和工作提供了足够的空间和撑持。 行业格局在 Kubernetes 逐步成为事实标准的背景下,大多数技术(比方 OpenShift)仍然在做局限的封装,而原生的工具(如 helm、kustomize)又过于简略。这样既不满足云上用户碎片化、多样化的应用诉求,也无奈打造用户敌对的应用体验。 技术储备CRD Operator, Terraform 等 IaC 技术的逐渐遍及提供了一个疾速交付可编程、模块化的利用治理形象,而基于 Kubernetes,一个独立的利用治理和交付零碎能够十分专一于该层自身,而无需关注基础设施层的问题。 基于以上趋势的判断,阿里开始在 2019 年逐渐布局利用交付与治理畛域,提出了一系列先导性摸索和实际,包含 Helm/Kustomzie 利用治理、多集群利用交付 [ 2] 等。最终确定将“让软件交付在当今风行的混合、多云环境中变得更加简略、高效、牢靠”作为咱们的外围指标和愿景,将“一个与基础设施无关的、用户敌对但又灵便可扩大的利用交付形象”作为咱们的外围交付物,这个利用交付形象就是明天的 OAM spec,而随后呈现的 KubeVela 则是这一层形象的具体实现。 图 1:KubeVela 是什么? 明确的指标和定位不仅撑持了 KubeVela 开源团队以及大量社区贡献者能够在绝对涣散的模式下长期合作,还帮忙团队从大量芜杂的需要中解放出来,专一在最外围的问题域中。 比方 KubeVela 不会涉及工作负载自身,用户能够抉择集成 Kubernetes 原生的 Deployment,或者本人扩大 CRD Operator,又或者抉择 OpenKruise 这样的工作负载管理工具。同时团队专一于我的项目的集成能力和扩展性,比方咱们投入了足够的精力去做 Kubernetes API 的编排,任意的 Kubernetes 资源都能够在 KubeVela 体系中组合、拆分、查看状态、传递参数,这一个性使得 KubeVela 晚期疾速的打出了本人的市场定位,并且取得了像第四范式这样的晚期用户。 ...

March 6, 2023 · 2 min · jiezi

关于阿里云:听说你没法在-JRE-中使用-arthas不你可以

作者:卜比 本文是《容器中的 Java》系列文章之 5/n ,欢送关注后续连载 :) 。 JVM如何获取以后容器的资源限度?——容器中的Java 1Java Agent踩坑之appendToSystemClassLoaderSearch问题——容器中的Java 2让 Java Agent 在 Dragonwell 上更好用——容器中的Java 3为什么在容器中1号过程挂不上arthas?——容器中的Java 4之前常常遇到的问题是,排查问题须要挂arthas,但客户用的是JRE,没法挂载arthas。就只能让客户更换成JDK,再重新部署、排查问题。 很多有用的现场,在这个过程中也会失落,最终导致问题排查效率升高。于是就摸索了下如何在JRE环境中,应用artahs。 复现问题如果一个Bug 没法复现,研发大概率是无奈修复的。—— by 网友 咱们写一个Java例子和Dockerfile: // ./src/main/java/Main.javapublic class Main { public static void main(String[] args) throws Exception { while (true) { System.out.println("hello!"); Thread.sleep(30 * 1000); } }}# ./DockerfileFROM openjdk:8-jdk-alpine as builderCOPY ./ /appWORKDIR /app/src/main/java/# 编译java文件RUN javac Main.java# 运行时容器应用JREFROM openjdk:8-jre-alpineRUN apk add bash curl busybox-extrasWORKDIR /app/src/main/java/# 将arthas copy 到容器中COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthasCOPY --from=builder /app/src/main/java/ /app/src/main/java/CMD ["java", "Main"]构建并失常启动利用,并尝试用arthas attach,此处为了便于理解原理,咱们应用as.sh来执行: $ # 构建镜像$ docker build . -t example-attach$ # 启动容器$ docker run --name example-attach --rm example-attach$ # 在另一个终端进入容器,执行as.sh$ docker exec -it example-attach sh/app/src/main/java $ /opt/arthas/as.shArthas script version: 3.6.7tools.jar was not found, so arthas could not be launched!行吧,咱们先用jdk运行下,先看下arthas是怎么attach起来的: ...

March 2, 2023 · 2 min · jiezi

关于阿里云:借助阿里云-AHPA苏打智能轻松实现降本增效

作者:元毅 "高猛科技已在几个次要服务 ACK 集群上启用了 AHPA。相比于 HPA 的计划,AHPA 的被动预测模式额定升高了 12% 的资源老本。同时 AHPA 可能提前资源预热、主动容量布局,可能很好的应答突发流量。" ——赵劲松 (高猛科技高级后盾工程师) 背景高猛科技是一家硬件设施制造商。专一于为全国高校学生提供高品质生存服务的当先运营商,服务项目包含自助洗衣、智能直饮水等。其“苏打智能”品牌(原“苏打校园”)成立于 2016 年,专一于用高新科技的力量构筑智能生态,保障、晋升消费者生活品质。苏打智能以客户需要为导向,引进高端品牌设施,搭建先进欠缺的智能物联平台。次要面向高校、办公楼宇、医院、商场、公寓等场合提供智能直饮水、智能洗衣、智能淋浴等服务。 遇到的问题“苏打智能”目前已在全国 30 个省(直辖市、自治区)260 个城市(地区)1800 所高校提供各项服务,用户超过 1000 万人,服务全国高校学生超过1亿人次。 随着业务量的增长及业务微服务和容器化,利用的资源需要可能就像月亮一样有阴晴圆缺,有周期变动。例如在线业务,尤其是交易业务,它们在资源应用上出现肯定的周期性,例如:在凌晨、上午时,它的使用量并不是很高,而在午间、下午时会比拟高。 如何充分发挥 K8s 的资源弹性特色,使业务层更加灵便、老本升高变为次要问题。 解决方案通过沟通,首先客户对解决方案设定了能够交付的规范—— “既要稳定性,也要利用率,还要自动化施行,当然如果可能智能化那就更好”,而后再对交付规范进行细化: 业务容器按需分配资源:能够及时依据业务实时资源耗费对不太长远的未来进行资源耗费预测,让用户明确业务接下来对于资源的实在需要;工具自身资源开销小:工具自身资源的耗费要尽可能小,不要成为运维的累赘;操作不便,扩展性强:能做到无需承受培训即可玩转这个工具,当然工具还要具备良好扩展性,供用户 DIY;平安稳固:工具自身高可用。所用的算法和施行伎俩必须做到可控;在对苏打智能业务的利用场景和需要有了深刻了解后,举荐了阿里云容器服务 ACK 弹性预测 AHPA 解决方案。相比 HPA(Horizontal Pod Autoscaler) ,阿里云容器服务 AHPA(Advanced Horizontal Pod Autoscaler)能够依据业务历史指标,自动识别弹性周期并对容量进行预测,解决弹性滞后的问题。通过被动预测和被动预测相结合,实时调整资源实例数。被动预测基于利用实时指标计算 Pod 数量,也能够很好的应答突发流量。 AHPA 劣势全托管、免运维,提供开箱即用的弹性能力对业务所需资源提前预热,主动容量布局提供规范 k8s api, 不便平台集成扩大弹性组件本身高可用,基于阿里巴巴达摩院预测算法稳固高效 极致弹性 降本增效高猛科技已在几个次要服务 ACK 集群上启用了 AHPA。通过验证,相比于 HPA 的计划,AHPA 的被动预测模式额定升高了 12% 的资源老本。同时,AHPA 主动计算负载曲线、设定指标容器数等特点,代替了人工运维的工作量,优化了业务容器化的架构。 对于 AHPAAHPA(Advanced Horizontal Pod Autoscaler) 是阿里云容器服务 ACK 与达摩院单干推出的容器智能弹性预测产品,能够依据业务历史指标,自动识别弹性周期并对容量进行预测,帮您提前进行弹性布局,解决弹性滞后的问题。 ...

March 2, 2023 · 1 min · jiezi

关于阿里云:阿里云云原生每月动态-聚焦实战面向开发者的系列课程全新上线

作者:云原生内容小组 云原生是企业数字翻新的最短门路。 《阿里云云原生每月动静》,从趋势热点、产品新性能、服务客户、开源与开发者动静等方面,为企业提供数字化的门路与指南。 本栏目每月更新。 趋势热点《云原生实战指南》白皮书公布云原生曾经变成十分风行的技术趋势,从上云到用云,云原生通过全面容器化、核心技术互联网化和利用Serverless化三大范式,帮忙企业解决利用构建的一系列问题,《云原生实战指南》应势而生。从本书中,您将播种阿里云在云原生畛域的最新产品与技术布局,阿里云 All in Serverless 思考与投入;识货、传音、新东方、小红书等企业实战经验。 【阿里云云原生】公众号后盾回复:实战指南,即可下载 阿里云斩获多项云零碎稳固平安运行优良案例近日,阿里云凭借在稳定性畛域的全栈投入,获评中国信通院混沌工程实验室2022年度杰出贡献企业,并斩获“云零碎稳固平安运行优良案例”流动中多畛域优良案例。阿里云获:全链路压测优良实际案例——《阿里云全链路压测实际》;云零碎运行故障应急处理实际案例——《阿里云数字化平安生产平台及落地实际》及云零碎容灾优良实际案例——《阿里云利用多活容灾解决方案》。 云原生技术中台 CNStack 助力龙源电力落地云边协同,运维提效10倍云原生技术中台 CNStack 助力龙源电力云边协同我的项目胜利落地,实现数百风电场站边缘利用运维效率晋升10倍,场站计算资源利用率晋升3倍,帮忙龙源电力放慢向“双碳”指标迈进。本次单干案例同时入选2022 CNBPA公共事业行业最佳云原生实际奖。 云原生混部零碎 Koordinator 获评“2022年度开源影响力我的项目”国内出名技术社区 CSDN 2022 中国开发者影响力年度榜单揭晓,云原生混部零碎 Koordinator 获评“年度开源影响力我的项目”。本次评比耗时1个月 , 共有数百家企业、机构与产品报名参加评比,2022年4月开源的 Koordinator 当年开源即获奖。 产品新性能容器镜像服务 ACR 企业版国内站反对云平安扫描引擎企业版反对镜像同城冗余存储制品核心降级Prometheus 监控服务 国内站反对包年包月计费模式集成核心上线Knative 监控Prometheus告警规定减少状态【主动中断】及状态形容利用实时监控服务 ARMS 告警治理反对区域切换告警排班的换班告诉反对企业微信、飞书告诉微服务引擎 MSE 提供云原生网关和微服务治理集成的全链路灰度性能注册配置核心提供反软弱能力Serverless 利用引擎 SAE 基于 eBPF 技术,SAE 提供无侵入的利用监控和告警能力,反对任意语言和任意框架反对通过云效部署 SAE Job,买通CD流程服务网格 ASM 数据面 Sidecar 代理配置参数加强网关平安能力加强可观测指标监控优化音讯队列 RocketMQ 版 新增通过 Message ID 查问指定音讯的具体信息修复当音讯体存在不非法字符时无奈解析的问题云原生技术中台 CNStack 云原生技术中台 CNStack2.0上线,一系列全新公布: 基于 CNStack 的利用治理服务、多集群服务、云原生虚拟化服务、云边协同服务、服务网格等 优良实战案例外围利用实现云原生革新降级,波司登数字化策略减速落地阿里云帮忙波司登量身定制了云原生革新所需可观测性体系、全链路压测、零碎变更与调优、全链路资源查看等计划,并为波司登建设了专属应急保障体系。通过波司登技术团队和阿里云服务团队的的集中技术攻坚,圆满完成OMS、POS、CRM三套外围零碎的容器化和分布式革新,且一次性上线割接胜利,放慢推动了波司登数智化策略的过程。 举荐浏览:外围利用实现云原生革新降级,波司登数字化策略减速落地 谐云基于 KubeVela 的企业级云原生实际谐云疾速集成了KubeVela,并将原有的多种利用模型(基于Helm、基于原生Workload、基于OAM的利用模型)对立成基于KubeVela的利用模型。这样做既加强了谐云Kubernetes底座的扩展性和兼容性,同时又基于Application这一形象资源拆散的基础架构和平台研发,将许多业务性能下沉到底座基础设施,以便适应社区一直倒退的节奏,疾速接入多种解决方案。 举荐浏览:利用纳管和灰度公布:谐云基于 KubeVela 的企业级云原生实际 ...

March 2, 2023 · 1 min · jiezi

关于阿里云:基于-eBPF-的-Serverless-多语言应用监控能力建设

作者:竞霄 监控能力作为根底运维能力和外围稳定性措施,开发运维人员能够通过监控零碎无效进行故障定位,预防潜在危险,剖析长期趋势进行容量布局和性能调优,是软件开发生命周期中必不可少的一环。与此同时,Serverless 作为云计算的最佳实际和将来演进趋势,其全托管免运维的应用体验和按量付费的老本劣势,使得其在云原生时代备受推崇,在下一个十年将成为云厂商提供的外围能力。随着 Serverless 的心智遍及度越来越高,场景覆盖度越来越广,更多应用 PHP, Python,C/C++, Node.Js, Golang 等语言的用户开始进行 Serverless 架构降级。 对于这部分用户来说,传统的利用监控计划存在以下痛点: 建设老本高 **需部署一整套监控零碎,包含数据采集,指标传输,长久化存储,可视化展现,告警等模块,减少了额定的资源老本和人力老本。埋点强入侵 **需评估各语言,各框架,各接口的监控指标诉求,引入三方依赖进行繁琐地手动埋点。尽管对于 PHP, Python 等语言,曾经有借助对象(模块)替换加强的技术实现无需批改的指标采集,但其能力成熟度,框架兼容性,运行稳定性等方面都还有进一步晋升的空间。运维简单 **用户须要确保整个监控链路的低延时,高可用和指标准确性,须要比照剖析引入监控埋点后对原有利用性能上的影响并继续优化。Serverless 产品须要提供一种对立的,开箱即用的,无入侵零革新的形式来实现任意语言的利用监控能力,使得多语言用户能够充沛享受 Serverless 带来的普惠技术红利。 上面咱们首先对其背地应用的 eBPF(Extended Berkeley Packet Filter) 技术进行介绍。 何为 eBPF?eBPF 全称为 Extended Berkeley Packet Filter,始于 Linux 3.18,是一项革命性的 Linux 内核技术。eBPF 提供了基于零碎或程序事件的高效,平安,无入侵执行特定代码的通用能力。在 eBPF 诞生之前,因为用户态与零碎态互相隔离,应用程序无奈间接解决内核数据,而如果间接批改内核又具备相当的复杂性,每次开发或调试都须要从新编译,效率非常低下,安全性也无奈保障。 eBPF 作为一个运行在内核中的虚拟机,容许开发人员间接提交 eBPF 程序,在不批改内核代码的状况下运行特定的性能。eBPF 程序基于事件驱动模型,当内核运行到特定 hook 点时会触发执行,预约义的 hook 点包含零碎调用、函数进入/退出、内核 tracepoints、网络事件等。对于不存在的 hook 点也能够通过 KProbe,UProbe 进行动静埋点,提供内核态和用户态函数的追踪能力。借助丰盛的 hook 点,eBPF 技术可被广泛应用于包含网络监控、平安过滤和性能剖析等诸多场景。 eBPF 的工作流程如下图所示,首先通过在用户空间内应用 LLVM 或者 GCC 将编写好的 eBPF 程序编译成为字节码,而后借助零碎调用 bpf 将其加载至内核中。eBPF 虚拟机将应用验证器对字节码进行安全性校验,如只能应用受限的 helper 辅助函数,无限的循环次数和执行工夫,DAG 判断是否存在不可达代码等,防止其造成内核解体。 ...

March 2, 2023 · 1 min · jiezi

关于阿里云:更安全更稳定阿里云斩获多项云系统稳定安全运行优秀案例

近日,阿里云凭借在稳定性畛域的全栈投入,获评中国信通院混沌工程实验室 2022 年度杰出贡献企业,并斩获“云零碎稳固平安运行优良案例”流动中多畛域优良案例。阿里云继续推动企业 IT 零碎建设,保障千行百业平安稳固的实现数字化转型与翻新。 此次“云零碎稳固平安运行优良案例”流动共收集超 100 份申报材料,历经多轮专家评审共评比出 7 个技术畛域的泛滥优良案例。旨在开掘行业最佳实际案例,为泛滥企业的稳固平安运行提供参考。接下来,咱们将为大家一一进行解读。 全链路压测优良实际案例 :《阿里云全链路压测实际》 在数字化转型 & 降级背景下,政企客户逐渐将业务利用迁徙上云并进行分布式革新,业务架构也变得更加简单。分布式环境下,任意节点都可能成为性能瓶颈,同时零碎可用性随着业务快速增长,面临严厉且不确定的挑战。在此背景下,如何精确掂量利用可能承载的极限流量水位成为挑战。传统压测办法存在高老本、高复杂度、难以保护、压测后果不精准等劣势,而无奈满足以精准流量模仿进行低成本容量预估的强需要。 阿里云全链路压测(End-to-end Performance Testing)正是为解决这个问题而诞生。全链路压测反对支流中间件,横跨 RPC、日志、存储、音讯队列等品种,通过流量染色、标记透传,赋予施压过程以流量隔离的能力,使得在不净化生产库的前提下对实在的生产环境做压测,帮忙客户获取最实在精准的生产环境抗压水位数据。 云零碎运行故障应急处理实际案例:《阿里云数字化平安生产平台及落地实际》 随着越来越对企业业务利用上云并进行分布式架构革新,业务架构变愈发简单,敏感水平也变高。传统运维伎俩存在工具割裂,面向基础设施而非业务,被动运维,不足面向分布式架构利用的标准稳固保障体系等劣势,使得无效保障业务稳定性和连续性成为挑战。 针对以上挑战,秉承着平台运维理念的数字化平安生产平台(Digital Production Stability)应运而生,平台外围面向 1- 5-10 应急响应场景,提供应急事件和故障的发现、响应和解决,提供应急场景的定义与治理、故障监控布防、故障上报、应急协同、过程跟踪、故障复原、改良措施的全生命周期治理能力。帮忙企业晋升业务稳定性,提供故障应急场景的一站式服务。 云零碎容灾优良实际案例:《阿里云利用多活容灾解决方案》 为了预防和防止线上零碎遭逢天下大乱,保障业务继续运行并对外提供服务,通常有灾备、多活等多种计划。传统容灾大多建设在数据级容灾根底上,劫难产生时会在约定工夫范畴(RTO)内复原运行,尽可能减少劫难带来的损失。但在理论施行时,因为灾备核心存在平时不提供服务,关键时刻无奈确定是否胜利切换;大体量业务无奈解决单地区资源瓶颈;闲置状态老本节约比拟低等问题。 利用多活作为利用容灾的重要模式,在同城或异地机房建设一套与本地生产零碎局部或全副对应的生产零碎,所有机房内的利用同时对外提供服务。当劫难产生时,多活零碎能够分钟级内实现业务流量切换,用户甚至感触不到劫难产生。阿里云利用多活容灾解决方案具备分钟级RTO。复原工夫快。资源充分利用。资源不存在闲置的问题,多机房多资源充分利用,防止资源节约。切换成功率高。流量精准管制。利用多活反对流量自顶到底关闭,依靠精准引流能力将特定业务流量打入对应机房,企业可基于此劣势能力孵化全域灰度、重点流量保障等个性。 在以上案例背地,咱们能够看到软件行业须要标准化技术能力和方法论来保障线上业务稳定性。从 2018 年起,阿里巴巴团体致力于 IT 软件畛域的平安生产建设:增强高可用架构根底建设的同时,提供 SRE 转型的流程机制体系,配合可用性能力、组织能力和劫难恢复能力等指标,造成一套残缺的平安生产办法体系。 在 2022 杭州 · 云栖大会上,阿里云数字化平安生产平台 DPS 重磅公布,DPS 是以保障业务连续性为指标的一站式管控 SRE 平台,助力传统运维向 SRE 转型,企业级利用对业务连续性要求较高,若产生故障则资损重大,在SRE 转型初期就须要将平安生产理念纳入其中;对于以互联网架构为外围的中等规模业务,能够通过阿里云利用高可用服务 AHAS、压测服务 PTS 的产品体系来保障外围场景的稳定性和韧性,而本身则能够更加专一在业务翻新中;对于中小规模的开发者,也能够通过阿里云提供的面向高可用的中间件框架和工具体系如 ChaosBlade、AppActive、Sentinel,构建本身的高可用体系。 能够看到平安生产是高可用的将来方向,阿里云通过残缺产品家族,笼罩混沌工程、全链路压测、多活容灾、平安生产等企业平安生产场景,并灵便反对不同部署模式。帮忙企业以云原生伎俩来应答业务高速迭代,促成业务与 IT 的全面协同,多维度来帮忙客户建设欠缺业余的业务连续性保障体系。 云服务的运行稳固已成为信息通信行业平安生产的重要组成部分。确保云服务的稳定性和业务的连续性是为平安生产提供平安稳固的网络运行环境,意义重大,责任重大。阿里云始终保持推动数字化转型与翻新,帮忙企业建设平安管理体系,健全平安责任制;同时,加强各类零碎稳定性危险的防控能力与应答能力。 建设云服务稳固运行规范体系及云服务可用性监测平台,促成云服务衰弱稳固继续倒退。为金融、交通、电信、电力和制作等各行业和畛域用户提供 IT 零碎稳定性解决方案和服务。

March 2, 2023 · 1 min · jiezi

关于阿里云:Serverless-时代开启云计算进入业务创新主战场

作者:于洪涛 “咱们心愿让用户做得更少而播种更多,通过 Serverless 化,让企业应用云服务像用电一样简略。” Serverless 化正在成为全新的软件研发范式,阿里云将动摇推动外围产品全面 Serverless 化,帮忙客户更好的实现麻利翻新。 近来,寰球正在减速推动云计算的 Serverless 化过程。作为一个革命性的技术,Serverless 的价值,不仅体现在技术层面和开发者层面,更为企业的业务翻新带来了价值,并推动商业模式的改革,以取得更强的市场竞争力。 阿里云资深技术专家、Serverless 研发负责人杨皓然在承受「科技商业」媒体采访的时候,介绍 Serverless 将带来三大趋势:云产品全面 Serverless 化、利用架构 Serverless 化、组装式研发,并全面介绍了阿里云 Serverless 产品布局与外围价值。 点击查看:https://www.bilibili.com/video/BV1w44y1R7x1/ 把繁琐的根底工作交出去向“出门好生存凋谢服务平台”降级的「高德地图」,削减了更多用户应用场景,业务零碎变得更加简单。这导致系统的波峰波谷更为显著,难以放弃零碎稳固;而且如果要把业务逻辑放在 APP 上,还会导致 APP 过大且须要频繁降级。 通过对系统架构的深度思考,高德地图决定全面拥抱 Serverless,利用阿里云的 Serverless Devs 开发平台,同时引入函数计算服务来解决业务逻辑。Serverless 免运维、高弹性等劣势,不仅升高了开发和运维的难度,还使得其业务逻辑能够在后端实现,升高前端 APP 的累赘。 利用 Serverless 之后,高德地图的开发和运维工作变得简略了,而业务反对能力更强了。这正是 Serverless 带来的价值。 点击查看: https://www.bilibili.com/video/BV1324y1i7f6/ 阿里云 Serverless 研发负责人杨皓然示意,技术只是一种伎俩,目标是帮忙客户解决问题,助力业务胜利。Serverless 的实质是,把大规模简单软件开发过程中,对客户业务翻新无关的繁琐的根底工作,交给云服务商来做。 比方,企业为了开发利用,须要先搭建开发环境,做大量资源管理层面的工作。有了 Serverless,这些工作都能够由云服务商来实现。后者的技术能力更强,企业则只须要享受其技术红利即可。 让云服务像用水用电一样简略,是私有云诞生时即有的幻想。直到现在才通过 Serverless 来逐渐落实,因为其须要云服务商长时间的技术积攒。现在,阿里云的函数计算颗粒度曾经放大为 0.01 核和 128M 内存,实时伸缩则能够在 200-300 毫秒内实现。 自从 2017 年推出第一个 Serverless 服务函数计算之后,阿里云当初曾经领有超过 20 款 Serverless 产品,包含函数计算、Serverless 利用引擎 SAE、弹性容器 ECI、Serverless Kubernetes ASK 等。其中,利用率最高的函数计算,日调用次数曾经超过 200 亿次。 ...

March 2, 2023 · 2 min · jiezi

关于阿里云:从元年到壮年物联网需要物模型完成进阶实践类

本文重点面向内部用户从端到端全链路接入阿里云IoT平台物模型的流程,次要心愿对物联网感兴趣或者业务须要接入阿里云IoT平台的企业,可能对物模型有个简略理解。具体概念性介绍后续另起文章。 同时也倡议依照文中接入流程体验一下IoT平台,依据DEMO,能够从端到端将设施上报、上行管制、业务服务实现串联,实现一个最根底的物联网软硬一体解决方案。 一、物模型价值1.1 物联网元年关键词:摸索、疾速 2016年阿里云物联网平台(前称:物联网套件)上线,为客户设施上云提供了通道能力,包含MQTT连贯、音讯流转等外围性能。 第一批客户大多基于该模式应用物联网平台能力,过后整个行业处于物联网云平台起步期,包含AWS,Azure起步阶段同样只是提供通道能力。 基于通道能力,客户应用物联网平台接入形式详见文档:https://developer.aliyun.com/article/746536 这个阶段的客户大多是硬件厂商,软硬一体开发,尝试物联网转型晋升设施价值,对物联网平台的诉求比较简单,心愿本人更多参加,对新模式有更多把控力,所以都会采纳自定义协定上云。 1.2 物联网凋敝关键词:生态、扩大、数字化近两年物联网设施、解决方案如雨后春笋般涌出,不少用户心愿赶上物联网这波浪潮。这个阶段的客户不仅仅关注设施连云,也开始关注围绕设施产生的解决方案。因而客户角色从硬件厂商,疾速扩大到集成商、软件提供商等。因为大量角色的进入,对软硬开发解耦、易扩大的能力提出了诉求。同时咱们也发现第一批应用通道能力的平台客户随着本人业务倒退、设施扩大,原来的架构已无奈撑持,对物联网平台也提出了新的要求。 举两个典型场景: 老客户降级:某个共享设施提供商,原来仅提供大学校园共享洗衣机服务,利用物联网平台通道能力上云,随着公司业务倒退,从共享洗衣机业务扩大到校园淋浴、饮水机、充电桩等多类设施,原来自定义协定和API无奈撑持多品类设施,难扩大。须要有一套接入规范和标准,不便疾速扩大设施类型。新生态客户:某个充电桩平台客户,提供充电桩治理平台,作为甲方要求大量桩企(乙方)依照平台标准接入,典型的软硬件拆散场景。须要有一套接入规范和标准,不便疾速扩大桩企规模。这一阶段平台在通道能力之上,提供了物模型能力,物模型能够屏蔽底层设施差别,让软件开发者基于平台提供的规范API开发;硬件开发者基于平台提供的标准协议开发;从而达到软硬开发解耦的目标。1.3 物联网赋能关键词:场景化、智能物联网终极目标肯定是基于设施采集数据赋能业务,实现数字业务化。例如金融、物流、家居、餐饮、商场、医疗、交通等不同畛域通过物联网数字化后,联合数据分析智能化决策、互联互通、场景规定、数字孪生等能力实现纵深畛域场景化、智能化。 这一阶段平台在通道能力、物模型能力之上,还进一步提供设施智能运维、数据分析、可视化、数字孪生等高价值服务,帮忙客户数字化后产生真正的业务价值。基于以上剖析,物联网曾经过了最后的“元年”阶段,也迈入了“凋敝”阶段,正逐渐朝“问物联网要赋能”的阶段演进。物模型是物联网生态化、高扩大、数字化、智能化十分重要的根底,强烈建议客户应用。 二、物模型接入实际2.1 自定义接入模式以一个老客户为例,原来仅应用物联网平台通道能力,以下1~8流程都须要自定义开发,当客户设施类型足够简略时,该模式复杂度通常不会成为客户痛点。 2.2 面临的挑战随着客户接入设施品种越来越多,面临的扩展性问题也越来越严厉。 2.3 应用物模型后的模式物模型模式下,设施与云交互协定、云平台设施API都基于物模型标准化了,即便设施一直扩大,客户业务服务器和设施端逻辑都不须要进行调整,保障了扩展性。 三、物模型接入流程具体介绍3.1 流程图以下是客户具体接入流程,次要分为:云端配置、设施开发、服务端开发、设施运行时治理四大局部。平台会提供一些工具,使各局部流程更高效。接下来进行具体介绍。本文试图手把手介绍从0到1接入物模型,还会配套介绍一些接入过程中有帮忙的平台能力,所以文章篇幅比拟长,事实上客户接入流程还是非常简单的,真正开发只须要波及到图中红色三个模块。如果您心愿疾速接入,能够间接关注P0局部,其它局部都能够跳过。 3.2 云端配置3.2.1 创立产品(P0)登录物联网平台:https://iot.console.aliyun.com/product阐明: 所属品类:规范品类库提供了一些供参考的模板,抉择后能够批改,倡议应用。节点类型:依据理论抉择即可。数据格式:“ICA规范数据格式(Alink JSON)”示意设施应用规范Alink JSON格局上报数据;“透传/自定义”示意设施能够应用自定义格局,通过Alink特定Topic上报物联网平台,该模式客户须要写脚本进行转换,透传模式在此不做开展,前面独自起文章介绍。3.2.2 物模型建模(P0)模型查看已有的模型是继承自创立产品时抉择的“充电桩”品类模板。编辑模型通过“编辑草稿”,进行批改和增加,最初须要对物模型“公布上线”。阐明: 定义物模型十分重要,物模型通过属性、事件、服务三要素形容了设施所有能力,设施和云交互、客户服务器拜访设施通过物模型都能够实现协定标准化。如果客户定义的物模型如果足够通用和业余,阿里能够帮忙作为ICA行业标准进行推广。服务的调用形式有:同步调用、异步调用两种模式。客户云端开发调用上行管制API,同步调用和异步调用获取返回后果形式不一样,在后文“3.3”章节具体介绍。物模型概念介绍物模型介绍文档:https://help.aliyun.com/document_detail/73727.html理解物模型概念,可能帮忙您更好对设施建模。 3.2.3 物模型配置以后默认是物模型强校验模式,即设施上报数据在IoT平台会进行物模型数据标准强校验,如果不符合规范会报错。 另外物模型弱校验、免校验、去重等规定也会在近期陆续凋谢,前期进行文档补充。 配置之后,会在设施运行时失效。 关联浏览:4.2 物模型扩大规定校验。 3.2.4  注册三元组(P0)注册设施阐明: 增加设施:测试阶段应用较多,单个增加。批量增加:量产阶段应用,有两种模式,“主动生成”示意设施标识符(deviceName)由平台依照肯定的规定随机颁发;“批量上传”反对客户自定义设施标识符(deviceName)。查看设施列表能够通过“设施列表”、“批次治理”两种形式查看创立的设施列表。通过“批次治理”查看这一批次设施详情,并且反对下载三元组列表。留神:此处设施标识符(deviceName)十分重要,与productKey, deviceSecret一起称为设施的“三元组”,作为设施的惟一身份,大部分状况须要烧录到设施上。 3.3 设施开发3.3.1 应用设施SDK开发 (P0) SDK文档 设施SDK文档:https://help.aliyun.com/document_detail/42648.html阐明:依据须要抉择适合的语言版本。C SDK 倡议应用“4.x”版本。 开发前筹备 本文抉择 Java SDK进行演示 环境筹备:https://help.aliyun.com/document_detail/97331.html 物模型开发:https://help.aliyun.com/document_detail/97333.html 开发之前须要先筹备好两份数据:1)设施三元组;2)设施物模型;1)设施三元组 productKey:*deviceName:deviceSecret:*2)设施物模型 为了不便查看物模型具体数据标准,通过导出“物模型TSL”查看具体物模型定义,其中包含物模型属性、事件、服务标识符、参数、数据标准。抽取局部内容,针对以下属性、事件、服务在DEMO中进行开发演示。开发代码DEMO 只须要将三元组,和属性、事件、服务参数替换成您的设施信息。其它代码能够间接运行。 对于免订阅能力介绍: 有些设施最资源比拟敏感,为了防止初始化订阅大量Alink协定中零碎Topic带来的性能开销,平台提供了免订阅能力,即平台帮设施进行Topic订阅。 SDK只有3.1.0及当前版本反对免订阅能力,并且默认关上该能力。 如果3.1.0及当前版本SDK您心愿勾销免订阅,仍旧按需订阅Topic,能够设置SDK配置项敞开该能力,在make.settings中设置“FEATURE_MQTT_AUTO_SUBSCRIBE=n”。阐明: 上报属性胜利,云端会返回REPLY,有以下日志阐明设施到云,云到设施的链路全副走通。设施收到属性设置指令,在实现物理设施属性批改后,倡议将最新属性同步上报云端。3.3.2 不应用SDK开发  协定筹备 “2.1 应用设施SDK开发”介绍了应用阿里云提供的SDK进行设施开发,当然您也能够抉择不应用SDK,齐全基于Alink协定(设施和云交互协定)开发。 Alink协定文档:https://help.aliyun.com/document_detail/90459.html 重点关注物模型协定局部: https://help.aliyun.com/document_detail/89301.html。外面蕴含了物模型相干所有Topic介绍(物模型Topic列表在控制台也能够查看,如下图)。文档具体介绍了设施端如何向云端上报“属性”、“事件”,如何订阅云端向下发送的“服务”指令。 Topic和Payload都基于客户定义的物模型进行标准化和规范化,从而使得客户设施与云交互方式不会随着设施类型变动而扭转,满足扩展性要求。 环境筹备依据本人选型抉择适合的MQTT客户端,本文抉择eclipse paho。开发 DEMO 物模型复用“2.1 应用设施SDK开发”中“开发前筹备”给出的。 对于免订阅能力介绍: 有些设施最资源比拟敏感,为了防止初始化订阅大量Alink协定中零碎Topic带来的性能开销,平台提供了免订阅能力,即平台帮设施进行Topic订阅。 SDK只有3.1.0及当前版本反对免订阅能力,并且默认关上该能力。 如果不应用SDK开发,能够通过设施端在MQTT的连贯报文中的clientId局部, 新增_ss=1示意开启主动订阅, 建连胜利后服务端会主动订阅上以下表格中的topic, 若传递 _ss=0 或者不传递该字段, 则不会产生服务端主动订阅动作。 ...

March 1, 2023 · 1 min · jiezi

关于阿里云:存量设备-0-改造平滑迁移阿里云-IoT-物联网平台最佳实践实践类

背景在物联网畛域,随着企业业务规模逐步扩充,终端设备也越来越多,自建MQTT集群程度扩大和继续运维的老本越来越高,急需寻找一个高牢靠、高平安、低成本、免运维的 IoT 企业物联网全托管服务,同时又要保障曾经在全国各地铺货的存量设施零革新,实现MQTT服务的迁徙。阿里云物联网平台推出的云网关完满解决了企业规模壮大后遇到的稳定性和可扩展性瓶颈,迁徙过程设施端无需降级革新,仅调整原有 MQTT 域名指向阿里云 IoT 企业物联网实例创立的云网关域名即可。 整体迁徙计划存量设施从自建MQTT集群迁徙到阿里云IoT 整体计划如下: 存量设施迁徙实战开明 IoT 企业实例首先,咱们登陆阿里云官网,开明IoT企业物联网实例(独享型)https://common-buy.aliyun.com/?commodityCode=iot_instc_public...2. 创立云网关在独享型企业物联网实例中,创立云网关。抉择 MQTT 协定,依据设施理论状况抉择认证形式,配置自建 MQTT 的域名对应 TLS 认证证书和秘钥。 具体操作文档请移步: https://help.aliyun.com/document_detail/433804.html 3. 注册存量设施身份到云网关创立云网关后,会配套创立一个产品:云网关xxx。接下来,咱们须要把存量设施的身份认证信息批量注册到云网关产品下。设施批量注册的 CSV 格局如下:注册胜利后,当存量设施发动 MQTT 的CONNECT申请过去,阿里云 IoT 云网关就能够验证设施身份合法性了。当咱们有大量设施时,能够通过API形式注册,解放双手! 规定引擎数据流转为了实现数据的实时流转,咱们须要在云产品流转配置规定引擎,蕴含数据源、数据目的地、解析器脚本三项。4.1 创立数据源创立数据源时,须要把咱们设施原有数据上报的Topic注销到数据源中。 4.2 创立数据目的地数据目的地是指咱们用来接管设施上报数据的零碎,能够是数据库,音讯队列,函数计算等。这里咱们抉择了AMQP服务器订阅。 4.3 编写解析脚本在解析器脚本中,咱们取出数据源的音讯体,间接流转到AMQP生产组。您也能够依据业务须要做数据处理后,再转发到上游云产品。 5. 批改域名,指向云网关创立云网关后,咱们会取得一个网关的URL地址,此时须要登录域名服务商治理后盾,批改自建MQTT接入域名跳转到云网关URL,这样存量设施的连贯都会流转到阿里云IoT的云网关,自建MQTT集群就能够下线了。 6. 设施胜利连贯到阿里云 IoT 原有 MQTT 域名调整失效后,咱们察看到设施胜利连贯到阿里云IoT物联网平台,显示为在线,在已订阅Topic列表能够看到设施订阅的Topic。日志服务里,咱们也能够察看到设施online的日志。 7. 设施上报数据到阿里云 IoT当设施有业务上报数据后,会按规定引擎配置实时流转到上游零碎。残缺日志记录如下: 咱们也能够通过音讯轨迹,可视化查看数据流转链路。 在服务端订阅的生产组,查看音讯生产速率,音讯沉积状况,消费者列表等信息。 8. 云端下发控制指令到设施通过阿里云 IoT 企业物联网实例的 Pub 接口,咱们能够给指定设施下发控制指令。https://help.aliyun.com/document_detail/69793.htm Pub 接口调用后,在日志服务里能够查看咱们给设施下发控制指令的日志。 咱们也能够通过音讯轨迹,可视化的查看数据流转链路。至此,咱们实现了存量设施从自建 MQTT 集群迁徙到阿里云 IoT 全托管的企业物联网平台,不惧业务规模增长,享有99.99%的服务质量保障,终于能够安稳地睡个好觉了! 物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn 阿里云物联网平台客户交换群

March 1, 2023 · 1 min · jiezi

关于阿里云:足不出户搞定IoT设备故障诊断和恢复实践类

一、背景随着IoT的疾速倒退,越来越多的设施应用IoT能力,实现近程的数据采集、数据分析、设施治理。然而故障诊断、设施配置等运维工作却仍然在现场执行。如以下场景:场景一:扫地机器人不工作,寄回厂家返修,厂家用软件工具检测发现,只是某个传感器沾灰了,擦一下就好了。场景二:某企业门禁打卡异样,运维人员上门,发现是因异样断电导致配置文件谬误,重新配置一下就复原了。相似场景还有很多,设施运维目前少数还是依赖现场运维的形式,时效性和经济性都不高,设施厂商付出了很大的老本却没有换来好的客户体验。如果故障诊断工作可能提前,诊断后能近程操作复原,将给企业和用户都带来极大的便当。 二、技术难点IoT设施和运维PC都能连网,为什么运维PC不能近程拜访IoT设施? 没有公网IP:IoT设施个别没有公网IP,可通过NAT网关连贯互联网,但不能被互联网外部设备通过公网IP间接拜访。没有拜访权限:NAT网关都有本人的平安防护策略,不反对外网间接拜访内网设施。解决内网穿透问题,常见的解决方案有NAT穿透或者虚构专用网络(VPN)。NAT穿透:也叫P2P打洞,实现免服务器两个端点对点通信,但因为NAT网关类型多穿透过程简单,以至成功率低,并不牢靠;虚构专用网络(VPN):VPN也是一种近程拜访技术,通过公网搭建专有网络。IoT设施个别通过VPN网关能力应用VPN,老本高、依赖内部网络部署。IoT设施因运行网络环境碎片化,设施资源无限,以上两种内网穿透形式并不能很好满足IoT设施的近程拜访需要。阿里云物联网平台联合本身的音讯传输能力,推出了平安隧道性能,提供易用、低成本、平安、牢靠的近程拜访IoT设施的能力。 三、平安隧道介绍平安隧道:通过物联网平台进行流转,提供给拜访端与设施端之间安全可靠的双向数据流传输能力。该数据流同TCP的数据流一样,可确保数据是程序达到的。用户可应用隧道传输任意协定的数据,如SSH、Telnet、FTP等TCP的利用协定数据,也反对自定义协定数据。平安隧道会话:平安隧道的底层实现是TCP连贯,在TCP/IP四层模型中,一个TCP连贯上只有一个应用层,如HTTP、SSH。为了让单个隧道可被多个利用同时应用,平安隧道在应用层和传输层之间减少了会话层,数据收发以会话作为根本单元。隧道提供多会话治理能力,能让会话能像TCP连贯一样应用,每个会话承载一个利用,单个隧道最大反对10个会话。注:单个隧道的传输能力有下限,如果会话的数据过多,倡议创立多个隧道。平安隧道与会话的关系,相似于事实中隧道与车道的关系,多个车道共享隧道。 四、平安隧道个性及价值平安隧道的外围是提供内网穿透的能力,突破用户在运维时的网络限度。除外围能力外,物联网平台平安隧道还具备以下个性,在应用老本、易用性、平安、可扩大等方向上都做了优化。 五、平安隧道关键技术5.1 隧道创立平安隧道性能买通了物联网平台的音讯服务和隧道服务,通过音讯服务可对设施的隧道实现创立、开启/敞开、删除,实现设施只需一套身份即可同时应用两种服务。隧道创立的流程:1、设施建连:设施应用MQTT协定连贯音讯服务,通过设施认证信息鉴权,实现音讯链路搭建。2、创立隧道:拜访端通过云端api或者控制台实现隧道创立,返回隧道建连信息。3、下发隧道建连信息:隧道创立后,物联网平台会给设施发送隧道建连信息,蕴含隧道令牌(token),用户自定义信息。4、设施端隧道连贯:设施端收到隧道建连信息后,连贯隧道服务,通过隧道令牌(token)鉴权。5、拜访端隧道连贯:拜访端创立隧道胜利后,也取得隧道建连信息,连贯隧道服务。拜访端和设施端都连贯上隧道服务后,即可应用隧道进行双向通信,以上过程都应用TLS加密,确保传输平安。 5.2 会话创立隧道建设当前,由拜访端发动会话,设施端响应会话。会话有个要害属性:会话类型,由用户定义,设施依据会话类型决定该会话数据的传输目的地。建设会话前,用户需预设置会话类型与设施本地服务IP和端口的映射关系,如:[_SSH会话]-->[127.0.0.1: 22]。 六、平安隧道应用实现隧道创立及会话创立后,可通过两种形式解决传输的数据,TCP本地代理形式和自定义解决形式。 TCP本地代理形式:会话的数据收发将由本地代理解决,本地代理会对接管到的数据透传给对应TCP服务。常见场景:外网通过TCP协定拜访内网设施的TCP服务,设施端作为server,拜访端作为client。自定义解决形式:会话的数据收发将由用户自定义解决。常见场景:UDP协定应用隧道、串口传输转换为隧道传输。6.1 TCP本地代理形式本地代理为在本地运行的独立过程,分为设施端代理和拜访端代理,设施端代理运行在设施端,代理设施侧音讯的收发,拜访端代理运行在拜访端(个别为PC),代理拜访侧音讯的收发。设施端代理:提供C语言实现,集成在物联网平台设施端SDK中,详情请参考官网文档。拜访端代理:提供Java及Go语言两种实现,详情请参考官网文档。以SSH会话建连为示例形容工作流程: 设施端代理:配置会话类型与服务地址的映射关系,连贯上物联网平台隧道服务拜访端代理:配置监听端口号与会话类型的映射,连贯上物联网平台隧道服务SSH客户端:连贯拜访端代理,端口xxx。拜访端代理:接管端口xxx连贯申请,依据端口辨认为SSH会话,发动创立SSH类型会话设施端代理:接管到SSH类型会话创立申请,依据会话类型找到服务地址[127.0.0.0:22],连贯SSH服务,返回会话创立后果。拜访端代理:收到创立后果,反馈给SSH客户端以上过程实现会话创立,前面的数据传输本地代理会透传数据,最终成果就像是SSH客户端直连SSH服务。 6.2 自定义解决形式对于非TCP协定的利用场景,不能应用本地代理模式。用户可基于开源协定进行对接,协定阐明可点击下方链接拜访物联网平台官网获取。https://help.aliyun.com/document_detail/313816.html也可基于SDK进行革新,批改SDK中对于会话的创立与数据收发的局部代码。近期也将推出自定义解决的应用示例,敬请关注。 七、平安隧道性能扩大--近程登录平安隧道很好的解决了IoT设施的近程拜访问题,但用户在运维的时候,还是要先部署拜访端,为进一步提高隧道的易用性,阿里云物联网平台针对平安隧道高频应用的场景--SSH登录设施,扩大了近程登录性能。实现免环境部署,在控制台即可登录设施,同时提供合作及容灾能力,反对近程登录分享、设施被动申请登录的个性。 7.1 控制台近程登录不须要装置任何软件,在控制台(web页面)即可通过SSH近程登录设施,体验如同局域网登录设施。 7.2 近程登录分享这个个性是解决登录权限分享问题。利用场景:IoT设施的所有者和运维人员可能隶属于不同的公司主体,当设施须要运维的时候,须要合作解决。例如:设施属于A公司,软件模块是ISV公司B实现的,设施故障时,A公司可将近程SSH登录权限分享给B公司,由B公司对设施进行登录运维。近程登录性能不限度分享次数,但最多反对10个会话同时登录。 7.3 设施被动申请登录信息这个个性是为了解决当设施业务故障时,近程登录性能不可用的问题。近程登录性能为了放弃经济性及易用性,反对动静开启/敞开的,按需开启能够节俭网络资源的应用,合乎低碳的目标。动静开启/敞开命令应用的物联网平台的音讯通道,设施的业务个别也会应用音讯通道,设施的业务程序普遍存在频繁应用、频繁更新特色,因而呈现故障的概率会更大。为了防止当业务故障的时(如内存谬误),导致音讯通道不可用,不能开启近程登录,推出该个性作为解决方案。 设施被动申请近程登录信息,再将业务性能与运维性能拆分为不同的过程运行,确保业务故障时,运维性能可用。应用流程:设施端业务性能与运维性能实现过程隔离,业务过程定时申请近程登录信息,保留在本地或传递给运维过程。在登录信息过期前(最长7天),当业务过程故障时,运维过程能持续运行,反对近程登录。如上图所示:业务过程实现过程1.2.3后,呈现故障,不影响运维过程过程4.5的运行。 八、总结本文次要介绍阿里云物联网平台的运维性能平安隧道和近程登录,包含业务背景,性能个性,原理介绍、以及利用场景。如背景中提到的两个场景:扫地机故障检测,检测工具与扫地机通信应用的是自定义的行业协定,可平安隧道,近程实现故障检测,再领导用户复原;打卡机的故障,应用近程登录性能连贯设施,剖析设施日志,定位问题后,再对设施进行配置,实现故障复原。物联网平台的运维工具除近程登录和平安隧道外,还有设施日志、设施降级、近程配置等能力,多种能力配合应用,能够更好的满足不同设施的利用场景,更多材料请点击“浏览原文”拜访阿里云物联网平台官网进行理解。 物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn 阿里云物联网平台客户交换群

March 1, 2023 · 1 min · jiezi