文章介紹了服務註冊與發現,其中服務註冊中心Eureka Server,是一個實例,當成千上萬個服務向它註冊的時候,它的負載是很是高的,這在生產環境上是不太合適的,這篇文章主要介紹怎麼將Eureka Server集羣化。html
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.linux
摘自官網spring
Eureka經過運行多個實例,使其更具備高可用性。事實上,這是它默認的熟性,你須要作的就是給對等的實例一個合法的關聯serviceurl。vim
這篇文章咱們基於第一篇文章的工程,來作修改。windows
在eureka-server工程中resources文件夾下,建立配置文件application-peer1.yml:架構
1
2
3
4
5
6
7
8
9
10
11
|
server:
port:
8761
spring:
profiles: peer1
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http:
//peer2:8769/eureka/
|
而且建立另一個配置文件application-peer2.yml:app
1
2
3
4
5
6
7
8
9
10
11
|
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 ,加上:this
1
2
|
127.0
.
0.1
peer1
127.0
.
0.1
peer2
|
windows電腦,在c:/windows/systems/drivers/etc/hosts 修改。
這時須要改造下service-hi:
1
2
3
4
5
6
7
8
9
|
eureka:
client:
serviceUrl:
defaultZone: http:
//peer1:8761/eureka/
server:
port:
8762
spring:
application:
name: service-hi
|
架構代碼以下:
Spring Cloud大型企業分佈式微服務雲架構源碼請加企鵝求求:一七九一七四三三八零