开发者学堂课程【企业级分布式应用服务 EDAS 使用攻略:EDAS 介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/359/detail/4211
EDAS 介绍
内容简介:
一、产品概述
二、产品背景
三、功能介绍
四、实践操作
一、产品概述
1.产品简介
依托中国最领先的互联网中间件产品族,助力客户构建超大规模分布式系统
产品全称:Enterprise Distributed Application Service
中文名:企业级分布式应用服务
官网:http://www.aliyun.com/product/edas
2.EDAS 产品特性概述
(1)服务化:基于高性能分布式服务框架,IT 系统沉淀共享资产,新需求基于共享服务层快速集成。
(2)应用生命周期:以应用为中心的中间件 PaaS 平台,提供一键应用部署与扩容,简化用户操作。
(3)数据化运营:从 IAAS、应用和业务等多个层面实现对系统的全面立体的监控报警。
(4)高可用管控
内置多种运维与管控工具,帮助用户实现服务治理、应用诊断。
二、产品背景
1.阿里前期架构现状
·技术团队规模500人
·单一 WAR 应用
·基于传统应用开发架构
·业务每年翻倍增长
2.遇到的三个问题
问题一
·上百人维护一个核心工程
源代码冲突严重,协同成本极高
·项目发布周期太长
·错误难以隔离
问题二
·数据库能力达到上限:连接数捉襟见肘;单机 IOPS 达到瓶颈。
·数据库容量日趋饱和
·长期高负荷运转,接近崩溃边缘
问题三
·数据孤岛
数据隔离不一致无法复用
·无法进行全局数据分析
3.基于 EDAS 进行服务化改造
从2007年开始,阿里巴巴开始了对分布式微服务的探索,在这个改造过程中,我们首先将数据资源利用最高的模块进行了拆分,列出了第一个共享服务中心叫做用户中心。
之后,所有和用户相关的基础操作都由该用户中心统一提供,和维护,接下来,有了千岛湖项目和五彩石项目,这些项目的背后都是阿里一系列服务化拆分的过程。经过近十年的服务化演进,目前服务中心数已达50多个。
4.如何快速的复制阿里技术架构
这张图是阿里巴巴技术平台的核心技术架构,如今回过头去看这段服务化的改造历程,总的来说通过自主创新走出了困境,同时沉淀了一批成熟的互联网技术。
包括这张图上所展示的 EDAS,MQ,DRDS,ARMS,CSB,等一系列互联网中间件产品。而随着共享服务理念的提出,打破了原有的烟囱似的系统复制,不仅提升了系统稳定性,而且具备了支撑技术快速创新的能力。
三、功能介绍
1.高性能服务框架
整个微服务架构落实到,技术层面,就是把原本烟囱似的系统上的模块按照共享服务中心的理念进行拆分,分布式的部署到各个机器上去,实现所谓的共享。为了实现这样的架构,最基本的就是需要这样一个框架,该框架能够低侵入的构建起不同机器机房和模块之间的调用,并且能够高效的组织服务的发布,组织和发现过程。
和传统的服务框架所不同的是,EDAS 采用的是去中心化的服务架构,所谓的服务发布者和消费者之间,是直接建立连接,进行服务的调用,而无需通过服务总线的调用,这样就大大提高了服务的发布效率,并且去除了服务总线的单点隐患,并且符合互联网调用快,服务量大的特点。
2.EDAS 对容错的支持
同时 EDAS 的服务化框架天然支持容错,当要服务的某一台机器出现故障的时候,服务框架能够自动跳过这台机器,从剩下正常的提供者的机器中,再选择一台机器进行服务的调用。
3.EDAS 服务安全性
基于服务组保证服务调用的安全性
(1)发布、订阅和调用服务时必须使用合法的安全令牌;
(2)授权数据会下发到服务机器,避免性能瓶颈。
4.服务化基础设施
(1)分布式任务调度服务
允许用户配置任意周期性调度的单机或者分布式任务,秒级触发,高可用容灾,历史调度查询。适用于诸如每天凌晨2点定时迁移历史数据等任务调度场景。
目前在阿里内部,任务个数多达数十万个。
(2)时配置推送服务
提供高效的分布式配置管理,能够将分布式系统的配置信息在 EDAS 控制台上集中管理起来,做到一处配置,处处使用,秒级推送。
目前在阿里内部,日均推送数亿次。
(3)分布式事务处理
阿里巴巴自主研发分布式事务组件 GTS,突破性的解决了分布式事务处理的难题,保障每一次分布式服务调用、消息收发和数据库访问都有事务保障。简单易用业务无侵入。
5.应用生命周期管理
这些微服务并不会平白无故的存在,而是需要一个载体,这便是应用。EDAS 提供了一个平台,用户可以在可视化的控制台上进行应用的创建,配置,部署,启动以及扩容和停止等一系列生命周期管理相关的操作。
6.弹性伸缩的功能
同时,它提供了弹性伸缩的功能。当服务的提供者提供出现负载过大时,平台能够根据服务的弹性伸缩规则进行自动扩容。扩容之后,新加入的机器可以无缝的进行服务的提供,随着业务的不断发展,服务的拆分会变得越来越精细,应用数量也会变得越来越多,应用之间的服务依赖会变得越来越紧密。
四、实践操作
1.EDAS 基础监控
CPU、内存、负载、网络、磁盘;
实时,一周
单机、集群
2.EDAS 限流
限流:针对非核心服务调用者降级:针对系统需要调用的非核心服务保障核心业务的正常运行