Eureka 服务注册中心

  1. 注册中心相当于微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到注册中心,当服务需要调用其他服务时,就到这里找到服务的地址,进行调用。服务注册中心的作用就是服务的注册和服务的发现。

  2. 常见注册中心的对比

  3. Eureka 注册中心三种角色

    • Eureka Server
      • 通过 Register、Get、Renew 等接口提供服务的注册和发现
    • Application Service(Service Provider)
      • 服务提供方,把自身的服务实例注册到 Euraka Server 中
    • Application Client(Service Consumer)
      • 服务调用方,通过 Eureka Server 获取服务列表,消费服务
  4. 单例Eureka Server服务注册中心

    • 导入依赖
    <?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">
        <parent>
            <artifactId>xxx</artifactId>
            <groupId>自己的父项目</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>1.0.0</modelVersion>
    
        <artifactId>spring-cloud-eureka-server-8761</artifactId>
    
        <properties>
            <maven.compiler.source>17</maven.compiler.source>
            <maven.compiler.target>17</maven.compiler.target>
        </properties>
    
        <dependencies>
            <!--Eureka server依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            </dependency>
        </dependencies>
    </project>
    
    • 配置文件的编写
    #eureka server端口
    server:
      port: 8761
    
    spring:
      application:
        name: spring-cloud-eureka-server #应用名称,应用名称会在Eureka中作为服务名称
    
    #euraka客户端配置(和Server交互)
    eureka:
      instance:
        hostname: localhost #当前Eureka实例的主机名
      client:
        service-url: #配置客户端所交互的Eureka
          defaultZone: http://${eureka.instance.hostname}}:${server.port}/eureka
        register-with-eureka: false #当前自己就是server,不需要注册自己
        fetch-registry: false #查询获取注册中心的服务信息,自己就是Server,所以不需要获取
    
    • 启动类
    @SpringBootApplication
    // 声明当前项目为Eureka服务
    @EnableEurekaServer
    public class EurekaServerApp8761 {
    
        public static void main(String[] args) {
            SpringApplication.run(EurekaServerApp8761.class, args);
        }
    }
    
    * 服务启动成功后访问http://localhost:8761/就能看各种信息了
    
posted @ 2024-05-22 14:23  Hanyta  阅读(6)  评论(0编辑  收藏  举报