親測|如何更高效的管理 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應用的關鍵所在。

親測|如何更高效的管理 Dubbo 和 Spring Cloud 應用

圖1.edas-dubbo-extension依賴

除此之外,我們還需要將Dubbo配置文件中的registry參數設置為輕量級配置中心的地址。

親測|如何更高效的管理 Dubbo 和 Spring Cloud 應用

圖2.registry地址

經過了這樣的修改之後,我們的應用就可以原封不動的部署到EDAS上面了。

實際的部署過程與普通應用無異,應該是EDAS會自動判斷該應用是否為原生Dubbo進而區分對待,因此熟悉EDAS的用戶在這一點上不會碰到任何問題。部署完成以後在Provider和Consumer應用的服務列表裡面,分別可以看到如下內容,說明服務啟動正常。

親測|如何更高效的管理 Dubbo 和 Spring Cloud 應用

圖3.發佈的服務

親測|如何更高效的管理 Dubbo 和 Spring Cloud 應用

圖4.消費的服務

原生Spring Cloud應用

“阿里雲EDAS - 快速入門 - Spring Cloud 服務接入 EDAS” 上的內容非常詳細的介紹了原生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對開源版本的兼容會越來越好。


分享到:


相關文章: