亲测 | 如何更高效的管理原生微服务应用

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: 阿里云分布式应用服务EDAS 最近发布了支持原生Dubbo和Spring Cloud应用功能的新版本,此功能是以非侵入方式支持的,且几乎不需要修改任何代码。在此我们体验了一下如何在EDAS上部署原生Dubbo和Spring Cloud应用。

阿里云分布式应用服务EDAS 最近发布了支持原生Dubbo和Spring Cloud应用功能的新版本,此功能是以非侵入方式支持的,且几乎不需要修改任何代码。在此我们体验了一下如何在EDAS上部署原生Dubbo和Spring Cloud应用。

原生Dubbo应用

自从阿里重启Dubbo维护以来,其热度迅速蹿升,Github上的星标数已经达到了2.2万个之多,可谓中国开源软件界的明星产品。但是作为自家商业化输出的EDAS产品,却一直以来只能支持闭源的HSF微服务框架,对用户而言不能不说是一种遗憾。虽然以前也是可以支持Dubbo应用的,但却是以一种所谓的Dubbo over HSF来变相实现的,并不是真正无侵入的原生应用。现在这个担忧终于没有了,EDAS官方正式开始了商业化支持Dubbo的进程。

闲话少絮,我们先来构建一个简单的Dubbo应用,并将其部署到EDAS上面。根据这篇文档介绍的方法,我们来实现一个简单的Echo应用。此应用的能力是客户端通过HTTP接口获得一个字符串消息,然后将此消息发送给服务端,服务端接收到这个消息之后,再原封不动的回传给客户端,最终客户端将此回声信息打印出来,程序结束。

本文并不是一篇教程类文章,因此不会详细介绍该如何编写这样一个应用,只来关注一些重点内容。首先,除了依赖Dubbo库之外,还需要依赖一个EDAS提供的扩展库edas-dubbo-extension。该扩展库就是EDAS支持原生Dubbo应用的关键所在。

edas_dubbo_sc_1_

图1.edas-dubbo-extension依赖

除此之外,我们还需要将Dubbo配置文件中的registry参数设置为轻量级配置中心的地址。

edas_dubbo_sc_2_

图2.registry地址

经过了这样的修改之后,我们的应用就可以原封不动的部署到EDAS上面了。

实际的部署过程与普通应用无异,应该是EDAS会自动判断该应用是否为原生Dubbo进而区分对待,因此熟悉EDAS的用户在这一点上不会碰到任何问题。部署完成以后在Provider和Consumer应用的服务列表里面,分别可以看到如下内容,说明服务启动正常。

edas_dubbo_sc_3_

图3.发布的服务

edas_dubbo_sc_4_

图4.消费的服务

原生Spring Cloud应用

这篇文章 非常详细的介绍了原生Spring Cloud应用如何与EDAS集成,在这里就不再赘述了。同支持原生Dubbo使用的方式一样,在构建适应EDAS环境的Spring Cloud应用时需要引入额外的ANS组件,这使得在本地轻量级配置中心环境下调试通过的应用可以无需任何改动就直接部署到EDAS环境上,可谓非常方便。

商业化版本与开源版本的对比

作为商业化产品,其跟开源版本相比还是有不少的差异,且极大的提高了用户的工作效率、降低了人力投入。

首先,EDAS版本的原生Dubbo和Spring Cloud应用支持共享的服务注册与发现组件,比起部署开源版本所需的Zookeeper、Redis或Consul而言,节省了系统开销与运维成本。

其次,开源版本的Dubbo并不天然支持配置管理功能,Spring Cloud有基于Git的配置管理能力,而这一点在EDAS上也是开箱即用的,且支持配置推送能力。

另外,同以往HSF应用一样,原生Dubbo和Spring Cloud应用同样支持监控和告警能力,也免去了部署相关开源组件的需要。

随着版本的继续迭代升级,相信EDAS对开源版本的兼容会越来越好。

EDAS新版有奖评测活动正在进行中,欢迎参加。

相关实践学习
微服务实战-服务注册中心 - Nacos
Nacos是阿里巴巴于2018年7月发布的一个开源项目,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 支持几乎所有主流类型的服务的发现、配置和管理: Kubernetes Service  gRPC & Dubbo RPC Service  Spring Cloud RESTful Service  
相关文章
|
10月前
|
监控 Java 持续交付
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
236 1
|
10月前
|
运维 持续交付 开发工具
深入浅出:GitOps在微服务架构中的应用
【10月更文挑战第26天】本文深入探讨了GitOps在微服务架构中的应用,介绍了其核心理念、自动化部署流程和增强的可观测性。通过实例展示了GitOps如何简化服务部署、配置管理和故障恢复,并推荐了一些实用工具和开发技巧。
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
342 12
|
10月前
|
监控 持续交付 API
深入理解微服务架构:从设计原则到实践应用
深入理解微服务架构:从设计原则到实践应用
|
6月前
|
存储 NoSQL 关系型数据库
微服务——MongoDB的应用场景
随着Web2.0时代的到来,传统关系型数据库(如MySQL)在高并发读写、海量数据存储及高可扩展性需求方面逐渐力不从心。而MongoDB凭借其灵活的文档结构和高效性能,在社交、游戏、物流、物联网和视频直播等场景中表现出色。这些场景通常具有数据量大、写入频繁且对事务要求不高的特点。选择MongoDB适合以下情况:应用无需复杂事务与join支持、需求不确定需快速迭代、需处理高QPS读写或超大规模数据存储、追求高可用性和快速水平扩展能力。相比MySQL,MongoDB能以更低的学习、开发和运维成本满足现代应用需求。
231 0
|
10月前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
511 60
|
10月前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
260 33
|
10月前
|
存储 监控 API
深入解析微服务架构及其在现代应用中的实践
深入解析微服务架构及其在现代应用中的实践
318 12
|
10月前
|
监控 持续交付 API
深入理解微服务架构及其在现代应用开发中的应用
深入理解微服务架构及其在现代应用开发中的应用
150 4
|
10月前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
183 5