全部产品
云市场

产品功能

更新时间:2019-09-19 19:42:21

EDAS 作为应用托管和微服务管理的 PaaS 平台,支持多样的服务框架,提供全应用生命周期管理、服务治理、微服务管理、应用监控诊断等功能。

说明:EDAS 提供的主要功能都可以通过控制台完成。建议您使用 Chrome 浏览器进行控制台操作。

应用托管

您的应用可以部署到 EDAS 的集群(主要为 ECS 集群和容器服务 Kubernetes 集群)及无服务器的 EDAS Serverless 中。如果您有多套环境,还可以使用命名空间进行隔离。

说明:目前,不同类型的集群对应用框架及程序打包方式有一些限制。

应用 可选集群 打包方式
Spring Cloud、Dubbo 和 HSF ECS 集群 WAR/JAR
容器服务 Kubernetes 集群 WAR/JAR/镜像
EDAS Serverless WAR/JAR/镜像

应用生命周期管理

应用部署完成后,可以通过 EDAS 控制台进行其它应用生命周期管理操作。

说明:因部署的集群类型不同,生命周期管理操作有些差异。

服务治理

EDAS 集成了众多服务治理组件,以便应对突发的流量洪峰和服务依赖所引发的雪崩问题,提高平台的稳定性。

  • 弹性伸缩:弹性伸缩能够感知应用内各个实例的状态,并根据状态动态实现应用扩容、缩容。在保证服务质量的同时,提升应用的可用率。

  • 限流降级:限流降级用于解决后端核心服务因压力过大造成系统反应过慢或者崩溃问题,通常用于例如商品秒杀、抢购、大促、防刷单等大流量场景。

  • 健康检查:健康检查对容器与应用进行定时检查和汇报,然后将结果上报到控制台,从而帮助您了解集群环境下整个应用的运行状态,排查和定位问题。

  • 灰度发布:灰度发布包括对单个应用的灰度发布和全链路灰度发布。您可以通过灰度发布实现应用新、旧版本的平滑过渡。

应用开发

EDAS 支持基于原生 Spring Cloud、原生 Dubbo 以及 HSF 开发的应用托管到 EDAS 中。

  • Spring Cloud:Spring Cloud 框架下开发的应用只需添加依赖、修改很少的配置,即可托管到 EDAS。无需搭建 Eureka 和 Consul,节省部署、运维成本,并能够获取 EDAS 企业级的应用托管、服务治理、监控报警和应用诊断等能力。

  • Dubbo:Dubbo 框架下开发的应用只需添加依赖、修改很少的配置,即可托管到 EDAS。无需搭建 ZooKeeper 和 Redis,节省部署、运维成本,并能够获取 EDAS 企业级的应用托管、服务治理、监控报警和应用诊断等能力。

  • HSF:HSF 是在阿里巴巴内部广泛使用的分布式 RPC 服务框架。连通不同的业务系统,解耦系统间的实现依赖;统一了分布式应用中服务的发布/调用方式,从而帮助您方便、快速的开发分布式应用;提供或使用公共功能模块,并屏蔽了分布式领域中的各种复杂技术细节。

微服务管理

EDAS 提供服务和服务间调用链的查询功能,帮助您管理分布式系统的中的每一个组件和服务。

  • 服务拓扑:通过拓扑图的形式直观的了解不同服务间的相互调用关系及相关性能数据。

  • 服务查询:在具体地域及命名空间下,查看应用中的 HSF、Spring Cloud 和 Service Mesh 服务。

  • 服务报表:以租户维度展示当前租户内所有应用的所有服务在近 24 小时内的运行时情况,包括服务调用量、调用耗时和调用出错次数。您在这个报表上可以一目了然的看到整体系统的服务之间的对比情况。

  • 调用链查询:通过设置查询条件,可以准确找出哪些业务性能较差,甚至异常。

  • 调用链详情:基于调用链查询的结果,查看慢业务或出错业务的调用链的详细信息,进行依赖梳理,包括识别易故障点、性能瓶颈、强依赖等问题;也可以根据链路调用比例、峰值 QPS 评估容量。

配置管理

配置管理:EDAS 已经集成了应用配置管理 ACM。您可以在 EDAS 中使用 ACM 对应用配置进行集中管理和推送,还可以基于命名空间在不同环境间进行配置的隔离和同步。

应用监控

  • 应用监控:实时监控应用的 IaaS 层资源和服务的健康状态,帮助您快速发现、定位问题。同时支持开通高级监控(应用实时监控服务 ARMS)。

  • 日志管理:无需登录实例就可以查看实例上所部属的应用运行日志。当应用出现异常情况的时候,您可以通过查看日志来排查问题。

  • 实时日志:当应用出现异常情况的时候,您可以通过查看实时日志来排查 Pod 相关问题。

  • 通知报警:当某些资源使用过度时,通过短信与邮件的方式通知给相应的联系人及时处理线上问题。

应用诊断

基于 HSF 框架开发的应用部署并运行在容器(EDAS-Container)中。EDAS 提供了基于容器的诊断功能,为您提供相应数据来诊断应用运行问题。

  • GC 诊断:包含 GC 和内存诊断两部分。

    • GC:监控当前选择的应用实例发生 GC 的一些性能指标,同时还可以基于所选时间区间来分析当前实例的 GC 情况。帮助您初步判断应用中的某个实例的健康状态,即应用是不存在内存泄漏或者大对象、应用存在大对象、应用可能存在内存泄漏。
    • 内存:提供应用实例中 Tomcat 容器所在 JVM 进程的堆 (heap)与非堆(non heap)的统计信息。
  • 类加载:提供实时的 JAR 包的加载情况。开发者有时会碰到应用中存在 JAR 包版本冲突的问题,此功能可以很直观的体现出相应的 JAR 加载的路径,从而简化此类问题排查的成本。

  • 连接器: Tomcat 连接器指的是 Tomcat 的 XML 配置中的<Connector />。可理解为每一个<Connector />的配置为一行拉取出来的信息。该视图提供最近十分钟之内对应连接器的运行情况。

  • 对象内存分布:选择系统类、Java 基本对象类和类加载相关。然后会基于选择的 3 个大类,以饼状图和列表的形式展示具体类的对象个数、占用空间,以及在占系统总内存的百分比。

  • 方法追踪:方法追踪采用 JVM 字节码增强的技术,对选中方法的所有方法调用增加必要的耗时与调用序列记录的增强,从而达到观看执行过程中的具体执行序列的目的。帮助您在应用运行时出现问题时,进行快速的问题排查。

  • 线程热点:线程热点包括获取线程快照和分析调用统计两个功能。

    • 获取线程快照

      向目标实例获取当前所有线程的栈帧,类似于 jstack 命令;获取到线程栈后,将过滤已经识别出的空闲的线程,如:HSF、Tomcat、GC 等;剩下的线程中,为避免过大的开销,默认只为您取回了30 个线程的数据。

    • 分析调用统计

      统计分析一段时间内应用中的方法调用,同时给出方法调用和调用关系(调用栈), 最终结果提供两种维度的视图(树状与火焰图状),同时自动高亮显示您的业务方法,让您迅速定位到耗时占比最多的业务方法的调用源头。

  • Druid 连接池监控:当应用的数据连接池采用 Druid 数据库的时候,EDAS 将提供数据连接池和 SQL 执行行为的监控。

  • Commons Pool:当应用或应用的类库中采用 Commons Pool2(2.0 版本)的时候(如 Redis 客户端 Jedis、Commons DBCP2 连接池),EDAS Commons Pool 监控组件将监控池的配置及使用情况。

组件中心

组件中心围绕分布式、微服务体系,重点建设服务集成和整合能力,进而实现 PaaS 平台开放的生态体系。您需要借助组件,完成相关功能。

微服务组件

  • 云服务总线 CSB:在 EDAS 控制台创建 CSB 专享实例,用来管理和控制目标环境内应用对外的服务开放,也可以引入外部服务并进行管理控制;开放 VPC 内的 EDAS 应用,用于在自有开发环境通过公网来测试联调阿里云 VPC 内的 EDAS 应用。

  • 应用实时监控服务 ARMS:应用实时监控服务 ARMS(Application Real-Time Monitoring Service)是一款阿里云应用性能管理(APM)类监控产品。借助 ARMS 可以迅速便捷地为企业构建秒级响应的应用监控能力。

  • 分布式任务管理 SchedulerX:SchedulerX 是一款分布式任务调度产品。它为您提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker(schedulerx-client)上执行。

应用诊断组件

目前 EDAS 提供的诊断组件包括方法跟踪日志模块性能分析模块Druid 数据库连接池监控Apache Commons Pool 监控。这 5 个模块均提供对应用容器的在线诊断能力。

系统管理

  • 主子账号体系: 通过主子账号体系。您能够根据自己企业的部门划分、团队划分和项目划分在 EDAS 平台上建立对应的主子账号关系;同时,ECS 资源也以主子账号关系进行划分,便于用户进行资源的分配。

  • 角色与权限控制:应用的生命周期管理通常涉及研发、运维和机器资源等角色,不同的角色对于应用的管理操作各不一致。因此 EDAS 提供了角色和权限控制机制,方便用户为不同的账号定义各自的角色,并分配相应的权限。

  • 服务鉴权:为保证您每一次分布式调用的稳定与安全。在服务注册、服务订阅以及服务调用等每一个环节,都进行严格的服务鉴权。