Spring Cloud微服務項目實戰--Eureka服務搭建


今天我們要開始SpringCloud的微服務項目系列實戰,我仍然以電商項目展開,從搭建一步步深入。在開始實戰之前,我們先熟悉下SpringCloud。

一,Spring Cloud是什么?

SpringCloud是一個基於Spring Boot實現的雲應用開發工具,它為基於JVM的雲應用開發中涉及的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態管理等操作提供了簡單的開發方式。Spring Cloud是微服務架構的集大成者,將一系列優秀的組件進行了整合。包含了多個子項目,比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Security、Spring Cloud Commons、Spring Cloud Zookeeper、Spring Cloud CLI等。在項目中通過一些簡單的注解,就可以快速的在應用中配置一下常用模塊並構建龐大的分布式系統。SpringCloud的組件相當繁雜,擁有諸多子項目,我們這里重點關注Netflix。

二,SpringCloud分布式開發五大組件

  • 服務發現——Netflix Eureka

  • 客服端負載均衡——Netflix Ribbon

  • 斷路器——Netflix Hystrix

  • 服務網關——Netflix Zuul

  • 分布式配置——Spring Cloud Config

今天說的重點就是Eureka,Eureka是Netflix 開發的,一個基於 REST 服務的,服務注冊與發現的組件。

它主要包括兩個組件:Eureka Server 和 Eureka Client

  • Eureka Server:注冊中心,提供服務注冊和發現的能力。里面有一個注冊表,保存了各個服務所在的機器和端口號。

  • Eureka Client:一個Java客戶端,用於簡化與 Eureka Server 的交互。負責將這個服務的信息注冊到Eureka Server中

如上圖:每一個Service的微服務,都有一個Eureka Client組件,這個專門把這個服務的信息注冊到Eureka Server中,說白了就是告訴Eureka Server,自己在哪台機器上,監聽那個端口。Eureka 注冊中心里的注冊表,保存各個服務器的機器和端口。

例如電商的微服務環境中,我們有訂單、支付、庫存、商品等多個服務。如果那個服務想要知道其他服務信息,只需要問下他里面的Eureka Client組件,然后Eureka Client組件會問一下,其他服務都在哪里?然后就可以把其他的相關服務信息從Eureka Server的注冊表中拉取到自己本地緩存起來。

如果我們下單,這時訂單服務想要調用庫存服務,不就可以找自己本地Eureka Client問題下庫存服務在那台機器上,監聽哪個端口嗎?收到響應后,緊接着就可以發送一個請求過去,調用庫存服務扣減庫存的那個接口。同理,如果訂單服務要調用商品服務、客戶服務,也是如法炮制。

三,搭建項目實戰

我先用IDEA創建一個SpringBoot的的項目。

1),創建SpringBoot項目

在Idea里依次點擊:File >>> New  >>> Project,選擇Maven,然后點擊Next,創建一個SpringBoot項目。

 

2)添加SpringBoot父級依賴

在創建的項目pom文件里,添加SpringBoot如下:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>    
    <version>2.2.0.RELEASE</version>
    <relativePath/>
</parent>    

並在剛項目version屬性下添加:<packaging>pom</packaging>

 

3)添加SpringCloud依賴

然后添加SpringBoot和SpringCloud基礎依賴。

注意:SpringBoot和SpringCloud版本一定需要匹配,否則使用不了。具體匹配信息如下:

4)創建Eureka項目

在剛創建的項目中,刪除src目錄。並右擊項目名稱,New >>> Module。創建一個Eureka服務。創建完成如下:

 

5)為Eureka添加依賴和配置

Eureka服務的pom配置如下:

 

application.yml配置如下:

 

6)添加Eureka啟動類

 

7)啟動測試

啟動Eureka啟動類

 

8)訪問Eureka服務

訪問地址:http://localhost:8761/,打開輸入賬號密碼(application.yml里配置),即可訪問Eureka服務。

 

此刻,我們初步的Eureka服務搭建完成。今天就到這里,接下來將是微服務模塊的搭建,並討論服務注冊與發現。

推薦閱讀:

SpringBoot+SpringCloud面試總結都在這里

今年的金三銀四,要找工作的請看這里

 

下期預期:SpringCloud微服務實戰系列,微服務模塊搭建,服務注冊與發現。

想獲取源碼,請關注公眾號,發送“SpringCloud實戰”獲取

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM