Spring-Cloud-Netflix-Eureka叢集搭建
- eureka叢集原理
- 搭建流程
eureka叢集原理
- 服務啟動後向Eureka注冊,Eureka Server會将注冊資訊向其他Eureka Server進行同步,
- 當服務消費者要調用服務提供者,則向服務注冊中心擷取服務提供者位址,然後會将服務提供者位址緩存在本地,
- 下次再調用時,則直接從本地緩存中取,完成一次調用。
搭建流程
-
修改host檔案 C:\Windows\System32\drivers\etc\host
把隻讀屬性去掉
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 - 添加host 資訊
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
127.0.0.1 eureka
127.0.0.1 eureka1
127.0.0.1 eureka2
- 建立兩個子子產品Eureka3001,Eureka3002
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 - 配置和Eureka3000一樣 (pom.xml,啟動類)
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 - 修改Eureka3000的yml配置檔案
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
server:
port: 3000
spring:
application:
name: eurekaServer
eureka:
server:
enable-self-preservation: false #關閉自我保護機制
eviction-interval-timer-in-ms: 4000 #設定清理間隔(機關:毫秒 預設是60*1000)
instance:
hostname: eureka
client:
registerWithEureka: true #不把自己作為一個用戶端注冊到自己身上
fetchRegistry: true #不需要從服務端擷取注冊資訊(因為在這裡自己就是服務端,而且已經禁用自己注冊了)
serviceUrl: #微服務要注冊到的位址.
defaultZone: http://eureka1:3001/eureka,http://eureka2:3002/eureka,
- 複制一份application.yml到Eureka3001,Eureka3002
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 -
依次啟動Eureka3000,Eureka3001,Eureka3002
啟動Eureka3000,Eureka3001可能會報錯,因為三個服務互相依賴,隻要三個服務全部啟動完成就行了
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程 -
将user,goods,goods1用戶端注冊到server中心
1.打開user的application.yml
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
server:
port: 5000
eureka:
client:
serviceUrl:
#eureka服務端提供的注冊位址 參考服務端配置的這個路徑
defaultZone: http://eureka:3000/eureka,http://eureka1:3001/eureka,http://eureka2:3002/eureka
instance:
instance-id: user-1 #此執行個體注冊到eureka服務端的唯一的執行個體ID
prefer-ip-address: true #是否顯示IP位址
#eureka客戶需要多長時間發送心跳給eureka伺服器,表明它仍然活着,預設為30 秒 (與下面配置的機關都是秒)
leaseRenewalIntervalInSeconds: 10
#Eureka伺服器在接收到執行個體的最後一次發出的心跳後,需要等待多久才可以将此執行個體删除,預設為90秒
leaseExpirationDurationInSeconds: 30
spring:
application:
name: client-user #此執行個體注冊到eureka服務端的n
注意啟動類注解
goods,goods1
9. 通路localhost:3000
完成