eureka本地配置高可用

Eureka Server 高可用环境需要部署两个Eureka server,它们互相向对方注册。如果在本机启动两个Eureka需要注意两个Eureka Server的端口要设置不一样
1、在实际使用时Eureka Server至少部署两台服务器,实现高可用。
2、两台Eureka Server互相注册。
3、微服务需要连接两台Eureka Server注册,当其中一台Eureka死掉也不会影响服务的注册与发现。
4、微服务会定时向Eureka server发送心跳,报告自己的状态。
5、微服务从注册中心获取服务地址以RESTful方式发起远程调用。

这里通过配置环境变量方式实现单项目运行多个eureka server

1. 新建springboot项目在maven中引入eureka server

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

2. 配置application.xml

server:
  port: ${PORT:50101}
spring:
  application:
    name: xc-registry
eureka:
  client:
    service-url:
      defaultZone: ${EUREKA_SERVER:http://eureka02:50102/eureka/}
    register-with-eureka: true
    fetch-registry: true
  server:
    enable-self-preservation: false # 关闭自我保护
    eviction-interval-timer-in-ms: 60000 # 每隔5秒钟,进行一次服务列表的清理
  instance:
    hostname: ${EUREKA_DOMAIN:eureka01}

3. 在启动类添加@EnableEurekaServer配置


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
 * @author john
 * @date 2019/12/27 - 8:59
 */
@SpringBootApplication
@EnableEurekaServer
public class XuechengRegistryApplication {
    public static void main(String[] args) {
        SpringApplication.run(XuechengRegistryApplication.class, args);
    }
}

4. 编辑idea 运行配置

idea中拷贝运行配置,第一份配置中配置如下环境变量

-DPORT=50101 -DEUREKA_SERVER=http://eureka02:50102/eureka/ -DEUREKA_DOMAIN=eureka01

在第二份中配置如下环境变量

-DPORT=50102 -DEUREKA_SERVER=http://eureka01:50101/eureka/ -DEUREKA_DOMAIN=eureka02

如下图所示

5. 修改host文件

Eureka 组成高可用,两个Eureka互相向对方注册,这里需要通过域名或主机名访问,这里我们设置两个Eureka服
务的主机名分别为 eureka01eureka02

修改host文件

127.0.0.1 eureka01
127.0.0.1 eureka02

5. 运行


posted @ 2019-12-27 10:15  if年少有为  阅读(1524)  评论(0编辑  收藏  举报