天天看點

親測 | 如何更高效的管理原生微服務應用

阿裡雲分布式應用服務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應用的關鍵所在。

親測 | 如何更高效的管理原生微服務應用

圖1.edas-dubbo-extension依賴

除此之外,我們還需要将Dubbo配置檔案中的registry參數設定為輕量級配置中心的位址。

親測 | 如何更高效的管理原生微服務應用

圖2.registry位址

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

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

親測 | 如何更高效的管理原生微服務應用

圖3.釋出的服務

親測 | 如何更高效的管理原生微服務應用

圖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新版有獎評測活動正在進行中,歡迎參加。