隨著技術的更新迭代,服務的治理至關重要。傳統的專案架構(例如:單體架構,垂直架構)已經不適用。現在大部分公司使用的還是soa系統架構。
簡單介紹下soa架構的特點:
1.soa可以將重複的公共的部分功能抽取出來當成乙個元件,以服務的方式被各個系統呼叫。
2.系統與各個服務之間採用webservice,rpc等通訊方式;
3.使用esb企業服務匯流排作為專案與服務之間的橋梁;
這之後,隨著技術發展,微服務應運而生,將大型專案拆分為乙個個小的服務。各個服務之間採用restful等輕量協議。
拆分的微服務多了以後就得需要服務註冊管理中心。springcloud就是將各個服務框架集中到一起。其中在服務註冊管理中心上使用的是netflix的。
eureka:服務治理,註冊服務與發現服務。它分為服務端和客戶端。訪問埠號:8761(預設)
eureka客戶端:
1.匯入依賴:
<2.匯入springcloud:dependency
>
<
groupid
>org.springframework.cloud
groupid
>
<
artifactid
>spring-cloud-starter-eureka
artifactid
>
<
version
>1.4.4.release
version
>
dependency
>
<dependencymanagement
>
<
dependencies
>
<
dependency
>
<
groupid
>org.springframework.cloud
groupid
>
<
artifactid
>spring-cloud-dependencies
artifactid
>
<
version
>$
version
>
<
type
>pom
type
>
<
scope
>import
scope
>
dependency
>
dependencies
>
dependencymanagement
>
#4.在啟動類中新增設定服務名,因為是服務治理,在
eureka
中就不用試用
ip來說明服務
spring:
name: hello-service
# 設定註冊中心位址
,defaultzone
指定了該客戶端註冊到哪個
eureka server
eureka:
client:
service-url:
defaultzone: http://localhost:1111/eureka
@enableeurekaclienteureka server服務端:
1.新增服務端server依賴:
2.新增springcloud依賴<
dependency
>
<
groupid
>org.springframework.cloud
groupid
>
<
artifactid
>spring-cloud-starter-eureka-server
artifactid
>
<
version
>1.4.4.release
version
>
dependency
>
# 設為
false
,關閉自我保護
enable-self-preservation: false
# 清理間隔(單位毫秒,預設是
60*1000
)eviction-interval-timer-in-ms: 10004.在啟動類上新增
@enableeurekaserver注釋:
(1)@enableeurekaclient和@enablediscoveryclient的區別:
1.@enableeurekaclient只適用於註冊中心為eureka
2.@enablediscoveryclient適用於其他服務註冊中心。
(2)springcloud專案是建立於springboot專案的基礎上。
eureka server是高可用(ha)
registerwitheureka:true將這兩個配置改為true就可以將自己當做服務註冊到其他註冊中心上去了。fetchregistry: true
SpringCloud之客戶端連線Eureka集群
客戶端分別yml 服務啟動埠號 server port 8002 服務名稱 服務註冊到eureka名稱 spring 服務註冊到eureka位址 eureka client service url defaultzone http localhost 8100 eureka,因為該應用為註冊中心,不...
SpringCloud之Dashboard 流監控
新建springcloud consumer hystrix dashboard模組 新增依賴 org.springframework.cloudgroupid spring cloud starter hystrixartifactid 1.4.6.releaseversion dependenc...
SpringCloud之Hystrix應用實踐
使用springcloud的hystrix功能,有幾種方式 1 單應用監聽,也可以用於測試 引用包 org.springframework.boot spring boot starter actuator org.springframework.cloud spring cloud starter...