【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:2222/

这里写图片描述

           。从图中我们可以看出,提供者同时候注册到了注册中心1和注册中心2上,然后我们把注册中心二关闭后,发现提供者依旧在注册中心1上达到了高可用的状态。

#三,小结< font size = 3 >&nbsp; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;高可用是分布式微服务中非常看重的,所以设计还是要不错的,这个要有高可用的思想,多多使用。

发布了353 篇原创文章 · 获赞 367 · 访问量 143万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章