上一篇文章已經說明了一下,關於spring boot創建maven項目的簡單步驟,相信很多熟悉Maven+Eclipse作為開發常用工具的朋友們都一目了然,這篇文章主要講解一下,構建spring boot+spring cloud實現微服務的框架搭建過程,不過在此之前我們要先了解一下spring boot+spring cloud服務框架的功能組建和一些常提起的概念。
1:注冊中心,spring boot+spring cloud使用Eureka作為服務的注冊中心,早dubbo+zookeeper的微服務中也常使用zookeeper作為服務的注冊中心
2:服務治理,和服務的調度
3:客戶端負載均衡(包括常用的三種負載均衡策略)
4:服務遠程調度的容錯保護,即電路設計中所說到的保險絲(熔斷機制)
5:spring cloud的聲明式遠程調度
6:服務路由和服務的轉發
筆者這里個人感覺作為spring boot+spring cloud構建的微服務,熟悉上面幾點的概念,然后帶着框架的概念再去有點有面的看框架設計的本質,起全局性和概括性都了然於胸。
好了廢話不多說下面我們開始創建spring boot+spring cloud的微服務吧。
(聲明:JDK 1.8,spring boot:1.5.10.RELEASE,spring cloud:Edgware.SR2)
一:創建服務的注冊中心
File---->new----->other
如下圖,我們選擇Eureka Discov,和Eure Server兩個模塊的組件。搭建完成我們來看一下搭建完成后,我們來看一下搭建好的項目目錄結構,以及項目所使用到的maven組件間的相互依賴。
注:這里為什么要多啰嗦幾句,來說明一下為什么,因為再使用maven作為jar包間的相互依賴,常常會出翔jar包版本的沖突,spring boot和spring cloud就有版本的沖突。不過Eclipse再我們選擇spring Boot版本的時候就幫我們選定了最兼容的版本,這里小伙伴本要特別注意。不然踩到坑了你會很痛苦。所有在別人項目里跑的66的代碼到你這里就變得四面楚歌。
這是項目的結果圖,再上一篇文章中我們介紹過了,這里就不過多的介紹,我們看看注冊中心的代碼,如下,藍色部分,需要我們加上注冊中心的注解表示。@EnableEurekaServer
我們看看maven的jar包依賴
下面是,application.properties的配置文件。
為方便搭建的復制粘貼這里直接貼上代碼如下,
#設置注冊中心端口
server.port=8000
#注入的服務應用名稱
spring.application.name=registry-center
#安全認證
security.basic.enabled=true
security.user.name=top-registry-center
security.user.password=123456
security.user.role=admin
eureka.instance.hostname=peer1
#關閉注冊中心,注冊自己到本地服務
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#注冊中心控制台地址
#eureka.client.serviceUrl.defaultZone=http://114.55.73.147:18020/eureka/
#無關緊要的注冊中心配置信息,標記注冊中心的健康信息
eureka.instance.statusPageUrlPath=/info
eureka.instance.healthCheckUrlPath= /health
下面我們,啟動main方法
RegistryCenterApplication,如下所示,我們發現多了spring Boot App,我們選中啟動
然后瀏覽器打開:輸入local host:8000
最后補充一點,看看如下筆者另外的一個訪問路徑:peer1:8000,
這里是要配置windows的host主機名作為映射的。
如下所示:
我們看到127.0.0.1 localhost映射的就是我們的本機的地址
我們在這里多加一下peer1的注冊中心地址配置