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

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-应用监控,每月50GB免费额度
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 微服务和 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还集成了多种微服务运行中必不可少的功能,主要可以分为应用监控、服务治理和智能运维三大类,为企业级微服务的安全运营提供了坚实的技术保障。

相关实践学习
微服务实战-服务注册中心 - Nacos
Nacos是阿里巴巴于2018年7月发布的一个开源项目,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 支持几乎所有主流类型的服务的发现、配置和管理: Kubernetes Service  gRPC & Dubbo RPC Service  Spring Cloud RESTful Service  
相关文章
|
6月前
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
163 0
|
6月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
540 69
|
11月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
549 6
|
11月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
253 1
|
6月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
354 12
|
10月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
792 70
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
8月前
|
Kubernetes 监控 Serverless
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
|
10月前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
2590 36
微服务架构解析:跨越传统架构的技术革命
|
7月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
130 0
|
9月前
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
336 1

相关产品

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