使用 Spring Boot 和 Spring Cloud 的微服務

已發表: 2020-09-04

目錄

微服務簡介

微服務是小型的、自力更生的服務,它們相互協作以實現複雜的業務目標。 這些服務是獨立且完整的,因此它們可以由不同的開發團隊使用不同的編程語言和數據存儲來構建。 微服務可以單獨擴展,並且可以自動部署。 與單體服務相比,它們易於維護並提供更大的容錯能力。 然而,它們是鬆散耦合的,並且能夠相互交互以實現更大應用程序的目標。

市場上有各種工具可供您使用,以便您可以使用微服務架構構建軟件。 Spring Cloud 和 Spring Boot 是流行的 Java 微服務框架。

Spring Boot 是一個自以為是的應用程序開發平台,使用 Spring 框架構建,用於開發 Java Web 應用程序。 同時,它是可定制的,您可以根據自己的需求進行配置。 Spring Cloud教程的基本方面將在本博客中討論。

使用 Spring Boot 和 Spring Cloud 的微服務

Spring Cloud 教程提供了使用 Spring Boot 和 Spring Cloud 構建簡單微服務應用程序的基本概述。 此外,本教程提供了相關文檔的鏈接,可幫助您實現學習目標。 您將需要執行以下操作:

1. 通過使用 Spring Initializer 使用 Spring Boot 創建一個新服務

根據Spring Cloud 教程,第一步是使用 Spring Initializer 創建項目結構。 初始化程序提供了一種快速添加項目所需的所有依賴項的方法。 例如,您可以選擇 Maven 項目、Java 和 Spring Boot 版本 2.0.0。 Maven 項目需要組 ID 和 Artefact ID,類似於 Java 中的包和類。

您還需要選擇依賴項,例如,Web(開始開發 Web 應用程序)、DevTools(使開發應用程序變得容易)、Actuator(監控應用程序)和 Config Client(將應用程序連接到 Spring Config服務器)。 選擇所有選項後,您將生成項目。 要了解更多信息,請參閱構建 RESTful Web 服務資源中的從 Spring Initializer 開始。 參考Spring Data JPA了解如何連接數據庫。

2. 確保服務命名和發現

所有微服務都需要註冊才能發現架構中的另一個服務何時在尋找它們。 例如,特定服務可能想要查找在特定環境中重新運行的另一服務的所有實例。 在本春季雲教程中,您將了解命名服務器存儲有關所有服務及其實例的信息,並將信息提供給尋求它的人。 因此,它有助於服務發現的過程。 要了解有關服務註冊和發現的更多信息,請參閱Spring Cloud 和 Netflix 的 Eureka 的微服務註冊和發現

閱讀: Spring Boot 項目和主題

3.調用其他微服務

使用 Spring Cloud,需要對其他組件和服務進行多次調用。 這是通過使用 Feign 來實現的,它使您能夠更輕鬆地編寫 Web 服務客戶端,從而消除了過程的複雜性。 要了解更多信息,請參閱Spring Cloud Open Feign

4.確保負載均衡

根據這個spring 雲教程, Feign 還提供了與客戶端負載平衡框架 Ribbon 的集成。 Ribbon 幫助使用 Feign 配置來分配調用並在另一個服務想要連接的服務的所有實例之間平衡它們。 請參閱使用 Ribbon 和 Spring Cloud 進行客戶端負載平衡以了解更多信息。

5. 使用 Spring Cloud Config Server 集中管理微服務配置

根據這個春季雲教程,應用程序使用多個微服務,這些微服務的多個環境,以及在環境中運行的這些服務的各種實例。 Spring 配置服務器提供了一個集中位置來存儲與所有此類微服務實例相關的配置信息。

因此,此配置可在一個地方使用,並且架構中的任何服務都需要使用此配置。 要集中管理配置,您將定義與新服務相關的屬性,然後使用 Git 作為代碼存儲庫連接關聯的 Spring Config 服務器。 要了解更多信息,請參閱文檔Spring Config Overview 要了解如何將 Spring Config 與 Git 連接,請參閱Spring Cloud Config

另請閱讀:印度春季開發人員薪水

6. 使用 Spring Cloud 建立安全性

在數百個微服務協同工作的微服務架構中,必須檢查身份驗證和授權。 除了安全性之外,還有一些考慮因素,例如指標、限制等。 API 網關可以實現所有服務共有的功能。

例如,Zuul Server 是一個 API Gateway 應用程序,它處理請求並執行微服務應用程序的動態路由。 參考Spring Cloud Gateway在這個spring cloud 教程了解更多信息

7.啟用容錯

實施微服務時的一個重要考慮因素是,如果一個組件停止工作,整個應用程序可能會停止。 Hystrix 框架有助於構建容錯微服務,當方法調用失敗時,您可以使用這些微服務優雅地升級功能。 這使微服務能夠在相關服務發生故障時繼續運行,防止故障級聯並給故障服務時間恢復。

查看: Spring Bean 生命週期解釋

結論

希望本Spring Cloud 教程將成為您入門的重要起點。

如果您有興趣了解有關 Spring Cloud 的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發 PG 文憑,該文憑專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目和作業,IIIT -B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。

踏上夢想的工作

升級和 IIIT-BANGALORE 的軟件開發 PG 文憑
現在申請