天天看點

Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程

Spring-Cloud-Netflix-Eureka叢集搭建

  • eureka叢集原理
  • 搭建流程

eureka叢集原理

  1. 服務啟動後向Eureka注冊,Eureka Server會将注冊資訊向其他Eureka Server進行同步,
  2. 當服務消費者要調用服務提供者,則向服務注冊中心擷取服務提供者位址,然後會将服務提供者位址緩存在本地,
  3. 下次再調用時,則直接從本地緩存中取,完成一次調用。

搭建流程

  1. 修改host檔案 C:\Windows\System32\drivers\etc\host

    把隻讀屬性去掉

    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
  2. 添加host 資訊
    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
127.0.0.1   eureka
127.0.0.1   eureka1
127.0.0.1   eureka2
           
  1. 建立兩個子子產品Eureka3001,Eureka3002
    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
  2. 配置和Eureka3000一樣 (pom.xml,啟動類)
    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
  3. 修改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,


           
  1. 複制一份application.yml到Eureka3001,Eureka3002
    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
  2. 依次啟動Eureka3000,Eureka3001,Eureka3002

    啟動Eureka3000,Eureka3001可能會報錯,因為三個服務互相依賴,隻要三個服務全部啟動完成就行了

    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
    Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
  3. 将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
           

注意啟動類注解

Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程

goods,goods1

Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程
Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程

9. 通路localhost:3000

Spring-Cloud-Netflix-Eureka叢集搭建eureka叢集原理搭建流程

完成