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

本文详细介绍了如何基于EurekaServer实现服务注册的高可用性。包括引入依赖、配置application.yml文件、创建启动类及最终启动服务的具体步骤。

基于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.youkuaiyun.com/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值