Eureka服务器注册

一。Eureka服务器注册

1.pom.xml

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>Project1</artifactId>
    <version>1.0</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
        <springboot.version>2.0.5.RELEASE</springboot.version>
    </properties>
    <dependencies>
        <!--springboot支持-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

        <!--Eureka服务端支持-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${springboot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>


</project>

2.application.yaml

bash 复制代码
spring:
  profiles:
    active: peer0
  application:
    name: eureka-server
eureka:
  instance:
    hostname: localhost
  client:
    #    当前服务不会从eureka中获取到其他服务地址等信息,用于特殊情况,比如当前服务已经知道要调用的服务的信息
    #    fetch-registry: false
    #不向eureka注册自己,即当前服务不会注册在eureka,通常用在特殊情况,比如当前服务只作为消费者
    #    register-with-eureka: false
    service-url:
      #      这里配置两个地址,eureka在启动时会寻找能注册的地址,把自己注册,
      #      在这里就是注册到本服务的7000端口(这时候eureka已经完成加载,等待服务注册,所以可以注册自己了)
      #   书上说的互相注册是指本服务分别启动在7001和7000端口,两个eureka服务之间可以共享服务的上线、下线、续约,但是我实现不了,会造成两个的服务都发生错误,比如下线了没有反应
      defaultZone: http://localhost:7001/eureka,http://localhost:7000/eureka

3.EurekaApplication启动即可

java 复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}

如下,则启动成功:

二。Eureka客户端

1.pom.xml

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>Project1</artifactId>
    <version>1.0</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
        <springboot.version>2.0.5.RELEASE</springboot.version>
    </properties>
    <dependencies>
        <!--springboot支持-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

        <!--Eureka服务端支持-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
    </dependencies>


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${springboot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>


</project>

2.application.yaml

java 复制代码
spring:
  profiles:
    active: peer1

  application:
    name: USER-SERVICE #服务名
# eureka地址,去哪里注册服务,这里有两个地址,会向能访问的注册,如果两个都能访问,则两个都注册
# 如果只有一个能访问,则启动时会报错,不会影响能访问的服务
eureka:
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka,http://localhost:7000/eureka
  #向注册中心中发送本服务信息
  instance:
    ip-address: 127.0.0.1

3.UserApplication

java 复制代码
@SpringBootApplication
public class UserApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }
}

启动后,访问eureka地址 localhost:7000:

相关推荐
步步为营DotNet几秒前
基于.NET Aspire 实现云原生应用的高效监控与可观测性
云原生·.net·wpf
用什么都重名1 小时前
Git分支合并与远程服务器同步实战:保留关键配置文件
运维·服务器·git
C++ 老炮儿的技术栈1 小时前
Ubuntu root账号自动登陆
linux·运维·服务器·c语言·c++·ubuntu·visual studio
2301_780789661 小时前
零信任架构中,身份感知防火墙(IAFW)的部署要点与最佳实践
linux·运维·服务器·人工智能·tcp/ip·架构
2401_868534782 小时前
2025下半年网络规划设计师真题(选择题、案例分析)
运维·服务器·网络
小狮子&2 小时前
ubuntu2604无法共享文件夹问题解决
linux·运维·服务器
思茂信息2 小时前
CST软件基于液态金属开关的方向图可重构天线
服务器·算法·重构·cst·仿真软件·电磁仿真
zhping10112 小时前
Ubuntu 登录密码忘记
运维·服务器·ubuntu
牛奶咖啡132 小时前
KVM虚拟化与企业应用实践——给远端主机创建虚拟机
云原生·qemu·kvm·给远端主机创建虚拟机·创建uefi模式的虚拟机·安装openeulersp2·vnc与虚拟机环境搭建
Benszen2 小时前
Secret详解
linux·运维·服务器