SpringCloud的注册中心集群搭建

为什么要配置高可用的多注册中心?
   答:在于我们平时的生产环境中,很难保证单节点的eureka服务能提供百分百不间断的服务,如果eureka无响应了,
   整个项目应用都会出现问题,因此要保证eureka随时都能提供服务的情况下,最好的方式就是采用eureka的集群模式,
   也就是搭建eureka的高可用,在eureka的集群模式下,多个eureka server之间可以同步注册服务,因此,在一个eureka宕掉的情况,仍然可以提供服务注册和服务发现的能力,从而达到注册中心的高可用。

 Eureka实现高可用多注册中心的思路
   所有的节点既是服务提供方也是服务消费方,服务的注册中心也是如此
   单机的Eureka注册中心向其他的注册中心注册自己,这样就可以形成互相注册的注册中心

步骤

  首先前提是将springcloud项目搭建好

  第一步:需要把注册中心分为多个,我这里分了三个。因为多个注册中心的代码是一样的,只有pom.xml中配置不一样,所以要将pom.xml分为多个,在yml文件中,通过3个减号“---”来区分多个文件,减少配置文件个数。

 第二步:高可用配置中的节点,每个节点的端口号不同 7101/7102/7103 ,分别对应三个配置文件(其实只有一个配置文件,它通过“---”分成了3个)

  第三步:# 集群配置新增属性
     spring.profiles=peer1
     spring.application.name=eureka-cluster

---
# 高可用节点1的配置
server:
  # 端口号
  port: 7101
spring:
  # 节点1的标签
  profiles: peer1
  application:
    # 服务名称,注意:所有节点的服务名称要保持一致
    name: eureka-server
eureka:
  instance:
    # 服务实例主机名
    hostname: peer1
  # 服务提供者配置
  client:
    # 进行注册(高可用配置、默认配置)
    # registerWithEureka: true
    # 获取注册信息(高可用配置、默认配置)
    # fetchRegistry: true
    serviceUrl:
      # 节点1向节点2/3进行服务注册
      defaultZone: http://peer2:7102/eureka/,http://peer3:7103/eureka/
---
# 高可用节点2的配置
server:
  # 端口号
  port: 7102
spring:
  # 节点1的标签
  profiles: peer2
  application:
    # 服务名称,注意:所有节点的服务名称要保持一致
    name: eureka-server
eureka:
  instance:
    # 服务实例主机名
    hostname: peer2
  # 服务提供者配置
  client:
    # 进行注册(高可用配置、默认配置)
    # registerWithEureka: true
    # 获取注册信息(高可用配置、默认配置)
    # fetchRegistry: true
    serviceUrl:
      # 节点2向节点1/3进行服务注册
      defaultZone: http://peer1:7101/eureka/,http://peer3:7103/eureka/
---
# 高可用节点3的配置
server:
  # 端口号
  port: 7103
spring:
  # 节点1的标签
  profiles: peer3
  application:
    # 服务名称,注意:所有节点的服务名称要保持一致
    name: eureka-server
eureka:
  instance:
    # 服务实例主机名
    hostname: peer3
  # 服务提供者配置
  client:
    # 进行注册(高可用配置、默认配置)
    # registerWithEureka: true
    # 获取注册信息(高可用配置、默认配置)
    # fetchRegistry: true
    serviceUrl:
      # 节点3向节点1/2进行服务注册
      defaultZone: http://peer1:7101/eureka/,http://peer2:7102/eureka/

到现在,其实还是只有一个注册中心,只是分了三个pom.xml,现在就要有三个注册中心,下面图片是步骤

信息1

xx3

注:因为我们主机名写的是peer1,peer2.....,而不是localhost,peer1/peer2/peer3这3个域名是没注册的,假的,怎么办?

到电脑中这个路径中C:\Windows\System32\drivers\etc\hosts   末尾添加3行
     127.0.0.1    peer1
     127.0.0.1    peer2
     127.0.0.1    peer3

测试:重新启动3个注册中心,并打开浏览输入以下地址
           http://peer1:7101/
           http://peer2:7102/
           http://peer3:7103/

高可用服务:就是在消费者和生产者中注册多个注册中心

只需要更改消费者和生产者中pom.yml的 defaultZone: http://peer1:7101/eureka/,http://peer2:7102/eureka/,http://peer3:7103/eureka/

即使是其中一个注册中心挂机了,另外两个也可以使用。

发布了62 篇原创文章 · 获赞 6 · 访问量 2567

猜你喜欢

转载自blog.csdn.net/qq_44424498/article/details/103529866