spring cloud構建網際網路分散式微服務雲平臺-高可用的服務註冊中心

it小飛俠的微博發表於2019-02-25

文章介紹了服務註冊與發現,其中服務註冊中心Eureka Server,是一個例項,當成千上萬個服務向它註冊的時候,它的負載是非常高的,這在生產環境上是不太合適的,這篇文章主要介紹怎麼將Eureka Server叢集化。願意瞭解原始碼的朋友直接求求交流分享技術 一七九一七四三三八零

一、準備工作

Eureka can be made even more resilient and available by running multiple instances and asking them to register with each other. In fact, this is the default behaviour, so all you need to do to make it work is add a valid serviceUrl to a peer, e.g.

摘自官網

Eureka通過執行多個例項,使其更具有高可用性。事實上,這是它預設的熟性,你需要做的就是給對等的例項一個合法的關聯serviceurl。

這篇文章我們基於第一篇文章的工程,來做修改。

二、改造工作

在eureka-server工程中resources資料夾下,建立配置檔案application-peer1.yml:

server:
  port: 8761
 
spring:
  profiles: peer1
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2:8769/eureka/
複製程式碼

 並且建立另外一個配置檔案application-peer2.yml:

 server:
  port: 8769
 
spring:
  profiles: peer2
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/     
複製程式碼

這時eureka-server就已經改造完畢。

ou could use this configuration to test the peer awareness on a single host (there’s not much value in doing that in production) by manipulating /etc/hosts to resolve the host names.

按照官方文件的指示,需要改變etc/hosts,linux系統通過vim /etc/hosts ,加上:

127.0.0.1 peer1
127.0.0.1 peer2
複製程式碼

windows電腦,在c:/windows/systems/drivers/etc/hosts 修改。

這時需要改造下service-hi:

eureka:
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/
server:
  port: 8762
spring:
  application:
    name: service-hi
複製程式碼

相關文章