Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

Spring Cloud Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

一、技術簡介

Eureka是用於微服務註冊中心的集大成者,至今已發佈多個版本。Spring Cloud也將Eureka組合進內部的生態圈,進行版本發佈。最新版本是spring-cloud-starter-eureka-server的1.4.7.RELEASE這個版本。

而FeignClient是用於轉發RestTemplate請求的一個組件,Feign包含有Ribbon轉發Http服務的功能,同時自動集成了Hystrix斷路器的功能。Feign方便Spring Cloud項目進行跨服務調用,同時避免了大量使用RestTemplate轉發。Feign通過註冊進註冊中心,從而方便進行服務發現。Feign服務端開啟@EnableEurekaClient方便各客戶端發現,Feign客戶端開啟@EnableFeignClients方便使用Feign服務。

斷路器是用來避免微服務雪崩效應,微服務服務鏈過長時,調用服務如果其中有一個服務掛掉,則會導致整個生態鏈受影響,請求超時。為了解決這個問題,採用斷路器進行阻斷,避免服務掛掉而漫長等待。

Swagger是用來方便查詢接口,提供給前端開發人員識別調用接口使用的。

MyBatis-Plus是用來進行代碼生成器、代碼生成工具。

二、Eureka工程

首先準備父工程Pom.xml如下,採用Spring Boot 2.1.0這個版本


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


搭建Eureka工程,其Maven配置文件


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


編寫Eureka配置文件


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


主啟動工程


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


啟動Eureka


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


打開瀏覽器:http://127.0.0.1:1111

進入註冊中心界面


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka搭建成功

三、Feign調用及斷路器

新建一個接口基工程

其Pom.xml如下:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


新建公共實體基類


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


新建接口基類


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


這個就是Feign接口基工程

新建一個Feign服務端工程,主體結構如下:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


其Pom.xml如下:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


其配置文件


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


開啟Eureka註冊

Feign主服務Controller:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


主啟動類:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


啟動Feign服務端


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


查看Eureka註冊中心:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


已加載至服務

搭建Feign消費者


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


其Pom.xml


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


配置文件,連接至Eureka


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


其Feign接口繼承至Feign接口基工程的基接口


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Feign接口基工程的基接口


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


指定的服務提供者

<code>@FeignClient(name="demo-feign-freeservice"             /<code>
<code>@FeignClient(name="demo-feign-freeservice"                          /<code>
Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

<code>fallback=DemoFeignFallback.class/<code>
<code>  處理已說明  四、MyBatis-PlusMyBatis-Plus在Maven中引入的其配置文件application.yml配置了MyBatis XML掃描文件掃描實體接口:MyBatis-Plus依賴的工具:代碼生成工具類:設置作者及目錄配置數據源設置需要生成的表設置生成的包,指定了基礎包,Service類的包指定xml生成:執行生成:運行之後,代碼生成五、SwaggerSwagger引入的Maven:Swagger包配置掃描Controller:Swagger加入後查看Swagger地址http://127.0.0.1:8091/swagger-ui.htmlSwagger集成完畢六、總結這篇文檔講述了Eureka、Feign、斷路器、Swagger、MyBatis-Plus等工具與Spring CLoud的整合/<code>
Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

代表了斷路器處理邏輯


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

啟動Feign微服務消費者


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

註冊中心:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

<code>服務都已啟動打開PostMan測試Feign消費者正常請求:/<code>


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

通過斷路器處理的(接口調用超時)


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

再次請求PostMan,超時,斷路器處理的


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

如上,Feign及斷路器處理已說明

四、MyBatis-Plus

MyBatis-Plus在Maven中引入的


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

其配置文件application.yml


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

配置了MyBatis XML掃描文件


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

掃描實體接口:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

MyBatis-Plus依賴的工具:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

代碼生成工具類:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

設置作者及目錄


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

配置數據源


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

設置需要生成的表


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

設置生成的包,指定了基礎包,Service類的包


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

指定xml生成:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


執行生成:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


運行之後,代碼生成


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

五、Swagger

Swagger引入的Maven:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

Swagger包配置掃描Controller:


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

Swagger加入後查看Swagger地址http://127.0.0.1:8091/swagger-ui.html


Eureka集成Feign+斷路器+Swagger+MyBatis-Plus微工程整合說明

Swagger集成完畢

六、總結

這篇文檔講述了Eureka、Feign、斷路器、Swagger、MyBatis-Plus等工具與Spring CLoud的整合


分享到:


相關文章: