当你翻到这篇博客,可能你已经搭建好了一个Eureka Server的实例,这里记录一下参考网上的资料搭建实例的时候遇到的坑,视频里这点好像少了,使用IDEA启动两个Eureka Server。

如果还没有接触过Eureka Server,网上的资料也很多,搜一下,看一下就好了,在搭建第一个Eureka Server实例之后,可以尝试下面的操作:

  1. 首先是更改application.yml文件,作为一个公共的配置文件,内容为:
spring:  
  application:  
    name: eureka  
  profiles:  
    active: server1
  1. 同样在当前项目的resource文件夹下面新建两个配置文件application-server1.yml和application-server2.yml
    其中application-server1.yml为:
server:  
  port: 10086  
eureka:  
  instance:  
    hostname: server1  
  client:  
    # 表示是否注册自身到eureka服务器  
    # register-with-eureka: false  
    # 是否从eureka上获取注册信息  
    # fetch-registry: false  
    service-url:  
      defaultZone: http://server2:10087/eureka/ 

application-server2.yml为:

server:  
  port: 10087  
eureka:  
  instance:  
    hostname: server2  
  client:  
    #register-with-eureka: false  
    #fetch-registry: false  
    service-url:  
      defaultZone: http://server1:10086/eureka/

也就是让这两个Eureka Server互相注册。

  1. 由于我们使用了http://server1这种写法,需要配一下host。Windows的host在/etc/host,mac的在/private/etc,更改host文件,在最下面添加:
127.0.0.1 server1
127.0.0.1 server2

在配置文件里我试了一下使用http://127.0.0.1也可以正常使用,由于后面在配置新的启动参数时用到了server1,这个应该是必须要配置的。

下面我们来看如何分别用server1和server2两个配置启动两个server服务。
在idea右上角run,选择edit configrations,进去添加一个启动项,参数如同原来的Eureka Server
在这里插入图片描述
在这里插入图片描述

点击+号,给两个启动项都设置一下Program arguments,就是–spring.profiles.active=server1分别设置为server1和server2,代表分别以两个不同的配置来启动项目。

然后就可以在Run DaShaBoard里面看到第二个Eureka server了,名称是上面的server1那里你自己设置的。

然后以次启动两个Eureka Server即可,启动第一个会报错,是因为所要注册的目标不存在导致的,启动第二个正常启动,然后第一个也会自动注册到第二个,这时访问localhost:10086或者localhost:10087就可以看到Instances currently registered with Eureka下面有监听的内容了。

更具体的可以参考这篇博客:http://www.cnblogs.com/hfultrastrong/p/8547236.html

Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐