springcloud-eureka集羣搭建

解決高可用問題

思路:大搭建多個eureka服務端,相互註冊,相互監督.

搭建集羣不同的是配置文件如下:
eureka7001

server:
  port: 7001

eureka:
  instance:
    hostname: eureka7001.com #eureka服務端的實例名稱
  client:
    # false表示不向註冊中心註冊自己
    register-with-eureka: false
    # false表示自己端就是註冊中心,我的職責就是維護服務實例,並不需要檢索服務
    fetch-registry: false
    service-url:
      # 設置與Eureka Server交互的地址查詢服務和註冊服務都需要依賴這個地址
      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      # 相互註冊
      defaultZone: http://eureka7002.com:7002/eureka/
      #defaultZone: http://eureka7001.com:7001/eureka/
  server:
    #關閉自我保護模式,保證不可用服務被及時刪除
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 2000

eureka7002

server:
  port: 7002

eureka:
  instance:
    hostname: eureka7002.com #eureka服務端的實例名稱
  client:
    # false表示不向註冊中心註冊自己
    register-with-eureka: false
    # false表示自己端就是註冊中心,我的職責就是維護服務實例,並不需要檢索服務
    fetch-registry: false
    service-url:
      # 設置與Eureka Server交互的地址查詢服務和註冊服務都需要依賴這個地址
      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      # 相互註冊
      #defaultZone: http://eureka7002.com:7002/eureka/
      defaultZone: http://eureka7001.com:7001/eureka/
  server:
    #關閉自我保護模式,保證不可用服務被及時刪除
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 2000

服務註冊

eureka:
  client:
    #表示是否將自己註冊進EurekaServer默認爲true
    register-with-eureka: true
    #是否從EurekaServer抓取已有的註冊消息,默認爲true,單節點無所謂,集羣必須設置爲true才能配合ribbon使用負載均衡
    fetch-registry: true
    service-url:
      #集羣版
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
      #單機版
      #defaultZone: http://localhost:7001/eureka/

同理也許到搭建多個相同的服務構成服務集羣,然後註冊到eureka中,
但是由於,多個相同的服務名
在這裏插入圖片描述
消費者eureka無法分清需要將請求分發到哪一個服務中,因此需要給

  1. RestTemplate配置類添加一個負載均衡註解
    在這裏插入圖片描述
  2. 修改消費者controller層中的請求主機名和端口號.
    在這裏插入圖片描述
    這裏的主機名與端口號要和eureka中註冊的服務名相同
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章