搭建Eureka-Server集群


1. 简介

Eureka作为微服务注册中心, Eureka-Server可以搭建多台服务注册中心实例, 并相互进行注册, 形成高可用的集群.

2. 创建Eureka注册中心微服务

创建微服务应用microservicecloud-eureka

2.1 导入依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
</dependencies>
<!--springcloud官方仓库-->
<repositories>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>
<!--锁定springcloud+springboot版本-->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Finchley.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.0.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>            

2.2 编写配置

server:
  port: 7001
spring:
  application:
    name: eureka-server

# 集群版
eureka:
  instance:
    hostname: www.eureka01.com # eureka服务端的实例名称, 修改host文件映射的主机名(域名)
    instance-id: eureka01
    prefer-ip-address: true
  server:
    enable-self-preservation: true
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      # 映射上面的主机名
      defaultZone: http://www.eureka01.com:7001/eureka,http://www.eureka02.com:7002/eureka,http://www.eureka03.com:7003/eureka

2.3 host文件添加域名映射

C:\Windows\System32\drivers\etc\hosts文件添加自定义域名, 映射到本地地址127.0.0.1

127.0.0.1 www.eureka01.com
127.0.0.1 www.eureka02.com
127.0.0.1 www.eureka03.com

2.4 编写启动类并复制多个实例

首先, 编写eureka-server的启动类, 开启Eureka服务端配置(@EnableEurekaServer注解).

@SpringBootApplication
@EnableEurekaServer // 开启Eureka服务端
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class);
    }
}

然后,启动eureka01实例, 并复制eureka02, eureka03实例后启动各个微服务实例, eureka-server各个实例相互注册, 形成高可用的集群.
复制eureka02实例, VM参数:
-Dserver.port=7002 -Deureka.instance.hostname=www.eureka02.com -Deureka.instance.instance-id=eureka02
在这里插入图片描述
复制eureka03实例, VM参数:
-Dserver.port=7003 -Deureka.instance.hostname=www.eureka03.com -Deureka.instance.instance-id=eureka03在这里插入图片描述
最后, 访问各位服务实例, 查看eureka-server控制台的服务注册列表:
http://www.eureka01.com:7001/在这里插入图片描述
http://www.eureka02.com:7002/
在这里插入图片描述http://www.eureka03.com:7003/
在这里插入图片描述


文章作者: 王子
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 王子 !
评论
  目录