EDS 微服务治理

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: EDS 微服务治理

微服务是一个经久不衰的热门话题,很多国内的公司选择使用 Dubbo、SpringCloud 作为自己公司内部的微服务框架,而在 EDAS 的赋能下,这些微服务框架获得了更加强大的治理能力。


本次分享将主要围绕以下四个方面展开:

·        EDAS介绍

·        微服务开发

·        服务查询

·        金丝雀发布

 

一、EDAS介绍

什么是EDAS

企业级分布式应用服务 EDAS(EnterpriseDistributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )等微服务运行环境,助力您的各类应用轻松上云。

以Dubbo举例说明:

image.png

EDAS托管,省去了很多步骤,节省了一些无关的开发运维。

EDAS支持的版本

微服务开发

1、Dubbo

支持2.5x 2.6x 2.7x

2、SpringCloud

支持D版本以及以上版本

3、HSF(不建议使用,阿里内部,未开源)

 

EDAS原生托管Dubbo

image.png

消费者与提供者之间存在服务需要治理,EDAS托管之后,提供服务注册与发现、配置管理、微服务治理平台的功能。开发者,无需关心服务治理,只要进行消费调用即可。

 

EDAS Dubbo 组件 & 开源组件矩阵

image.png

EDAS注册中心,采用的Nacos注册中心。用户如果采用的Nacos,那么可以无缝迁移;如果采用的ZK之类的注册中心,则有两种方案,可以切换到Nacos注册中心,或者 沿用原注册中心。


二 微服务开发部署

部署非常便捷,可以提供两种方案选择

  1. 控制台上传、部署

image.png

2.EDAS提供的IDEA插件(CloudToolKit),上传、部署

image.png

EDAS为应用,完全有了托管,对于客户,无需关心扩容等运维事项。

三 服务查询

image.png

应用部署完毕之后,点击服务查询,就清晰地看到部署的实例情况

点击实例

image.png

可以非常清晰直观的展示出应用部署情况。

EDAS托管之后,不管Dubbo版本,对于元数据都有相关的显示。

通过接口元数据,可以很明晰的看出对外暴露的所有的服务接口。


与Dubbo Admin区别

image.png

DubboAdmin是通过与注册中心协同,获取全部的注册信息,去管理应用情况

 

弊端:

  1. 无法扩展
  2. 因存储在内容,性能也会存在不足

 

EDAS合理做了改变

 

与Nacos 区别

image.png

Nacos的很多接口的调用信息显示,没有完全开源出来,所以也是有些不是很直观

Nacos更多的是注册中心的控制台,对于服务治理,是很难解决的

 

开源实现总结:

总的来说,服务查询的开源实现能够解决一定程度的问题,但同时也有一定的局限性

  • Dubbo Admin 有版本的限制,仅支持Dubbo 2.7+
  • Dubbo Admin 同步了注册中心全量数据,资源消耗大,由于内存限制,无法横向扩展,实现并不优雅
  • Nacos 控制台提供的服务信息是注册中心视角的服务,并非微服务视角的服务
  • Nacos 控制台缺少与服务治理其他能力的联动,本质上还是注册中心的功能
  • 开源实现无法满足混合部署类型服务的诉求,部分功能可能多种微服务框架并存

 

EDAS服务查询实践

EDAS采用无侵入式的Agent方案对托管微服务应用进行微服务治理

 

无侵入方案通过Agent技术来实现,通过字节码增强技术,运行时对框架代码进行增强,例如服务创建、服务注销时进行拦截,上报给EDAS

 

四 灰度发布

image.png

选择金丝雀发布,即可部署需要进行灰度的包

image.png

五 微服务增强

成本:无需自行运维Eureka、Zookeeper、Consul等中间件组件,可以直接使用EDAS提供的服务发现与配置管理能力。

部署:服务优雅上下线和分批发布功能,让应用部署可配、可查、可控

服务治理:EDAS提供了服务查询、条件路由、黑白名单、标签路由、动态配置、负载均衡、权重配置和统一配置管理,可以对应用进行全面的服务治理

弹性伸缩:EDAS提供了弹性伸缩功能,可以根据流量高峰和低谷实时对应用扩容和缩容

限流降级:EDAS提供了限流降低功能,保证应用高可用

流控:EDAS提供了高级监控功能,除了基本的实力信息查询外,可以查询微服务调用链、服务调用拓扑和慢SQL

 

总结:

  1. EDAS对现在的Dubbo、SpringCloud开源功能作了沿用以及相关的拓展
  2. 在上述基础上,EDAS总结出用户更多呼声比较大的需求功能,比如开源中没有实现的,或者因为机器限制等不方便实现的功能,EDAS都已经覆盖性的作了实现。

 

答疑

问题1:灰度的最小粒度?

针对SpringCloud用户,会根据path设置,外加EL表达式的新建规则,去粒度控制

针对Dubbo用户,会根据方法配置,外加EL表达式的新建规则,去粒度控制

问题2:灰度的实现机制?

Dubbo里边会有很多的filter,SpringCloud会有很多agent,EDAS会自动在启动时,把配置注入到对应的位置,以此来实现灰度

问题3:可以支持Dubbo版本?

原则上支持Dubbo 2.5 2.6 2.7,是可以承诺的,但是之前的版本,也是可以使用,但是不承诺所有功能一切正常

问题4EDAS的定位,后续补充产品?

EDAS构成分为,微服务解决方案、应用托管解决方案、容器托管解决方案


<end>

相关实践学习
使用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&nbsp;
目录
相关文章
|
4月前
|
监控 Kubernetes Cloud Native
云原生架构下的微服务治理之道
【7月更文挑战第30天】在数字化转型的浪潮中,企业级应用正迅速向云原生架构迁移。本文将深入探讨云原生环境下微服务治理的最佳实践,包括服务发现、配置管理、流量控制等关键策略,并结合实例分析如何在保障系统弹性、可维护性的同时,优化资源利用效率和加快业务创新速度。
51 2
|
4月前
|
运维 Kubernetes Cloud Native
云原生架构下的微服务治理之道
【7月更文挑战第20天】在数字化转型的浪潮中,企业纷纷拥抱云原生,以期实现更高效的资源利用、更快的业务迭代和更强的系统稳定性。本文将深入探讨如何通过云原生架构优化微服务的治理,确保系统的高可用性和可维护性,同时提升开发效率和运维灵活性。我们将从微服务治理的核心原则出发,结合具体案例,分析在云环境中实施微服务治理的策略与挑战。
53 2
|
4月前
|
监控 Cloud Native 安全
云原生架构下的微服务治理实践
在数字化转型的浪潮中,云原生技术以其灵活性和可扩展性成为现代软件工程的基石。本文将深入探讨云原生架构下微服务治理的实践路径,从微服务的拆分、容器化部署、服务网格的应用到最终的监控与故障排除,提供一套全面的方法论。文章旨在为读者呈现一个清晰的云原生环境下,如何高效管理和维护微服务系统的全景图。
60 2
|
4月前
|
负载均衡 Cloud Native 云计算
云原生架构下的微服务治理与挑战
随着云计算技术的不断演进,云原生架构已成为现代应用开发的首选模式。本文将深入探讨在云原生环境下,微服务治理的重要性、实现方法及所面临的挑战。通过分析微服务治理的关键要素如服务发现、配置管理、负载均衡和故障转移等,揭示如何在高度动态的云环境中保持服务的高可用性和灵活性。同时,本文也将指出在实施微服务治理过程中可能遇到的技术难题和应对策略,为构建健壮的云原生应用提供指导。
|
4月前
|
监控 负载均衡 Java
Spring Boot与微服务治理框架的集成
Spring Boot与微服务治理框架的集成
|
5月前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【6月更文挑战第30天】Spring Cloud是Java微服务治理明星框架,整合Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(断路器)、Zuul(API网关)和Config Server(配置中心),提供完整服务治理解决方案。通过Eureka实现服务注册与发现,Ribbon进行负载均衡,Hystrix确保服务容错,Config Server集中管理配置,Zuul则作为API入口统一处理请求。理解和使用Spring Cloud是现代Java开发者的关键技能。
132 2
|
4月前
|
负载均衡 Java Nacos
Spring Boot与微服务治理框架的集成策略
Spring Boot与微服务治理框架的集成策略
|
5月前
|
Kubernetes 监控 Cloud Native
云原生架构下的微服务治理实践
【6月更文挑战第23天】在云计算的浪潮中,云原生架构以其弹性、可扩展性和高效性成为企业数字化转型的重要推手。本文将深入探讨如何利用云原生技术实现微服务的治理与优化,确保系统的稳定性和高可用性。我们将从微服务的基本概念出发,通过具体案例分析,揭示云原生环境下微服务治理的关键策略,并分享实践经验,旨在为读者提供一套完整的微服务治理解决方案。
|
5月前
|
运维 负载均衡 Cloud Native
云原生架构下的微服务治理实践
【6月更文挑战第24天】在云原生的浪潮下,微服务治理成为确保系统弹性、可维护性和可观测性的关键。本文通过深入分析微服务治理的核心要素与挑战,结合前沿技术和工具,提出一套实用的微服务治理策略,旨在帮助开发者和架构师构建更加稳定、高效且易于管理的分布式系统。
|
4月前
|
存储 Kubernetes Cloud Native
云原生架构下的微服务治理之道
【7月更文挑战第15天】本文将深入探讨在云原生架构下,如何高效地进行微服务的治理。我们将从微服务治理的基本原则出发,详细分析服务发现、配置管理、容错设计等关键实践,并结合具体案例,展示如何在云平台上构建和管理健壮、可扩展的微服务系统。文章旨在为开发者和架构师提供一套实用的方法论,以应对快速变化的市场需求和技术挑战。
44 0
下一篇
无影云桌面