微服務框架Spring cloud實踐(開篇)
阿新 • • 發佈:2018-12-21
題目起的有點太大,寫本文的主要目的,還是想將自己實際應用過程中,遇到的問題及解決方法,做一個總結,並系統梳理一下微服務框架Spring cloud的應用過程,以備後續複習查詢。
Spring cloud包含一些列的子專案,比如配置管理(Spring Cloud Config)、服務發現(Netflix Eureka)、斷路器(Netflix Hystrix)、動態路由(Netflix zuul)、控制中線(Spring Cloud Bus)等等,使得開發者能夠快速建構自己的服務和應用。本文主要描述Spring Cloud的主要特性,並詳細記錄實踐過程、遇到問題及解決方法。
首先,說明一下本人使用軟體版本:
- 作業系統:win10 64位
- jdk:1.8.0_73 64位
- idea: Intellij IDEA 2017.2
- maven: 3.5.0
- org.springframework.boot: 2.X(idea整合Spring Initializr,可以快速搭建Spring Boot專案,實踐過程中發現,每次 建立的 Spring Boot專案,org.springframework.boot版本會有所不同)
- Spring Cloud:Finchley.SR2
具體專案及子專案規劃如下:
專案 | springlearn | spring cloud專案實踐 | |
編號 | 模組名稱 | 描述 | 埠號 |
模組1 | eurekaserver | 服務註冊中心,提供服務註冊功能 | 8080 |
模組2 | eurekaclient | 服務提供者,註冊服務到服務註冊中心 | 8081 |
模組3 | eurekaclient | 服務提供者,註冊服務到服務註冊中心 | 8082 |
模組4 | configserver | 配置中心,提供配置檔案的統一管理 | 8090 |
模組5 | ribbonservice | 負載均衡,使用Ribbon實現客戶端的負載均衡,並通過Hystrix實現斷路器及斷路器儀表盤Hystrix Dashboard的使用 | 8091 |
模組6 | feignservice | 負載均衡,用宣告式Rest客戶端呼叫遠端服務實現負載均衡,並通過Hystrix實現斷路器及斷路器儀表盤Hystrix Dashboard的使用 | 8092 |
模組7 | zuulservice | 路由閘道器,通過zuul實現路由和過濾 | 8093 |
後續將分成6個篇章,依次描述Spring Cloud的實踐過程,為了便於感興趣的小夥伴參考,依次完成Spring cloud專案的搭建工作,後續篇章將按照下列順序進行描述。
(一)Spring Cloud實踐: 使用Netflix Eureka實現服務註冊與發現
(二)Spring Cloud實踐:使用Spring Cloud Config實現分散式配置管理
(三)Spring Cloud實踐:使用Netflix Ribbon實現負載均衡
(四)Spring Cloud實踐:使用Feign實現負載均衡
(五)Spring Cloud實踐:使用Netflix hystrix實現斷路器,並使用Netflix hystrix dashboard實現監控
(六)Spring Cloud實踐:使用Netflix Zuul實現路由和過濾