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

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 阿里云分布式应用服务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新版有奖评测活动正在进行中,欢迎参加。

相关实践学习
使用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 
相关文章
|
25天前
|
运维 持续交付 开发工具
深入浅出:GitOps在微服务架构中的应用
【10月更文挑战第26天】本文深入探讨了GitOps在微服务架构中的应用,介绍了其核心理念、自动化部署流程和增强的可观测性。通过实例展示了GitOps如何简化服务部署、配置管理和故障恢复,并推荐了一些实用工具和开发技巧。
|
2月前
|
消息中间件 监控 API
理解微服务架构:构建灵活和可扩展的应用
【10月更文挑战第7天】理解微服务架构:构建灵活和可扩展的应用
|
2月前
|
消息中间件 监控 API
深入理解微服务架构:构建可扩展与灵活的应用
【10月更文挑战第7天】深入理解微服务架构:构建可扩展与灵活的应用
45 0
|
2天前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
9 1
|
16天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
17天前
|
Go 数据处理 API
Go语言在微服务架构中的应用与优势
本文摘要采用问答形式,以期提供更直接的信息获取方式。 Q1: 为什么选择Go语言进行微服务开发? A1: Go语言的并发模型、简洁的语法和高效的编译速度使其成为微服务架构的理想选择。 Q2: Go语言在微服务架构中有哪些优势? A2: 主要优势包括高性能、高并发处理能力、简洁的代码和强大的标准库。 Q3: 文章将如何展示Go语言在微服务中的应用? A3: 通过对比其他语言和展示Go语言在实际项目中的应用案例,来说明其在微服务架构中的优势。
|
15天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
15天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
23天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
55 1
|
2月前
|
Cloud Native Go API
Go语言在微服务架构中的创新应用与实践
本文深入探讨了Go语言在构建高效、可扩展的微服务架构中的应用。Go语言以其轻量级协程(goroutine)和强大的并发处理能力,成为微服务开发的首选语言之一。通过实际案例分析,本文展示了如何利用Go语言的特性优化微服务的设计与实现,提高系统的响应速度和稳定性。文章还讨论了Go语言在微服务生态中的角色,以及面临的挑战和未来发展趋势。
下一篇
无影云桌面