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

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

在都运行成功的时候:

相关推荐
Wang's Blog6 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain7 小时前
C++转Java日记(03)
java·开发语言·c++
皮皮林5517 小时前
Java实现微信扫码登录
java
Yyyyyy~10 小时前
【Java】Day4Web基础知识
java·spring boot
灿飞屋11 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
NE_STOP12 小时前
Spring AI Alibaba - MCP入门
java
nice_lcj52012 小时前
【从零理解 Spring AI · 07】对话记忆:让模型记住上一句说了什么
java·spring ai·ai应用开发·chatmemory·对话记忆
SL_staff13 小时前
制造业交付崩盘?用跨部门节点协同计划打通销售、生产与质量链路
java·开源·产品
文丑颜不良啊14 小时前
LeetCode2261~2280题目解析
java·leetcode
SL_staff14 小时前
告别规则黑盒:JVS-Rules 在金融风控中的可视化决策编排实践
java·产品·全栈