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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 阿里云分布式应用服务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 
相关文章
|
1月前
|
监控 安全 数据可视化
java基于微服务的智慧工地管理云平台SaaS源码 数据大屏端 APP移动端
围绕施工现场人、机、料、法、环、各个环节,“智慧工地”将传统建筑施工与大数据物联网无缝结合集成多个智慧应用子系统,施工数据云端整合分析,提供专业、先进、安全的智慧工地解决方案。
33 1
|
2月前
|
项目管理 微服务
云效常见问题之将多个微服务应用集成到一次研发流程中发布上线如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
31 0
|
2月前
|
数据库 Android开发 开发者
构建高性能微服务架构:从理论到实践构建高效Android应用:探究Kotlin协程的优势
【2月更文挑战第16天】 在当今快速迭代和竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性和独立部署能力而受到企业的青睐。本文将深入探讨如何构建一个高性能的微服务系统,涵盖从理论基础到具体实现的各个方面。我们将重点讨论服务拆分策略、通信机制、数据一致性以及性能优化等关键主题,为读者提供一个清晰、实用的指南,以便在复杂多变的业务环境中构建和维护健壮的微服务体系结构。 【2月更文挑战第16天】 在移动开发领域,性能优化和流畅的用户体验是至关重要的。随着技术的不断进步,Kotlin作为一种现代编程语言,在Android开发中被广泛采用,尤其是其协程特性为异步编程带来了革命性的改进。本文旨在深入
|
2月前
|
监控 网络协议 Go
应用监控 eBPF 版:实现 Golang 微服务的无侵入应用监控
应用监控 eBPF 版:实现 Golang 微服务的无侵入应用监控
109665 118
|
3月前
|
运维 监控 数据管理
Apollo与微服务架构:构建可扩展的应用程序
Apollo与微服务架构:构建可扩展的应用程序
|
4月前
|
微服务
微服务 乾坤子应用 内存增长 没有释放
子应用内存没有被释放,每次刷新都会增加内存增长
|
7天前
|
监控 负载均衡 API
微服务架构在现代企业中的应用与挑战
微服务架构已成为现代企业构建灵活且可扩展软件系统的首选。然而,随着其应用的普及,企业也面临着一系列新的挑战。本篇文章将探讨微服务架构的优势、实施时遇到的问题以及解决这些问题的策略。
|
7天前
|
Kubernetes Cloud Native 持续交付
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第6天】 在数字化转型的浪潮中,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了如何利用Kubernetes这一领先的容器编排平台,结合微服务架构,构建和维护高效、可伸缩的云原生应用。通过分析现代软件设计原则和最佳实践,我们提出了一个综合指南,旨在帮助开发者和系统架构师优化云资源配置,提高部署流程的自动化水平,并确保系统的高可用性。
29 1
|
14天前
|
消息中间件 PHP 数据库
【PHP开发专栏】PHP在微服务架构中的应用
【4月更文挑战第29天】微服务架构将大型应用拆分成独立小服务,PHP在其中可作为API网关、微服务提供者,参与服务发现、消息队列处理和事件驱动。最佳实践包括选择合适PHP框架、使用容器化技术、定义服务契约、采用分布式缓存、实现服务发现、监控和日志收集、优化数据库设计以及注重安全性。遵循这些实践,PHP开发者能构建高效、可扩展的微服务应用。
|
16天前
|
Kubernetes 负载均衡 Docker
【专栏】构建高效微服务架构:Docker和Kubernetes在构建微服务架构中的应用
【4月更文挑战第27天】本文介绍了Docker和Kubernetes在构建微服务架构中的应用。Docker是开源容器引擎,用于打包和分发应用,实现隔离和封装,提升可扩展性和可维护性。Kubernetes是容器编排平台,自动化部署、扩展和管理容器,提供负载均衡和故障转移。二者结合,能高效支持微服务架构。文中通过实例展示了如何将用户、商品和订单服务用Docker打包,再用Kubernetes部署和管理,确保微服务稳定运行。