微服务和 Serverless 架构-EDAS 整体架构

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月免费额度15元,12个月
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
简介: 微服务和 Serverless 架构-EDAS 整体架构

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程微服务和 Serverless 架构-EDAS 整体架构】

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


微服务和 Serverless 架构-EDAS 整体架构

 

课程目录

一、阿里企业级分布式应用服务EDAS

二、EDAS中的微服务核心组件

三、EDAS应用托管

 

一、阿里企业级分布式应用服务 EDAS

image.png

阿里云的商用服务框架,EDAS的功能和操作,微服务架构的一个重要特点就是一个微服务的运行需要一个功能完善的微服务框架进行支撑,虽然通过互联网公司和开源社区的共同努力,已经有了很多的开源微服务核心组件可以选择,但是通过开源组件构建一套微服务治理框架实际上还需要消耗很多的开发人员和运维人员的精力,如果开发人员和运维人员相对于框架的内部实现机制没有深刻的理解,一旦出现问题也不容易排查,同时相对于开源的版本,大型商业公司内部使用的版本,虽然接口和开源的版本没有太大区别,但是在吞吐率、安全性、人性化操作界面等功能上,还是会有相当大的提高,在这种情况下,云计算时代企业及应用的开发者,使用开源版本微服务核心组件,搭建微服务治理框架有时候并不是一个很好的选择,为了让更多的云计算用户能够以简单高效的方式使用微服务治理框架。

2007年阿里云推出来自己的分布式服务应用EDAS,为用户提供商业的微服务治理框架,而EDAS也是采用了Pass微服务平台的治理方式提供服务。也就是意味着用户不用一次性投入大量成本,可以像租用基础设施一样,按时长租用的方式进行付费。

 

二、EDAS 中的微服务核心组件

image.png

首先看一下EDAS服务应用核心组件的知识情况,还是以五大核心组件进行说明。
首先微服务框架方面,EDAS的支持还是比较全面的,包括Spring Cloud Dubbo,HSF这常见的微服务框架组件,EDAS都是支持的。在核心组件这一块可以看到图中相对于开源组件商用组件有它自己的应用特点,一般来讲开源组件会把每个模块分的比较细,而且模块和模块之间都是具有可替换性的。比如以服务计算中心为例,可以回想之前列出的开源服务注册中心,还有阿里开源的Nacos几种服务注册中心可以由开发人员自由选择。

自由选择一方面带来了灵活的好处,但是也要求开发者对每一个组件的内部实践有一定的了解,才能做出合适的判断。但是在商用版本上,一般采用比较集成化的方法进行部署,也就是由一个功能大的组件实行大部分的功能,这样做的好处就是模块和模块之间设计思路一致,内部调用的效率也可以达到一个更高的水平。所以,在EDAS内服务注册中心、负载均衡和配置中心这三大部分功能都是由阿里开源Nacos的商用版本实现的,这一点和版本有很大的不同。

另一个组件就是微服务网关,这部分也是和开源的实践有所不同。首先EDAS产品内部包含了服务健全组件,可以实现微服务权限的调用管理,避免调用滥用,同时EDAS还结合阿里云自己的一个微服务网关产品CSB,它除了提供开源网关的同一入口,服务健全、动态陆游等功能,还包含了很多开源网关不具备的功能,比如协议转化、跨网络级联调用等,因此CSB产品的复杂性会比开源网关高很多,所以我们把它当一个单独的产品来进行处理。

最后一部分就是断路器组件,开发者可以使用阿里开源的Sentinel, 同时也兼容Hystrix,不过这里更加推荐使用Sentinel的商用版本(AHAS),从功能上来讲AHAS比又有了一个很大的扩展,它已经不再是一个简单的限流模块的概念。而是包含了整块的微服务高可用解决方案中会涉及到的一系列高可用功能,在后面课程会有详细讲解。

这五部分就是EDAS核心组件的情况,另外在实际开发的过程中我们在配置本地开发环境时可以搭建一个轻量级的EDAS本地活动中心,它实际上是一个EDAS的本地轻量级版本。这样我们在通过本地轻量级中心调试过的版本微服务代码,不需要再做修改就可以无缝地将微服务移到EDAS生产环境上,便于我们开发者进行应用的快速开发部署。

 

三、EDAS 应用托管

image.png

EDAS的另一个功能就是应用托管,通过传统的开源组件方式组件微服务核心框架时,应用的复制、升级、下限等工作并没有统一的解决方案,需要运维人员手动登录每一台服务器进行操作,虽然运维人员可以用脚本等方式进行初步的自动化,但是效率并不是很高,同时企业级应用的发布和升级过程是一个风险较高的操作,而运维人员在执行例如分批发布等高难度任务时无论是采用手动还是脚本的方式,其稳定性和可靠性都不能达到商用产品的标准。

同时和微服务密切的一些相关组件,如弹性自动扩容、应用监控、应用日志等,也需要开发人员手动的方式加以集成,因此除了作为应用技能服务核心组件,提供微服务框架支持,EDAS还提供了商业级的应用托管能力,是从阿里巴巴内部项目中演化而来,历经了多年双11的严格考验,其稳定性远远超过运维人员手动编写脚本或一些开源产品。
通过EDAS应用托管开发者在部署和升级应用时,不在需要每台应用服务器进行繁杂操作,只需要在控制台即可以完成应用的集群部署以及多种形式的应用、发布、升级和回滚。

另外从左侧图中可以看到EDAS还集成了多种微服务运行中必不可少的功能,主要可以分为应用监控、服务治理和智能运维三大类,为企业级微服务的安全运营提供了坚实的技术保障。

相关实践学习
使用DAS实现数据库自动SQL优化
本场景介绍如何使用DAS实现数据库自动SQL优化。
SpringMVC框架入门
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts2等。 相关的阿里云产品企业级分布式应用服务 EDAS:企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )等微服务运行环境,助力您的各类应用轻松上云。产品详情: https://www.aliyun.com/product/edas 
相关文章
|
5天前
|
弹性计算 Kubernetes 安全
Kubernetes 的架构问题之在Serverless Container中保障应用的安全防护如何解决
Kubernetes 的架构问题之在Serverless Container中保障应用的安全防护如何解决
37 8
|
3天前
|
数据挖掘 关系型数据库 MySQL
Serverless高可用架构的解决方案体验
Serverless高可用架构的解决方案体验
42 6
|
5天前
|
弹性计算 Kubernetes Serverless
Kubernetes 的架构问题之ACK/ASK支持ECI的Serverless Container如何解决
Kubernetes 的架构问题之ACK/ASK支持ECI的Serverless Container如何解决
34 7
|
5天前
|
弹性计算 Kubernetes Serverless
Kubernetes 的架构问题之Serverless Container中不支持特权模式的问题如何解决
Kubernetes 的架构问题之Serverless Container中不支持特权模式的问题如何解决
40 6
|
5天前
|
Kubernetes 安全 Serverless
Kubernetes 的架构问题之Serverless Container中提供对外服务如何解决
Kubernetes 的架构问题之Serverless Container中提供对外服务如何解决
36 5
|
5天前
|
弹性计算 运维 关系型数据库
Serverless高可用架构解决方案评测
Serverless高可用架构方案提供卓越效能与极简运维体验,支持服务托管、弹性伸缩及按量付费,有效降低成本并优化性能。一键部署快速启动,流程直观,文档详实;但在高级配置与特定场景实践方面指导有限。方案采用双可用区部署确保高可用性,自动故障切换保障服务连续。成本模型按需计费,减轻企业负担。功能上集成监控、日志与负载均衡,简化运维,加速上线。性能方面,秒级弹性伸缩保证资源高效匹配负载。总体而言,此方案竞争力强,特别推荐给初创公司及需灵活应对流量波动的场景。
52 2
|
5天前
|
弹性计算 运维 关系型数据库
云上Serverless高可用架构一键部署体验与测评
在数字化转型背景下,Serverless架构因其实现业务敏捷、降低成本及提升服务可靠性而备受青睐。本文以阿里云Serverless应用引擎(SAE)为核心,展示了一种高可用、低成本且易于扩展的解决方案。通过单地域双可用区部署,构建了具备自动伸缩与故障恢复能力的架构。借助阿里云的一键部署功能,大幅简化了搭建流程,实现了快速部署,并通过性能与成本分析验证了其优势。对比传统ECS,SAE在资源利用与运维效率上表现更佳,特别适合平均负载较低的应用场景。
|
5天前
|
运维 Kubernetes 大数据
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
32 0
|
13天前
|
关系型数据库 Serverless 分布式数据库
阿里云 Serverless 高可用架构
阿里云的《卓越效能,极简运维,Serverless高可用架构》解决方案提供了全托管服务、自动扩展、高可用性、无缝集成以及内置安全等核心功能。该方案通过免除底层基础设施的管理,允许用户专注于应用程序开发,同时确保应用的稳定运行和资源的有效利用。 **核心功能简介**: - **全托管服务**:用户无需关心底层硬件,由阿里云负责维护和扩展计算资源。 - **自动扩展**:根据业务需求自动调整资源,确保应用在高峰期有足够的计算能力,低谷期则节省成本。 - **高可用性**:多地域和多可用区部署,实现故障自动切换,确保业务连续性。 - **无缝集成**:与阿里云的其他服务(如数据库、消息队列等)深度
|
13天前
|
关系型数据库 Serverless 分布式数据库
Serverless高可用架构
PolarDB在《Serverless高可用架构》中展现了零代码改造、极简易用与自适应弹性的特性,提供按需伸缩与计费服务。相比传统架构,它能自动调整资源满足不同负载需求。阿里云Serverless服务简化了开发者的工作流程,让用户专注业务创新。为了优化用户体验,可通过提供最佳实践、深化文档内容、增强社区支持等方式进一步提升。PolarDB不仅降低了迁移难度,还简化了数据库管理,确保资源高效利用,是企业数字化转型的关键技术支撑。

相关产品

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