Eureka服务注册与发现

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测链路 OpenTelemetry 版,每月50GB免费额度
简介: 本节读者带领大家完成SpringCloud集成组件Eureka的开发、部署,并完成业务应用在Eureka的注册、访问。基于此细心的读者朋友们可以发现:上一章节还写死的访问地址,已经变成动态从注册中心获取了,避免了接口提供方注册信息变更、导致消费方接口服务调用异常的场景。随着Eureka的剔除,Nacos又将如何优雅替换Eureka呢?待我们后续继续实操逐步发掘吧。

因前面提到Netflix相关组件已逐步被SpringCloud剔除,Eureka作为其中的注册中心,在此关注功能性即可,本章节不深入阐述其底层原理。后续章节替换为Nacos后,针对Nacos再做细节讨论。

1.Eureka工程搭建启动

  • 新建module,名称:eureka-server
  • 引入pom依赖,如maven未刷新需手动刷新拉取
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

image.png

  • 新建启动类:EurekaApplication
package cn.itcast.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
* Eureka启动类
*
* @author 
* @date 2022-12-22 16:20
*/
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
        System.out.println("Eureka服务启动成功");
    }
}
  • 新建配置文件:application.yml
server:
  port: 10086 # 服务端口
spring:
  application:
    name: eurekaserver # eureka的服务名称
eureka:
  client:
    serviceUrl:  # eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka
    register-with-eureka: false
    fetch-registry: false


image.png

至此,eureka已完成创建、部署、访问。至此工程目录结构如下

2.user-service接入并启动

2.1 引入pom依赖

<!--eureka-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.2 更新配置文件

以下配置文件注意缩进,其中application为spring下二级路径,主要为了区分多个注册在eureka上的服务

  application:
    name: userservice
eureka:
  client:
    service-url: #eureka服务路径
      defaultZone: http://127.0.0.1:10086/eureka/

image.png

2.3 启动并查看Eureka信息

image.png


这样 我们就完成了user服务的添加,order也是一样的道理,把yml中的服务名name:替换成orderservice就行了

4.常见问题及解决方案

  1. Eureka启动报错但页面访问正常

确保Eureka信息配置中增加:register-with-eureka: false、fetch-registry: false,以避免因Eureka自身注册自身带来的启动异常

  1. 应用启动正常,访问Eureka发现注册失败
  1. 确保应用引入依赖:spring-cloud-starter-netflix-eureka-server
  2. 确保优先启动Eureka,而后启动user-service、order-service
  1. 如遇其他未知问题,为避免浪费时间可直接使用此工程导入

📎cloud.zip


相关文章
|
4月前
|
微服务
springCloud之服务注册与发现Eureka
springCloud之服务注册与发现Eureka
|
5月前
|
负载均衡 算法 微服务
Eureka服务注册与发现
Eureka服务注册与发现
|
5月前
|
存储 监控 安全
服务注册中心Eureka
服务注册中心Eureka
46 1
|
5月前
|
负载均衡 监控 容灾
【SpringCloud】详解Eureka注册中心
【SpringCloud】详解Eureka注册中心
101 0
|
缓存 Java Shell
SpringCloud Eureka注册中心
SpringCloud Eureka注册中心
75 1
|
12月前
|
存储 Java 网络架构
SpringCloud之Eureka注册中心解读
SpringCloud之Eureka注册中心解读
|
负载均衡 监控 Dubbo
SpringCloud之Eureka服务注册
SpringCloud之Eureka服务注册
SpringCloud之Eureka服务注册
|
存储 负载均衡 监控
(五)、Eureka服务注册中心
(五)、Eureka服务注册中心
(五)、Eureka服务注册中心
|
Java
SpringCloud - 服务注册与发现(Eureka)(一)
SpringCloud - 服务注册与发现(Eureka)(一)
127 0
SpringCloud - 服务注册与发现(Eureka)(一)
SpringCloud - 服务注册与发现(Eureka)(二)
SpringCloud - 服务注册与发现(Eureka)(二)
125 0
SpringCloud - 服务注册与发现(Eureka)(二)