實現一個簡單的SpringCloud服務詳細步驟
簡介
本篇博文主要講述如何實現一個簡單的SpringCloud服務,並實現服務消費者調用。
源碼地址
開發環境
- JDK1.8
- Maven3
- IntelliJ IDEA
使用技術
- Spring Boot
- Spring Cloud
- Eureka
- Feign
實現步驟
-
打開IDEA,創建一個父級Maven項目
點擊下一步,輸入相關信息,完成父工程創建,src目錄我們不需要使用,可以刪除,結構如下圖所示
-
創建服務註冊中心。在當前項目中新建模塊
eureka-server
-
新建模塊
-
選擇Spring Initializr,選擇JDK版本
-
輸入相關信息,點擊下一步
-
選擇 Eureka Server 的依賴,一直點擊下一步,完成創建
-
項目結構如下
-
我這裏將
application.properties
文件修改爲application.yml
,個人覺得YAML看起來更清晰。進行如下的配置
-
添加註解,啓用Eureka
-
啓動項目,使用瀏覽器訪問,可以看到如下界面,服務啓動成功
- 創建服務提供者
eureka-client1
-
創建過程前面幾步與上述步驟相同,在選擇依賴時不同
-
一直點擊下一步,完成
eureka-client1
的創建,修改application.properties
爲application.yml
-
配置
application.yml
-
添加相關注解,註冊服務,並實現一個簡單的接口
-
先啓動
eureka-server
,然後啓動eureka-client1
,訪問註冊中心,可以看到我們註冊的服務
SERVICE-HI
即是我們在配置文件中定義的服務名,Eureka是用服務名作爲唯一的標識,後邊可以看到我們服務的地址信息 -
輸入
localhost:18762/hi
,可以訪問到剛纔定義到服務
- 以同樣的方式創建
eureka-client2
,端口號改爲18763
-
按照上述步驟修改配置文件和定義接口等
-
先啓動
eureka-server
,然後啓動eureka-client1
、eureka-client2
訪問註冊中心,可以看到我們註冊的服務
- 創建服務消費者
service-feign
,使用它進行服務的消費
在上述的步驟中,我們調用服務依舊是使用的服務本身的地址,並沒有體現服務註冊與發現以及負載均衡等,我們需要創建一個服務消費者,來進行消費,步驟如下
-
與上述步驟類似,創建一個
service-feign
模塊,選擇依賴與上述不同
-
一直點擊下一步,完成創建,將
application.properties
修改成application.yml
文件並配置
-
在啓動類中配置相關注解,開啓Feign功能
-
創建一個Feign接口,指定調用的服務名
-
創建一個對外的接口,調用Feign客戶端提供的
HiInterface
的服務
-
先啓動
eureka-server
,在分別啓動其他三個服務,輸入localhost:18761
可以看到註冊的服務
-
使用
locahost:18764/hi
多次調用服務,會發現我們會在18762
、18764
兩個服務之間交替調用
總結
這裏僅僅是一個簡單的Demo,實現了簡單的服務註冊與調用,記錄學習過程,不涉及到相關的高級配置