【Spring Cloud】分布式必学springcloud(三)——高可用Eureka
一、前言
在上一篇博客中,小编向大家介绍了springcloud的注册中心——Eureka,在微服务这种分布式架构下,我们需要充分考虑故障的发生,所以要保证每个节点都要是高可用的。对微服务是这样的,同样注册中心也不能是单节点的。要保证高可用,所以也要对注册中心搭建集群。
二、高可用Eureka
Eureka的高可用其实就是将自己作为服务向其他注册中心注册自己,这样形成一个互相注册的注册中心集群,达到高可用。
下面我们搭建两台互相注册的注册中心集群。
借鉴前面搭建的Eureka,这里我们搭建两台,修改配置文件:
EurekaServer1的配置文件:注册到2上
server:
port: 1111
spring:
application:
name: eurekaserver
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2:2222/eureka/
EurekaServer2的配置文件:注册到1上
server:
port: 2222
spring:
application:
name: eurekaserver
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1:1111/eureka/
注意:因为我们代码中写的是peer1和peer2,这些是服务的名字,在电脑上默认没有这个名字,所以需要进行配置,否则读不出服务器。
- Linux 需要再/etc/hosts文件对peer1和peer2进行转换;
- windows 需要C:\Windows\System32\drivers\etc 下的hosts文件进行转换
提供者配置文件修改:
server:
port: 9002
eureka:
client:
serviceUrl:
defaultZone: http://peer1:1111/eureka/,http//peer2:2222/eureka/
spring:
application:
name: clientb
提供者的配置文件中添加了所有的注册中心。
下面我们启动所有的注册中心和提供者:
注册中心 [http://localhost:1111/][http_localhost_1111]:
注册中心 [http://localhost:2222/][http_localhost_2222] :
          。从图中我们可以看出,提供者同时候注册到了注册中心1和注册中心2上,然后我们把注册中心二关闭后,发现提供者依旧在注册中心1上达到了高可用的状态。
#三,小结< font size = 3 >&nbsp; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;高可用是分布式微服务中非常看重的,所以设计还是要不错的,这个要有高可用的思想,多多使用。
还没有评论,来说两句吧...