在Eureka中注册多个服务(根据本地主机端口号区分)

这篇文章主要介绍如何在Eureka注册中心内注册多个EurekaServer服务端

建项目

创建一个Maven项目,在里面创建三个小的Maven空项目,具体结构如下。


EurekaServer3,即外面的大模块,为了清楚的观察项目结构,我将其src文件夹删除了,因为这个没有用。

导Pom依赖

因为里面的Eureka1-3是同一级别的在EurekaServer3模块内部,因此我们不需要挨个模块去导入依赖,只需在最外层模块中的pom文件中导入即可。具体依赖如下:

xml 复制代码
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

创建启动类

启动类,即我在项目里创建的EurekaApplication1-3.因为都是Eureka服务端,故他们三个模块的启动类,除了名字不同,其余的内容均一致。

java 复制代码
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
        System.out.println("注册中心启动!!!");
    }
}

后面两个模块的启动类也和这个类似。

yml文件

Eureka1,即注册中心的application.yml

yml 复制代码
# 服务器端口配置
server:
  port: 6869

# Spring Boot 应用配置
spring:
  application:
    # 应用名称
    name: eureka

# Eureka Server 配置
eureka:
  instance:
    # Eureka 实例的主机名
    hostname: EurekaServer

  client:
    # Eureka 客户端配置
    service-url:
      # Eureka 服务器的地址配置
      defaultZone: http://localhost:${server.port}/eureka/

    # 是否将该实例注册到 Eureka 服务器,默认为 false
    register-with-eureka: false

具体代码即解释已给出,但对于yml文件来说一定要注意格式!!!

Eureka2,即服务端1的application.yml

yml 复制代码
# 服务器端口配置
server:
  port: 6870

# Spring Boot 应用配置
spring:
  application:
    # 应用名称
    name: eureka1

# Eureka Server 配置
eureka:
  instance:
    # Eureka 实例的主机名
    hostname: EurekaServer1

  client:
    # Eureka 客户端配置
    service-url:
      # Eureka 服务器的地址配置
      defaultZone: http://localhost:6869/eureka/

Eureka3,即服务端1的application.yml

yml 复制代码
server:
  port: 6871
spring:
  application:
    name: eureka2
eureka:
  instance:
    hostname: EurekaServer2
  client:
    service-url:
      defaultZone: http://localhost:6869/eureka/

运行

从上到下依次运行即可,注意要等上一个程序运行成功后再运行下一个。

测试

在浏览器上输入http://127.0.0.1:6869/,即可跳转到Eureka注册中心。

在只运行注册中心的时候会显示如下界面

在都运行成功的时候:

相关推荐
桐薇全肯定4 小时前
MySQL学生成绩管理系统实战操作
java·数据库·sql
Nuanyt5 小时前
SSM 学习记录 第二部分 Spring整合Mybatis&Junit AOP核心概念 Spring事务管理 SpringMVC 请求与响应 Rest风格
java·spring·junit·mybatis·restful
醉城夜风~5 小时前
C++模板详解:从基础到高级全面解析
java·开发语言·c++
在水一缸5 小时前
深入浅出:Node.js 下一代 ORM 架构设计与实战解析
数据库·微服务·云原生·node.js·orm·架构设计
IT二叔5 小时前
Kubernetes(K8s)-02-Minikube安装
云原生·容器·kubernetes
程序员天天困5 小时前
Arthas Profiler 火焰图实战:CPU 热点在哪一目了然
java·jvm·后端
我命由我123455 小时前
Android 在构建过程中,发现有两个依赖库都包含了相同路径的资源文件
android·java·开发语言·java-ee·kotlin·android-studio·android runtime
用户3126874877206 小时前
@Autowired 注入的是代理对象?Spring AOP 代理选择原理一次讲透
java·spring
@insist1236 小时前
信息系统管理工程师-任务、标准、EDM 过程与关键域
java·大数据·数据库