在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注册中心。

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

在都运行成功的时候:

相关推荐
xfan_me30 分钟前
维修保养记录精准版 API 对接实战指南
java·大数据·python
Keven-zhou32 分钟前
不用先学前端框架,Java后端也能独立交付项目?飞算JavaAI实测
java
海上小飞龙33 分钟前
改一个数,右边全得重算,这题怎么扛住两万次查询
java·c++·python
Leo.yuan34 分钟前
从“看全局“到“评成效“:央国企穿透式监管六步链路,哪些厂商能真正闭环
java·大数据·人工智能
小马哥程序开发1 小时前
[点赞收藏免费领取 · 项目源码]57105基于Spring Boot的充电桩管理系统的设计与实现
java·spring boot·源码·课程设计·毕设·大作业·课设
念何架构之路1 小时前
zap日志SugaredLogger 剖析
云原生·golang
九皇叔叔1 小时前
【09】SpringBoot4 MyBatisPlus 增删改查(CRUD)
java·mybatis·mybatisplus
白杨尚青2 小时前
C++入门篇(十):string(上)——认识string:构造与三大遍历(一条龙讲透operator[]、迭代器、auto、范围for)
java·开发语言·c++·笔记·stl
anew___2 小时前
《从零手写操作系统 (11):文件系统初探——initrd与VFS抽象层》
java·javascript·算法
天天向上2912 小时前
Spring AI 实战:14 个踩坑记录,其中一个让我的测试全绿但产品是坏的
java·开源