如何無縫遷移 SpringCloud/Dubbo 應用到 Server

karspb發表於2021-09-09

作者 | 行松 阿里巴巴雲原生團隊

背景

圖片描述

透過前面幾節課程的學習,相信大家對於 SAE 平臺已經有了一定的瞭解,SAE 基於 IaaS 層資源構建的一款 Serverles 應用託管產品,免除了客戶很多複雜的運維工作,開箱即用、按用量付費;並且提供了豐富的 Open API 可以很容易地與其他平臺做整合。

本文將為大家介紹 SAE 在微服務方面的一些能力,SAE 產品把 Serverless 技術和微服務做了很好的結合,天然支援 Java 微服務應用的託管和服務治理,對 SpringCloud/Dubbo 微服務應用能夠在只修改配置和依賴,不修改程式碼的情況下遷移到 SAE 上,並提供服務治理能力,比如基於租戶的微服務隔離環境、服務列表、無損下線、離群摘除、應用監控以及呼叫鏈分析等。

本次課程分為三部分來介紹,分別介紹微服務應用遷移到 SAE 的優勢,如何遷移 SpringCloud/Dubbo 應用到 SAE 上,以及針對 SpringCloud 應用遷移的實踐演示。

遷移到 SAE 的優勢

圖片描述

在介紹遷移之前,先介紹下 SpringCloud/Dubbo 應用遷移到 SAE 的優勢:

  • **SAE 內建註冊中心:**所有使用者共享註冊中心元件,SAE 幫助使用者運維,這就節省了使用者的部署、運維成本;在服務註冊和發現的過程中進行鏈路加密,無需擔心被未授權的服務發現。
  • **服務治理:**SAE 有名稱空間的概念,是基於微服務租戶的邏輯隔離環境,使用者可以使用不同的名稱空間來隔離微服務的註冊、發現和呼叫,提供無損下線、離群摘除和限流降級等服務治理能力。
  • **應用監控:**SAE 針對微服務應用提供主機監控、異常棧分析以及分散式呼叫鏈路分析等能力,可以提升微服務應用的可觀測性和診斷能力。
  • **零程式碼改造:**簡單接入就可以享受免運維體驗。

SpringCloud/Dubbo 遷移方案

那如何遷移 SpringCloud/Dubbo 應用到 SAE 呢?我們只需要修改新增依賴和配置,就可以把應用部署到 SAE 上。

圖片描述

Dubbo 應用需要新增 dubbo-register-nacos 和 nacos-client 依賴;SpringCloud 應用需要新增 spring-cloud-starter-alibaba-nacos-discovery 即可。

SpringCloud/Dubbo 應用遷移實戰

Spring Cloud 提供了簡化應用開發的一系列標準和規範。

目前業界流行的 Spring Cloud 具體實現有 Spring Cloud Netflix、Spring Cloud Consul、Spring Cloud Gateway 和 Spring Cloud Alibaba 等。

如果您熟悉 Spring Cloud 中的 Eureka、Consul 和 ZooKeeper 等服務註冊元件,但未使用過 Spring Cloud Alibaba 的服務註冊元件 Nacos Discovery,那麼您僅需將服務註冊元件的服務依賴關係和服務配置替換成 Spring Cloud Alibaba Nacos Discovery,無需修改任何程式碼。

Spring Cloud Alibaba Nacos Discovery 同樣實現了 Spring Cloud Registry 的標準介面與規範,與您之前使用 Spring Cloud 接入服務註冊與發現的方式基本一致。

圖片描述

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2001/viewspace-2826667/,如需轉載,請註明出處,否則將追究法律責任。

相關文章