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

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

在都运行成功的时候:

相关推荐
身如柳絮随风扬29 分钟前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
Java小生不才1 小时前
Spring AI文生音
java·人工智能·spring
凯尔萨厮1 小时前
Springboot2.x+Thymeleaf项目创建
java
fish_xk1 小时前
map和set
java·开发语言
李崧正2 小时前
Java技术分享:Lambda表达式与函数式编程
java·开发语言·python
老了,不知天命2 小时前
鳶尾花項目JAVA
java·开发语言·机器学习
二哈赛车手2 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
winner88812 小时前
从零吃透C++命名空间、std、#include、string、vector
java·开发语言·c++
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第26题:Java的抽象类和接口有哪些区别
java·开发语言·面试
AIMath~2 小时前
雪花算法+ZooKeeper解决方案+RPC是什么
分布式·zookeeper·云原生