javascript
如何无缝迁移 SpringCloud/Dubbo 应用到 Serverless 架构
作者 | 行松 阿里巴巴云原生團(tuán)隊(duì)
本文整理自《Serverless 技術(shù)公開(kāi)課》,“Serverless”公眾號(hào)后臺(tái)回復(fù)“入門(mén)”,即可獲取系列文章 PPT。
背景
通過(guò)前面幾節(jié)課程的學(xué)習(xí),相信大家對(duì)于 SAE 平臺(tái)已經(jīng)有了一定的了解,SAE 基于 IaaS 層資源構(gòu)建的一款 Serverles 應(yīng)用托管產(chǎn)品,免除了客戶(hù)很多復(fù)雜的運(yùn)維工作,開(kāi)箱即用、按用量付費(fèi);并且提供了豐富的 Open API 可以很容易地與其他平臺(tái)做集成。
本文將為大家介紹 SAE 在微服務(wù)方面的一些能力,SAE 產(chǎn)品把 Serverless 技術(shù)和微服務(wù)做了很好的結(jié)合,天然支持 Java 微服務(wù)應(yīng)用的托管和服務(wù)治理,對(duì) SpringCloud/Dubbo 微服務(wù)應(yīng)用能夠在只修改配置和依賴(lài),不修改代碼的情況下遷移到 SAE 上,并提供服務(wù)治理能力,比如基于租戶(hù)的微服務(wù)隔離環(huán)境、服務(wù)列表、無(wú)損下線、離群摘除、應(yīng)用監(jiān)控以及調(diào)用鏈分析等。
本次課程分為三部分來(lái)介紹,分別介紹微服務(wù)應(yīng)用遷移到 SAE 的優(yōu)勢(shì),如何遷移 SpringCloud/Dubbo 應(yīng)用到 SAE 上,以及針對(duì) SpringCloud 應(yīng)用遷移的實(shí)踐演示。
遷移到 SAE 的優(yōu)勢(shì)
在介紹遷移之前,先介紹下 SpringCloud/Dubbo 應(yīng)用遷移到 SAE 的優(yōu)勢(shì):
- **SAE 內(nèi)置注冊(cè)中心:**所有用戶(hù)共享注冊(cè)中心組件,SAE 幫助用戶(hù)運(yùn)維,這就節(jié)省了用戶(hù)的部署、運(yùn)維成本;在服務(wù)注冊(cè)和發(fā)現(xiàn)的過(guò)程中進(jìn)行鏈路加密,無(wú)需擔(dān)心被未授權(quán)的服務(wù)發(fā)現(xiàn)。
- **服務(wù)治理:**SAE 有命名空間的概念,是基于微服務(wù)租戶(hù)的邏輯隔離環(huán)境,用戶(hù)可以使用不同的命名空間來(lái)隔離微服務(wù)的注冊(cè)、發(fā)現(xiàn)和調(diào)用,提供無(wú)損下線、離群摘除和限流降級(jí)等服務(wù)治理能力。
- **應(yīng)用監(jiān)控:**SAE 針對(duì)微服務(wù)應(yīng)用提供主機(jī)監(jiān)控、異常棧分析以及分布式調(diào)用鏈路分析等能力,可以提升微服務(wù)應(yīng)用的可觀測(cè)性和診斷能力。
- **零代碼改造:**簡(jiǎn)單接入就可以享受免運(yùn)維體驗(yàn)。
SpringCloud/Dubbo 遷移方案
那如何遷移 SpringCloud/Dubbo 應(yīng)用到 SAE 呢?我們只需要修改添加依賴(lài)和配置,就可以把應(yīng)用部署到 SAE 上。
Dubbo 應(yīng)用需要添加 dubbo-register-nacos 和 nacos-client 依賴(lài);SpringCloud 應(yīng)用需要添加 spring-cloud-starter-alibaba-nacos-discovery 即可。
SpringCloud/Dubbo 應(yīng)用遷移實(shí)戰(zhàn)
Spring Cloud 提供了簡(jiǎn)化應(yīng)用開(kāi)發(fā)的一系列標(biāo)準(zhǔn)和規(guī)范。
目前業(yè)界流行的 Spring Cloud 具體實(shí)現(xiàn)有 Spring Cloud Netflix、Spring Cloud Consul、Spring Cloud Gateway 和 Spring Cloud Alibaba 等。
如果您熟悉 Spring Cloud 中的 Eureka、Consul 和 ZooKeeper 等服務(wù)注冊(cè)組件,但未使用過(guò) Spring Cloud Alibaba 的服務(wù)注冊(cè)組件 Nacos Discovery,那么您僅需將服務(wù)注冊(cè)組件的服務(wù)依賴(lài)關(guān)系和服務(wù)配置替換成 Spring Cloud Alibaba Nacos Discovery,無(wú)需修改任何代碼。
Spring Cloud Alibaba Nacos Discovery 同樣實(shí)現(xiàn)了 Spring Cloud Registry 的標(biāo)準(zhǔn)接口與規(guī)范,與您之前使用 Spring Cloud 接入服務(wù)注冊(cè)與發(fā)現(xiàn)的方式基本一致。
接下來(lái)針對(duì) SpringCloud 應(yīng)用遷移過(guò)程進(jìn)行演示,演示過(guò)程請(qǐng)點(diǎn)擊【視頻課鏈接】進(jìn)行觀看。
課程推薦
為了更多開(kāi)發(fā)者能夠享受到 Serverless 帶來(lái)的紅利,這一次,我們集結(jié)了 10+ 位阿里巴巴 Serverless 領(lǐng)域技術(shù)專(zhuān)家,打造出最適合開(kāi)發(fā)者入門(mén)的 Serverless 公開(kāi)課,讓你即學(xué)即用,輕松擁抱云計(jì)算的新范式——Serverless。
點(diǎn)擊即可免費(fèi)觀看課程:https://developer.aliyun.com/learning/roadmap/serverless
Serverless 公眾號(hào),發(fā)布 Serverless 技術(shù)最新資訊,匯集 Serverless 技術(shù)最全內(nèi)容,關(guān)注 Serverless 趨勢(shì),更關(guān)注你落地實(shí)踐中的遇到的困惑和問(wèn)題。
總結(jié)
以上是生活随笔為你收集整理的如何无缝迁移 SpringCloud/Dubbo 应用到 Serverless 架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 管理自动化:企业上云必由之路
- 下一篇: Spring Cloud/Dubbo 应