请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

rancher eureka server 高可用问题,搞了一下午了

我想在 Rancher 上做 3 个 Eureka server 服务

3 个服务在同一台 rancher agent 主机上

在 Eureka Server 中复制了 3 个配置文件:

application-docker1.yml
application-docker2.yml
application-docker3.yml
文件的内容在最下方,这 3 个文件中都是 server.port=8761

我的操作是这样的:

Rancher 中服务1:eureka-server1

8761:8761
spring.profiles.active=docker1

Rancher 中服务2:eureka-server2

8762:8761
spring.profiles.active=docker2

Rancher 中服务3:eureka-server3

8763:8761
spring.profiles.active=docker3

碰到的问题是:

启动 3 个服务时,它们打印的日志中一直显示不能连接其他两个地址。 配置文件中配置了一个服务注册到另外两个中:

eureka-server1:

eureka.client.service-url=
http://root:root@eureka-server2:8761/eureka/,http://root:root@eureka-server3:8761/eureka/

eureka-server2:

eureka.client.service-url=
http://root:root@eureka-server1:8761/eureka/,http://root:root@eureka-server3:8761/eureka/

eureka-server3:

eureka.client.service-url=
http://root:root@eureka-server2:8761/eureka/,http://root:root@eureka-server2:8761/eureka/

application-docker1.yml

spring:
  application:
    name: demo-spring-cloud-eureka
  security:
    user:
      name: root
      password: root

eureka:
  client:
    service-url:
      defaultZone: http://root:root@eureka-server2:8761/eureka/,http://root:root@eureka-server3:8761/eureka/
    register-with-eureka: false
#  server:
#    enable-self-preservation: false

server:
  port: 8761

application-docker2.yml

spring:
  application:
    name: demo-spring-cloud-eureka
  security:
    user:
      name: root
      password: root

eureka:
  client:
    service-url:
      defaultZone: http://root:root@eureka-server1:8761/eureka/,http://root:root@eureka-server3:8761/eureka/
    register-with-eureka: false
#  server:
#    enable-self-preservation: false

server:
  port: 8761

application-docker3.yml

spring:
  application:
    name: demo-spring-cloud-eureka
  security:
    user:
      name: root
      password: root

eureka:
  client:
    service-url:
      defaultZone: http://root:root@eureka-server1:8761/eureka/,http://root:root@eureka-server2:8761/eureka/
    register-with-eureka: false
#  server:
#    enable-self-preservation: false

server:
  port: 8761

正在回答 回答被采纳积分+3

1回答

廖师兄 2019-05-01 19:16:17

端口写错了,应该是
eureka-server2:8762/eureka/
eureka-server3:8763/eureka/,

0 回复 有任何疑惑可以回复我~
  • 提问者 dabo #1
    要写映射出来的端口吗?确实没试。
    但是不好理解啊,我理解的 eureka-server 是 docker 容器启动时设置的 hostname,通过 hostname 当然访问容器内部的 端口啊
    回复 有任何疑惑可以回复我~ 2019-05-01 19:34:26
  • 提问者 dabo #2
    师兄,试过了,不行。
    单独新建了单台 eureka server 在 rancher 上,还是提示 RedirectingEurekaHttpClient  : Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://root:root@eureka-server:8761/eureka/}
    回复 有任何疑惑可以回复我~ 2019-05-01 23:51:39
  • 提问者 dabo #3
    问题出在我添加一个依赖,因为想在 eureka 客户端注册时添加身份验证:
        <!-- spring boot security -->
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
    回复 有任何疑惑可以回复我~ 2019-05-02 11:11:24
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信