springcloud-eureka集群搭建

解决高可用问题

思路:大搭建多个eureka服务端,相互注册,相互监督.

搭建集群不同的是配置文件如下:
eureka7001

server:
  port: 7001

eureka:
  instance:
    hostname: eureka7001.com #eureka服务端的实例名称
  client:
    # false表示不向注册中心注册自己
    register-with-eureka: false
    # false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要检索服务
    fetch-registry: false
    service-url:
      # 设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址
      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      # 相互注册
      defaultZone: http://eureka7002.com:7002/eureka/
      #defaultZone: http://eureka7001.com:7001/eureka/
  server:
    #关闭自我保护模式,保证不可用服务被及时删除
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 2000

eureka7002

server:
  port: 7002

eureka:
  instance:
    hostname: eureka7002.com #eureka服务端的实例名称
  client:
    # false表示不向注册中心注册自己
    register-with-eureka: false
    # false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要检索服务
    fetch-registry: false
    service-url:
      # 设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址
      #defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      # 相互注册
      #defaultZone: http://eureka7002.com:7002/eureka/
      defaultZone: http://eureka7001.com:7001/eureka/
  server:
    #关闭自我保护模式,保证不可用服务被及时删除
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 2000

服务注册

eureka:
  client:
    #表示是否将自己注册进EurekaServer默认为true
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册消息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetch-registry: true
    service-url:
      #集群版
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
      #单机版
      #defaultZone: http://localhost:7001/eureka/

同理也许到搭建多个相同的服务构成服务集群,然后注册到eureka中,
但是由于,多个相同的服务名
在这里插入图片描述
消费者eureka无法分清需要将请求分发到哪一个服务中,因此需要给

  1. RestTemplate配置类添加一个负载均衡注解
    在这里插入图片描述
  2. 修改消费者controller层中的请求主机名和端口号.
    在这里插入图片描述
    这里的主机名与端口号要和eureka中注册的服务名相同
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44172800/article/details/107002032