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:

相关推荐
野犬寒鸦3 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
alice--小文子4 小时前
cursor-mcp工具使用
java·服务器·前端
酉鬼女又兒5 小时前
每天一个Linux命令_printf
linux·运维·服务器
翼龙云_cloud5 小时前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
Trouvaille ~5 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
June`5 小时前
高并发网络框架:Reactor模式深度解析
linux·服务器·c++
WHD3066 小时前
苏州勒索病毒加密 服务器数据解密恢复
运维·服务器
蜡笔小炘6 小时前
LVS -- 持久链接(Persistent Connection)实现会话粘滞
运维·服务器
蜡笔小炘6 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
生活很暖很治愈6 小时前
Linux——孤儿进程&进程调度&大O(1)调度
linux·服务器·ubuntu