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

本文涉及的产品
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
可观测监控 Prometheus 版,每月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 
相关文章
|
9天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
7天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
8天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
21 1
服务架构的演进:从单体到微服务的探索之旅
|
7天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
29 5
|
9天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
29 7
|
8天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构下的微服务治理策略
随着云原生技术的不断成熟,微服务架构已成为现代应用开发的主流选择。本文探讨了在云原生环境下实施微服务治理的策略和方法,重点分析了服务发现、负载均衡、故障恢复和配置管理等关键技术点,以及如何利用Kubernetes等容器编排工具来优化微服务的部署和管理。文章旨在为开发者提供一套实用的微服务治理框架,帮助其在复杂的云环境中构建高效、可靠的分布式系统。
23 5
|
8天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
9天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
9天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
9天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?

相关产品

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