码迷,mamicode.com
首页 > 编程语言 > 详细

Spring cloud之Eureka(二)注册中心高可用

时间:2019-04-08 21:41:42      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:方向   就是   order   style   不同   获取   fetch   配置   宕机   

背景

  在实际的生产环境中,注册中心如果只有一个,是很危险的,当这个注册中心由于各种原因不能提供正常服务或者挂掉时,整个系统都会崩溃,这是很致命的的,所以在Spring cloud 设计之初就考虑到了注册中心的高可用。

  springCloud的eureka高可用配置方案思路是:几个服务中心之间相互注册,比如两个注册中心,A注册到B上,B注册到A上,如果是三个注册中心则是:A注册到BC上,B注册到AC上,C注册到AB上,这样就会在几个注册中心间进行同步,同时服务提供方向三个注册中心均注册,这样就会保证当一个服务注册中心宕机的时候,不影响整个系统的正常运行,从而保证了eureka的高可用。

示例

application.properties配置修改

  这里配置文件的修改不是必须的,也可以都设置为false不影像注册中心的高可用

#true表示将自己注册为一个服务,否则是启动了一个注册中心
eureka.client.register-with-eureka=true

#false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务 eureka.client.fetch-registry=true

我们以三个注册中心为例来构建高可用,这里我们在本机演示的是在本机上进行调试,ip都是一样的这时端口肯定不能一样:8880,8881,8882,如果是部署在不同的服务器上端口是可以一样的

8880

#本项目端口
server:
  port: 8880
#定义应用名称为order
spring:
  application:
    name: server
#服务注册中心实例主机名
eureka:
  instance:
    hostname: host
  client:
#是否向注册中心注册自己
    register-with-eureka: false
#是否获取注册表
    fetch-registry: false
    service-url: 
      defaultZone: http://127.0.0.1:8881/eureka/,http://127.0.0.1:8882/eureka/

8881

#本项目端口
server:
  port: 8881
#定义应用名称为order
spring:
  application:
    name: server1
#服务注册中心实例主机名
eureka:
  instance:
    hostname: host1
  client:
#是否向注册中心注册自己
    register-with-eureka: false
#是否获取注册表
    fetch-registry: false
    service-url: 
      defaultZone: http://127.0.0.1:8880/eureka/,http://127.0.0.1:8882/eureka/

8882

server:
  port: 8882
#定义应用名称为order
spring:
  application:
    name: server2
#服务注册中心实例主机名
eureka:
  instance:
    hostname: host2
  client:
#是否向注册中心注册自己
    register-with-eureka: true
#是否获取注册表
    fetch-registry: false
#服务地址
    service-url: 
      defaultZone: http://127.0.0.1:8880/eureka/,http://127.0.0.1:8881/eureka/

 

Spring cloud之Eureka(二)注册中心高可用

标签:方向   就是   order   style   不同   获取   fetch   配置   宕机   

原文地址:https://www.cnblogs.com/htyj/p/10667661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!