Eureka的集群配置

Eureka注册中心的建立和服务注册可以参考博客:[Eureka微服务注册中心建立和服务注册],本篇博客主要介绍eureka的集群配置和使用。
源码地址:获取源码
一、Eureka集群的原理和必要性
如果单机版本Eureka服务端宕机,会导致所有服务都无法获取使用,为了保证高可用性,我们需要搭建Eureka集群。如下图是来自eureka的官方架构图,这是基于集群配置的eureka处于不同节点的eureka通过Replicate进行数据同步 。
Eureka的集群配置_第1张图片
二、修改相关配置实现Eureka的集群
1、新建Eureka模块
新建Eureka模块和微服务的注册在这篇博客中有详细介绍这里不再阐述 ,点击查看
在这里插入图片描述
2、修改hosts文件
找到C:\Windows\System32\drivers\etc路径下的hosts文件,添加三个域名以及相映射的ip地址,如下图:
Eureka的集群配置_第2张图片
3、3台eureka服务器的yml配置(三个模块的yml配置文件)
例如:microservicecloud-eureka-7001的application.yml文件,把hostname改为对应域名eureka7001.com(在配置文件中配置过),然后在把eureka.client.service-url.defaultZone属性串联上另外两台eureka服务器。

server:
  port: 7001

eureka:
  instance:
    #hostname: localhost          #eureka服务端的实例名称 单机
    hostname: eureka7001.com
  client:
    register-with-eureka: false   #false表示不向注册中心注册自己。
    fetch-registry: false         #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。 单机
      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/ #集群

#  server:
#    enable-self-preservation: false   # 禁用Eureka自我保护机制

microservicecloud-eureka-7002的application.yml文件

server:
  port: 7002

eureka:
  instance:
    #hostname: localhost          #eureka服务端的实例名称 单机
    hostname: eureka7002.com
  client:
    register-with-eureka: false   #false表示不向注册中心注册自己。
    fetch-registry: false         #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。 单机
      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/ #集群

#  server:
#    enable-self-preservation: false   # 禁用Eureka自我保护机制

microservicecloud-eureka-7003也是如上配置,这里不再展示代码。
四、微服务提供者注册到eureka
修改微服务提供者的application.yml文件,将微服务提供者的eureka.client.service-url.defaultZone属性设置为三台eureka服务器的地址,如下代码:

eureka:
  client: #客户端注册进eureka服务列表内
    service-url:
      #defaultZone: http://localhost:7001/eureka  单机
      defaultZone:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  instance:
    instance-id: microservicecloud-dept-8001
    prefer-ip-address: true  #访问路径可以显示ip地址

五、验证eureka是否成功
1、先启动三台eureka服务器,然后启动服务提供者(DeptProvider8001_App),如图先启动eureka集群
Eureka的集群配置_第3张图片
2、使用http://eureka7002.com:7002/访问,可以看到7002关联了7001和7003
Eureka的集群配置_第4张图片
使用http://eureka7003.com:7003/访问,可以看到7003关联了7001和7002
Eureka的集群配置_第5张图片
这样就完成了eureka的集群以及在集群模式下的微服务注册功能,有感兴趣的同学可以点击文章开头连接获取源码研究,谢谢!

你可能感兴趣的:(项目实战,分布式,eureka)