开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结】
课程地址:https://edu.aliyun.com/course/3112075/lesson/19028
微服务和 Serverless 架构-EDAS 基本操作讲解与 EDAS 优势总结
内容介绍:
一.EDAS控制台界面
二.资源管理
三.应用部署
四.应用管理
五.应用监控
六.日志诊断
七.EDAS优势总结
一.EDAS 控制台界面
对EDAS基本操作的介绍,将从资源管理、应用部署、应用管理、应用监控、日志诊断这5个功能入手。
当进入 EDAS 控制台时,可以看到EDAS概览页,右上侧为EDAS产品类型,包括标准版、企业版、铂金版,和到期时间以及最大实例数,现在最大实例数已经达到21亿,同时标准版的 EDAS 在五个实例以内免费使用。中间会列出EDAS 内部管理的 ECS集群和K8S 集群的数量及现有的应用数量和服务数量。
左侧栏分别是资源管理、应用管理、微服务管理、组建中心和系统管理,EDAS的控制台还是比较简洁的。
二.资源管理
EDAS 共有两种部署方式,:一种是直接部署在 ECS 集群上,适合特定类型的应用;还有一种方式是部署在 K8S 集群上,适合容器技术打包的应用。针对两种不同的部署方式,需要准备相应的资源。若为 ECS 方式部署,首先要在ECS 控制台购买ECS 服务器。注意:EDAS服务器和ECS一定要在同一地域。购买完ECS后,需要在EDAS中先创建ECS集群,在创建集群时只需配置VPC,也就是所在的虚拟网络即可。
在集群创建后就可以向集群内添加ECS服务器。当ECS服务器添加到集群时,控制台会自动在ECS服务器上安装EDAS AGENT,然后大约等待十几20秒左右就可以创建成功。
若要通过K8S方式部署,首先需要准备K8S集群。K8S集群可部署在ECS上,也可使用阿里云的公共K8S集群。创建K8S集群的速度较慢,大约需要十分钟左右。
K8S的导入相对于ECS更加简单,导入后也会自动安装Agent。如果需要创建混合云部署环境,则在创建集群时选择非阿里云环境即可使用。非阿里云环境部署的前提是自建IDC或私有云,高速通道接入阿里云并实现VPC网络配置,保证阿里云外的服务器和EDAS所在地域间的互联互通。
配置好集群后,用户也可再次手动修改VPC配置,保证ECS之间的互联互通。同时,对因为特殊情况无法自动安装EDAS Agent的服务器,也可通过脚本进行手动安装。在ECS或K8S集群配置完毕后,进行下一步的应用部署。
三.应用部署
应用部署的第一步就是上传应用到EDAS,上传应用可以通过控制界面进行,也可通过其他集成工具进行。
EDAS支持的上传方式包括使用eclipse插件工具集以及使用Jenkins和云效两个CICD平台。注意:ECS集群只支持Java原生应用和EDAS container等,也就是三种以Java语言开发的应用形式,即HSF应用。而K8S集群除了支持这三种形式外,还支持PHP应用和容器方式打包的应用。注意在上传应用时,如果对程序运行环境如JDK版本、潘多拉版本、PHP运行环境等有特殊要求,需要在此步骤同时进行配置。
四.应用管理
应用创建成功后,开发者可对应用内部的相关设置参数进行配置。
1. 创建应用名字空间。创建命名空间主要是为了区分应用部署环境,如开发环境、测试环境、生产环境等,同一地域下,不同命名空间内的应用不能互相访问和推送配置,保证不同业务流程下线上应用实力的有效隔离。
2.配置JVM参数,默认JVM选项的内存和GC属性可能不见得符合每个应用的使用场景和硬件配置,因此可以针对应用特性指定内存大小、GC属性,如持久代大小等参数,进行个性化配置,便于Java应用能够更加深入的发挥所在运行环境的计算资源。
3.设置Tomcat属性,Tomcat属性中比较重要的是Tomcat端口,如果端口配置错误,则后续的服务调用就会出现问题。其次是Tomcat的路径和连接数以及运行环境等参数。
4.负载均衡配置,与微服务内部的服务发现和服务调用不同,对于置于访问链顶端,负责对外发布的整个微服务集群能力的应用,并没有微服务框架为其提供相应的负载均衡和转发能力,因此必须配置单独的SLB负载均衡作为对外访问接口。负载均衡分为内网和外网两种,内网负载均衡主要为内部服务提供统一的访问接口,使用时不收费。而外部负载均衡可为外界暴露微服务体系的对外接口。
由于涉及到公网IP和公网流量,因此外网负载均衡需要用户支付相应的网络费用。
应用管理中的另一个非常重要的功能就是弹性伸缩。弹性伸缩的配置界面,扩容规则有三种指标可以选择。
第一指标是RT,是指一次请求从开始到结束的时间,单位为毫秒。
第二个指标是Load,是指Linux系统中系统的平均负载率,负载率越高,表示系统内正在排队的进程数量越多,系统负载越大,进程的响应越慢。
第三个参数是CPU占用率,指CPU使用量的百分比。若CPU使用量达到顶峰,则整个系统会处于不稳定运行状态。
弹性伸缩可以根据这三个指标中任意一个或几个指标作为衡量标准。当触发指标在用户设定的持续时间内持续超标时,则触发弹性扩容。开发者可以设定扩容计算资源的创建方式,例如是否使用现已存在的资源或新创建计算资源,是使用现有实例规格创建计算资源,或是使用模板创建计算资源,以及计算资源的登录密钥等相关属性。开发者也可以配置弹性缩容的规则和相关处罚标准,配置方法和弹性扩容基本相似。
需要说明的是,如果新建计算资源进行弹性扩容,对于新购买的服务资源会被设置为弹性计算属性,这些计算资源在不使用时,系统将创建的弹性计算资源自动释放,避免长期占用资源导致过多计费。如果是对已有资源进行创建,则不会释放。新版的EDAS已经将限流降级界面配置全部移动到新产品里,不再由EDAS控制台进行设置。
五.应用监控
在应用监控部分,EDAS可在控制台对应用的整体运行情况进行总览,例如总请求数、平均响应时间、实时实例数、负GC次数、慢Sql等汇总指标。
汇总指标的时间维度可以从五分钟到最近三个月之间,有15个时间跨度可以选择。接下来以时间曲线的方式显示应用提供服务、应用依赖服务、服务平均响应时间、HTTP状态等数据。最下方还包含系统信息汇总统计,包括CPU占用率、内存使用及负载等指标。对于应用异常运行状态的报警也是EDAS中非常实用的功能。用户可以通过JVM属性、异常接口调用、应用调用类型统计、主机监控、应用调用统计、数据库指标这六大类中共几十个小类的属性进行实时监控,当这些属性中的一个或几个超过所设定的阈值范围时,即可报警,通知开发者迅速进行人工干预,避免服务出现不可用的情况。报警的通知方式有短信、邮件、钉钉、机器人、Web hook 4种方式进行配置。
六.日志诊断
在应用运维过程中可能会遇到各种各样的问题,开发者可通过日志对问题进行定位和诊断。
应用部署后,只要在日志目录页面中添加应用日志所在目录,EDAS便可以将所有实例目录中的日志收集到EDAS日志管理中,并且提供了可方便在线查看日志的功能。除了在线查看日志外,EDAS也提供了可将日志下载到本地的功能,便于开发者查看。或是将日志文件作为应用分析的诊断素材使用。
同时,EDAS还提供了通过CLI下载日志的功能,开发者无需登录具体实例,通过命令行接口就可下载日志文件。另外,系统管理目录中还提供了EDAS操作日志的查看,EDAS还对操作日志进行了分类,开发者可以选择不同操作类型以及具体操作查看操作日志详情。
七.EDAS 优势总结
EDAS的优势:
1.EDAS是一站式开箱即用的商用产品,开发者不需要消耗精力用开源组件搭建自己的微服务治理框架。同时pass平台的特点使EDAS产品具有随用随开、按时长付费的优势,避免了传统商用产品的一次性过大投入。
2.EDAS支持K8S和ECS 两种方式构建集群,无论是PHP代码或多语言自定义的镜像均可以上传和发布。
3.全面拥抱开源,完美支持Spring cloud和double近五年内的版本,同时无缝集成了ASM托管版服务网格。
4.应用监控报警统一事件中心,EDAS提供了无侵入的强大应用及监控能力,可以灵活配置应用的多诊断指标报警,而事件中心提供了应用资源测、云资源测及相关操作审批的全维度事件查看、阅读、拓普,实现了问题的快速定位与排查,
5.提供官方工具,同时打通了云效2020集成了Marvin, eclipsec 等云效平台,支持多个EDAS账号应用,可灰度或分批部署到集群中。
6.企业级特性,提供了企业级的名字空间隔离,配合子账号力度权限控制与阿里云资源组管理,实现了使用不同项目的资源隔离和权限管理分开。