微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结

本文涉及的产品
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
可观测监控 Prometheus 版,每月50GB免费额度
简介: 微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结】

课程地址:https://edu.aliyun.com/course/3112075/lesson/19028


微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结


内容介绍:

一.EDAS控制台界面

二.资源管理

三.应用部署

四.应用管理

五.应用监控

六.日志诊断

七.EDAS优势总结

 

一.EDAS 控制台界面

对EDAS基本操作的介绍,将从资源管理、应用部署、应用管理、应用监控、日志诊断这5个功能入手。

image.png

当进入 EDAS 控制台时,可以看到EDAS概览页,右上侧为EDAS产品类型,包括标准版、企业版、铂金版,和到期时间以及最大实例数,现在最大实例数已经达到21亿,同时标准版的 EDAS 在五个实例以内免费使用。中间会列出EDAS 内部管理的 ECS集群和K8S 集群的数量及现有的应用数量和服务数量。
左侧栏分别是资源管理、应用管理、微服务管理、组建中心和系统管理,EDAS的控制台还是比较简洁的。

 

二.资源管理

EDAS 共有两种部署方式,:一种是直接部署在 ECS 集群上,适合特定类型的应用;还有一种方式是部署在 K8S 集群上,适合容器技术打包的应用。针对两种不同的部署方式,需要准备相应的资源。若为 ECS 方式部署,首先要在ECS 控制台购买ECS 服务器。注意:EDAS服务器和ECS一定要在同一地域。购买完ECS后,需要在EDAS中先创建ECS集群,在创建集群时只需配置VPC,也就是所在的虚拟网络即可。
image.png

在集群创建后就可以向集群内添加ECS服务器。当ECS服务器添加到集群时,控制台会自动在ECS服务器上安装EDAS AGENT,然后大约等待十几20秒左右就可以创建成功。

若要通过K8S方式部署,首先需要准备K8S集群。K8S集群可部署在ECS上,也可使用阿里云的公共K8S集群。创建K8S集群的速度较慢,大约需要十分钟左右。

K8S的导入相对于ECS更加简单,导入后也会自动安装Agent。如果需要创建混合云部署环境,则在创建集群时选择非阿里云环境即可使用。非阿里云环境部署的前提是自建IDC或私有云,高速通道接入阿里云并实现VPC网络配置,保证阿里云外的服务器和EDAS所在地域间的互联互通。
image.png

配置好集群后,用户也可再次手动修改VPC配置,保证ECS之间的互联互通。同时,对因为特殊情况无法自动安装EDAS Agent的服务器,也可通过脚本进行手动安装。在ECS或K8S集群配置完毕后,进行下一步的应用部署。

 

三.应用部署

应用部署的第一步就是上传应用到EDAS,上传应用可以通过控制界面进行,也可通过其他集成工具进行。
image.png

EDAS支持的上传方式包括使用eclipse插件工具集以及使用Jenkins和云效两个CICD平台。注意:ECS集群只支持Java原生应用和EDAS container等,也就是三种以Java语言开发的应用形式,即HSF应用。而K8S集群除了支持这三种形式外,还支持PHP应用和容器方式打包的应用。注意在上传应用时,如果对程序运行环境如JDK版本、潘多拉版本、PHP运行环境等有特殊要求,需要在此步骤同时进行配置。

 

四.应用管理

应用创建成功后,开发者可对应用内部的相关设置参数进行配置。

1. 创建应用名字空间。创建命名空间主要是为了区分应用部署环境,如开发环境、测试环境、生产环境等,同一地域下,不同命名空间内的应用不能互相访问和推送配置,保证不同业务流程下线上应用实力的有效隔离。
image.png

2.配置JVM参数,默认JVM选项的内存和GC属性可能不见得符合每个应用的使用场景和硬件配置,因此可以针对应用特性指定内存大小、GC属性,如持久代大小等参数,进行个性化配置,便于Java应用能够更加深入的发挥所在运行环境的计算资源。

3.设置Tomcat属性,Tomcat属性中比较重要的是Tomcat端口,如果端口配置错误,则后续的服务调用就会出现问题。其次是Tomcat的路径和连接数以及运行环境等参数。

4.负载均衡配置,与微服务内部的服务发现和服务调用不同,对于置于访问链顶端,负责对外发布的整个微服务集群能力的应用,并没有微服务框架为其提供相应的负载均衡和转发能力,因此必须配置单独的SLB负载均衡作为对外访问接口。负载均衡分为内网和外网两种,内网负载均衡主要为内部服务提供统一的访问接口,使用时不收费。而外部负载均衡可为外界暴露微服务体系的对外接口。
由于涉及到公网IP和公网流量,因此外网负载均衡需要用户支付相应的网络费用。

应用管理中的另一个非常重要的功能就是弹性伸缩。弹性伸缩的配置界面,扩容规则有三种指标可以选择。
image.png

第一指标是RT,是指一次请求从开始到结束的时间,单位为毫秒。

第二个指标是Load,是指Linux系统中系统的平均负载率,负载率越高,表示系统内正在排队的进程数量越多,系统负载越大,进程的响应越慢。

第三个参数是CPU占用率,指CPU使用量的百分比。若CPU使用量达到顶峰,则整个系统会处于不稳定运行状态。

弹性伸缩可以根据这三个指标中任意一个或几个指标作为衡量标准。当触发指标在用户设定的持续时间内持续超标时,则触发弹性扩容。开发者可以设定扩容计算资源的创建方式,例如是否使用现已存在的资源或新创建计算资源,是使用现有实例规格创建计算资源,或是使用模板创建计算资源,以及计算资源的登录密钥等相关属性。开发者也可以配置弹性缩容的规则和相关处罚标准,配置方法和弹性扩容基本相似。
需要说明的是,如果新建计算资源进行弹性扩容,对于新购买的服务资源会被设置为弹性计算属性,这些计算资源在不使用时,系统将创建的弹性计算资源自动释放,避免长期占用资源导致过多计费。如果是对已有资源进行创建,则不会释放。新版的EDAS已经将限流降级界面配置全部移动到新产品里,不再由EDAS控制台进行设置。

 

五.应用监控

在应用监控部分,EDAS可在控制台对应用的整体运行情况进行总览,例如总请求数、平均响应时间、实时实例数、负GC次数、慢Sql等汇总指标。
image.png

汇总指标的时间维度可以从五分钟到最近三个月之间,有15个时间跨度可以选择。接下来以时间曲线的方式显示应用提供服务、应用依赖服务、服务平均响应时间、HTTP状态等数据。最下方还包含系统信息汇总统计,包括CPU占用率、内存使用及负载等指标。对于应用异常运行状态的报警也是EDAS中非常实用的功能。用户可以通过JVM属性、异常接口调用、应用调用类型统计、主机监控、应用调用统计、数据库指标这六大类中共几十个小类的属性进行实时监控,当这些属性中的一个或几个超过所设定的阈值范围时,即可报警,通知开发者迅速进行人工干预,避免服务出现不可用的情况。报警的通知方式有短信、邮件、钉钉、机器人、Web hook 4种方式进行配置。

image.png


六.日志诊断

在应用运维过程中可能会遇到各种各样的问题,开发者可通过日志对问题进行定位和诊断。
image.png应用部署后,只要在日志目录页面中添加应用日志所在目录,EDAS便可以将所有实例目录中的日志收集到EDAS日志管理中,并且提供了可方便在线查看日志的功能。除了在线查看日志外EDAS也提供可将日志下载到本地的功能,便于开发者查看。或是将日志文件作为应用分析的诊断素材使用。
同时,EDAS还提供了通过CLI下载日志的功能,开发者无需登录具体实例,通过命令行接口就下载日志文件。另外,系统管理目录中提供了EDAS操作日志的查看,EDAS对操作日志进行了分类,开发者可以选择不同操作类型以及具体操作查看操作日志详情。

 

七.EDAS 优势总结

image.png

EDAS的优势

1.EDAS是一站式开箱即用的商用产品,开发者不需要消耗精力用开源组件搭建自己的微服务治理框架。同时pass平台的特点使EDAS产品具有随用随开、按时长付费的优势,避免了传统商用产品的一次性过大投入。

2.EDAS支持K8S和ECS种方式构建集群,无论是PHP代码或多语言自定义的镜像均可以上传和发布

3.全面拥抱开源,完美支持Spring cloud和double近五年内的版本,同时无缝集成了ASM托管版服务网格。

4.应用监控报警统一事件中心,EDAS提供了无侵入的强大应用及监控能力,可以灵活配置应用的多诊断指标报警,而事件中心提供了应用资源测、云资源测及相关操作审批的全维度事件查看阅读拓普,实现了问题的快速定位与排查,

5.提供官方工具,同时打通了云2020集成了Marvin, eclipsec 等云效平台,支持多个EDAS账号应用,可灰度或分批部署到集群中。

6.企业级特性,提供了企业级的名字空间隔离,配合子账号力度权限控制与阿里云资源组管理,实现了使用不同项目的资源隔离和权限管理分开。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
13天前
|
JavaScript Java Go
探索Go语言在微服务架构中的优势
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出。本文将深入探讨Go语言在构建微服务时的性能优势,包括其在内存管理、网络编程、并发模型以及工具链支持方面的特点。通过对比其他流行语言,我们将揭示Go语言如何成为微服务架构中的一股清流。
107 53
|
11天前
|
Go 数据处理 API
Go语言在微服务架构中的应用与优势
本文摘要采用问答形式,以期提供更直接的信息获取方式。 Q1: 为什么选择Go语言进行微服务开发? A1: Go语言的并发模型、简洁的语法和高效的编译速度使其成为微服务架构的理想选择。 Q2: Go语言在微服务架构中有哪些优势? A2: 主要优势包括高性能、高并发处理能力、简洁的代码和强大的标准库。 Q3: 文章将如何展示Go语言在微服务中的应用? A3: 通过对比其他语言和展示Go语言在实际项目中的应用案例,来说明其在微服务架构中的优势。
|
27天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
19天前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
19天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
55 1
|
22天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
23天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
52 1
|
23天前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
30 1
|
27天前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)
|
1月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。

相关产品

  • 企业级分布式应用服务
  • 函数计算