Eureka服务注册与发现

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 本章介绍SpringCloud中Eureka注册中心的搭建与使用,完成eureka-server、user-service、order-service的集成部署,实现服务注册与发现。虽Eureka已被逐步替代,但其功能实现为后续Nacos替换奠定基础。

因前面提到Netflix相关组件已逐步被SpringCloud剔除,Eureka作为其中的注册中心,在此关注功能性即可,本章节不深入阐述其底层原理。后续章节替换为Nacos后,针对Nacos再做细节讨论。
1.Eureka工程搭建启动
● 新建module,名称:eureka-server
● 引入pom依赖,如maven未刷新需手动刷新拉取



org.springframework.cloud
spring-cloud-starter-netflix-eureka-server


● 新建启动类: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
● 工程启动并访问:http://127.0.0.1:10086/

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

打开Idea-Service控制台
稍后章节我们需工程多开部署(为后续Ribbon测试打好基础),需读者提前打开一下控制台窗口

2.user-service接入并启动
2.1 引入pom依赖


org.springframework.cloud
spring-cloud-starter-netflix-eureka-client

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

application:
name: userservice
eureka:
client:
service-url: #eureka服务路径
defaultZone: http://127.0.0.1:10086/eureka/
2.3 启动并查看Eureka信息

2.3 复制模拟多实例部署
右键UserApplication,选择:Copy Configuration

设置应用信息,打开VM参数设置

VM参数设置如下:-Dserver.port=8082

启动应用并查看Eureka信息,此时变成两个活跃实例

3.order-service接入并启动
重复user-service操作,pom文件依赖操作完全一致,但配置文件中应用名称不同,在此单独贴出
application:
name: orderservice
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka/
启动后访问页面如下

至此我们的工程部署运行情况如下:

此时工程目录结构如下

4.常见问题及解决方案

  1. Eureka启动报错但页面访问正常
    确保Eureka信息配置中增加:register-with-eureka: false、fetch-registry: false,以避免因Eureka自身注册自身带来的启动异常
  2. 应用启动正常,访问Eureka发现注册失败
    a. 确保应用引入依赖:spring-cloud-starter-netflix-eureka-server
    b. 确保优先启动Eureka,而后启动user-service、order-service
  3. 如遇其他未知问题,为避免浪费时间可直接使用此工程导入

5.总结
本节读者带领大家完成SpringCloud集成组件Eureka的开发、部署,并完成业务应用在Eureka的注册、访问。基于此细心的读者朋友们可以发现:上一章节还写死的访问地址,已经变成动态从注册中心获取了,避免了接口提供方注册信息变更、导致消费方接口服务调用异常的场景。随着Eureka的剔除,Nacos又将如何优雅替换Eureka呢?待我们后续继续实操逐步发掘吧。

思考问题
● Eureka是什么?解决了什么问题?
● Eureka如何实现服务注册与服务发现?
● 还有哪些技术可以实现服务注册与服务发现?

相关文章
|
20天前
|
人工智能 JavaScript Linux
【Claude Code 全攻略】终端AI编程助手从入门到进阶(2026最新版)
Claude Code是Anthropic推出的终端原生AI编程助手,支持40+语言、200k超长上下文,无需切换IDE即可实现代码生成、调试、项目导航与自动化任务。本文详解其安装配置、四大核心功能及进阶技巧,助你全面提升开发效率,搭配GitHub Copilot使用更佳。
11769 22
|
SQL 关系型数据库 数据库
学习分布式事务Seata看这一篇就够了,建议收藏
学习分布式事务Seata看这一篇就够了,建议收藏
21563 2
|
2月前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队如何通过自动化部署平台实现多环境(dev/test/pre/prod)发布管理,涵盖各环境职责、基于Jenkins+K8S的CI/CD流程、分支可视化操作、容器化部署机制及日志排查方案,提升发布效率与系统稳定性。
|
2月前
|
Java 测试技术 Shell
Jmeter快速入门
JMeter是基于JDK的性能测试工具,需先安装并配置JDK。下载解压后,通过bin目录下的脚本启动,支持中文设置与HTTP请求测试,可添加线程组、取样器及监听器,实现接口与性能测试,操作简便,功能强大。(238字)
|
运维 监控 测试技术
自动化运维实践:CI/CD流程详解
【6月更文挑战第30天】CI/CD实践推动软件开发自动化,通过持续集成确保代码质量,自动部署提升交付速度。核心流程包括:代码管理(Git等)、自动化构建与测试、代码审查、部署。关键点涉及选择工具、测试覆盖率、监控及团队协作。采用CI/CD能减少错误,但需应对挑战,如工具选型、全面测试和团队沟通。
4730 2
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
JavaScript Java 应用服务中间件
Vue 跨域问题 的几种解决办法 (No ‘Access-Control-Allow-Origin‘ header is present on the requested resource)
Vue 跨域问题 的几种解决办法 (No ‘Access-Control-Allow-Origin‘ header is present on the requested resource)
2816 0
Vue 跨域问题 的几种解决办法 (No ‘Access-Control-Allow-Origin‘ header is present on the requested resource)
|
人工智能 自然语言处理 API
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
4048 0
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
|
SQL 关系型数据库 MySQL
Mysql 开启慢日志查询及查看慢日志 sql
Mysql 开启慢日志查询及查看慢日志 sql
422 0
|
SQL 安全 关系型数据库
MySQL的binlog日志的简介与查看
MySQL的binlog日志的简介与查看
1911 4