阿里云分布式应用服务EDAS 最近发布了支持原生Dubbo和Spring Cloud应用功能的新版本,此功能是以非侵入方式支持的,且几乎不须要修改任何代码。在此咱们体验了一下如何在EDAS上部署原生Dubbo和Spring Cloud应用。html
自从阿里重启Dubbo维护以来,其热度迅速蹿升,Github上的星标数已经达到了2.2万个之多,可谓中国开源软件界的明星产品。可是做为自家商业化输出的EDAS产品,却一直以来只能支持闭源的HSF微服务框架,对用户而言不能不说是一种遗憾。虽然之前也是能够支持Dubbo应用的,但倒是以一种所谓的Dubbo over HSF来变相实现的,并非真正无侵入的原生应用。如今这个担心终于没有了,EDAS官方正式开始了商业化支持Dubbo的进程。框架
闲话少絮,咱们先来构建一个简单的Dubbo应用,并将其部署到EDAS上面。根据这篇文档介绍的方法,咱们来实现一个简单的Echo应用。此应用的能力是客户端经过HTTP接口得到一个字符串消息,而后将此消息发送给服务端,服务端接收到这个消息以后,再原封不动的回传给客户端,最终客户端将此回声信息打印出来,程序结束。运维
本文并非一篇教程类文章,所以不会详细介绍该如何编写这样一个应用,只来关注一些重点内容。首先,除了依赖Dubbo库以外,还须要依赖一个EDAS提供的扩展库edas-dubbo-extension。该扩展库就是EDAS支持原生Dubbo应用的关键所在。分布式
图1.edas-dubbo-extension依赖ide
除此以外,咱们还须要将Dubbo配置文件中的registry参数设置为轻量级配置中心的地址。微服务
图2.registry地址阿里云
通过了这样的修改以后,咱们的应用就能够原封不动的部署到EDAS上面了。spa
实际的部署过程与普通应用无异,应该是EDAS会自动判断该应用是否为原生Dubbo进而区分对待,所以熟悉EDAS的用户在这一点上不会碰到任何问题。部署完成之后在Provider和Consumer应用的服务列表里面,分别能够看到以下内容,说明服务启动正常。调试
图3.发布的服务cdn
图4.消费的服务
这篇文章 很是详细的介绍了原生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对开源版本的兼容会愈来愈好。