基于Eureka Server实现服务注册高可用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/myNameIssls/article/details/81157345

基于Eureka Server实现服务注册高可用

概述

基于Eureka Server实现服务注册这篇文章中讲解了Eureka Server单机环境的搭建。
这篇文章将讲述如何实现Eureka Server高可用

实现步骤分析

引入Eureka Server依赖

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

创建application.yml文件

spring:
  application:
    name: eureka-server-peer
eureka:
  client:
    register-with-eureka: false # 表示不向注册中心注册
    fetch-registry: false # 由于注册中心的职责就是维护服务实例,所以它不需要去检索服务

---
spring:
  profiles: peer1
server:
  port: 8761
eureka:
  instance:
    hostname: peer1
  client:
    service-url:
      defaultZone: http://peer2:8762/eureka/

---
spring:
  profiles: peer2
server:
  port: 8762
eureka:
  instance:
    hostname: peer2
  client:
    service-url:
      defaultZone: http://peer1:8761/eureka/

注意:这个配置分为三部分,每一部分通过---来分割。
第一部分配置了Eureka Server高可用配置的公共部分,例如:应用名称、禁止把自身当做服务来注册
第二部分是peer1节点的配置,第三部分是peer2节点的配置。
由于当前是在一台主机上模拟Eureka Server高可用,所以peer1peer2两个主机需要提前在hosts文件中注册一下。
注册方式:使用vim编辑本机hosts文件($ sudo vim /etc/hosts),并在其中添加127.0.0.1 peer1 peer2主机映射

register-with-eureka: falsefetch-registry: false这两个属性是需要配置一下的,如果不配置将会出现问题(问题详情:https://blog.csdn.net/mynameissls/article/details/81157033)。

创建Eureka Server启动类

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

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

启动Eureka Server

启动peer1节点:java -jar springcloud-eureka-server-peer-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
启动peer2节点:java -jar springcloud-eureka-server-peer-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

启动成功后,可以在浏览器中分别访问http://peer1:8761/http://peer2:8762/来查看Eureka Server高可用服务注册
如下图:
http://peer1:8761/
这里写图片描述

http://peer2:8762/
这里写图片描述

源代码链接:
https://github.com/myNameIssls/springcloud-study/tree/master/springcloud-eureka-server-peer

参考链接:
http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html#spring-cloud-eureka-server-peer-awareness

猜你喜欢

转载自blog.csdn.net/myNameIssls/article/details/81157345