阿里雲分佈式應用服務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上面了。調試
實際的部署過程與普通應用無異,應該是EDAS會自動判斷該應用是否爲原生Dubbo進而區分對待,所以熟悉EDAS的用戶在這一點上不會碰到任何問題。部署完成之後在Provider和Consumer應用的服務列表裏面,分別能夠看到以下內容,說明服務啓動正常。cdn
圖3.發佈的服務htm
圖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對開源版本的兼容會愈來愈好。