Eureka服务注册与发现

简介: 本文详细介绍Eureka工程的搭建与部署,包括服务注册中心的创建、user-service和order-service接入流程,并实现多实例部署。通过配置说明与常见问题解决方案,帮助开发者快速掌握SpringCloud服务注册与发现机制,为后续微服务架构演进奠定基础。(239字)

1.Eureka工程搭建启动

  • 新建module,名称:eureka-server
  • 引入pom依赖,如maven未刷新需手动刷新拉取

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
</dependencies>
  • 新建启动类: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

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

打开Idea-Service控制台

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

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/

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自身注册自身带来的启动异常

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

📎cloud.zip

5.总结

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

相关文章
|
20天前
|
Ubuntu 安全 应用服务中间件
宝塔面板搭建教程 | 完整的云服务器部署实践:Ubuntu + 宝塔 + WordPress
本文记录了从零搭建云服务器与个人博客的完整实践:涵盖Ubuntu Server选型、安全组配置、SSH连接、Nginx部署,以及通过宝塔面板+Docker快速上线WordPress博客的全过程。内容详实,步骤清晰,兼顾学习深度与落地效率,适合初学者系统掌握Linux运维与Web部署核心技能。(239字)
|
4月前
|
负载均衡 Java 数据安全/隐私保护
Gateway服务网关
网关是微服务架构的统一入口,核心功能包括请求路由、权限控制、限流及负载均衡。通过Spring Cloud Gateway可实现高效路由转发与过滤器处理,支持跨域配置,提升系统安全与性能。
Gateway服务网关
|
4月前
|
消息中间件 Java Nacos
SpringCloud概述
Spring Cloud是微服务的统一解决方案,具备注解驱动、开箱即用、组件丰富等特点,通过版本命名规范整合多子项目。Spring Cloud Alibaba融合Nacos、Sentinel、Seata等阿里开源组件,成为主流技术栈选择。
|
消息中间件 缓存 Java
RocketMQ消息发送常见错误与解决方案
RocketMQ消息发送常见错误与解决方案
RocketMQ消息发送常见错误与解决方案
|
开发者
2024 乘风者计划全新启航!快来加入吧!
 2021年,阿里云开发者社区焕新升级,重磅推出“乘风者计划”!诚邀四海技术博主入驻社区,泼墨云间,书写天地。入驻社区,即可享丰厚权益! 新的一年,乘风者计划重磅升级!
252062 81
|
算法
阿里云图像搜索技术创新-工业五金图片搜索
阿里云图像搜索产品3月17日正式发布工业五金搜索模型,通过大规模算法模型训练,可在海量五金图片素材中快速定位到图片中五金件的同款或相似款商品原图,识别过程中可有效避免图片方位变化、光照变化、背景场景变化等情况对搜索结果的影响。以此帮助工业五金电商商城、仓库等快速找到同款、相似款。通过输入工业五金类图片,可以在海量商品库中找到同款、相似款配件,并返回对应的配件信息,提升五金类产品购物效率,帮忙更多工业五金制造和零售等企业轻松上云。
830 57
阿里云图像搜索技术创新-工业五金图片搜索
|
人工智能 程序员 开发者
《深入浅出DPDK》—第2章2.5节Cache预取
以上章节讲到了多种和Cache相关的技术,但是事实上,Cache对于绝大多数程序员来说都是透明不可见的。程序员在编写程序时不需要关心是否有Cache的存在,有几级Cache,每级Cache的大小是多少;不需要关心Cache采取何种策略将指令和数据从内存中加载到Cache中;也不需要关心Cache何时将处理完毕的数据写回到内存中。
5289 0
|
编解码 算法 C#
计算机动画基础 | 学习笔记
快速学习计算机动画基础,介绍了计算机动画基础系统机制, 以及在实际应用过程中如何使用。
计算机动画基础 | 学习笔记
|
传感器 算法
神奇的卡尔曼滤波,目标追踪的福音
神奇的卡尔曼滤波,目标追踪的福音
神奇的卡尔曼滤波,目标追踪的福音
|
Web App开发 负载均衡 算法
使用级联SFU改善媒体质量和规模
在多用户视频会议媒体服务器的部署中采用级联结构可有效降低端到端的媒体延迟,改善媒体质量。来自Jitsi团队的Boris Grozev深入描述了级联SFU问题,并展示了他们的方法以及他们遇到的一些挑战。LiveVideoStack对文章进行了翻译,感谢WebRTC专家刘连响的技术审校。
1179 0
使用级联SFU改善媒体质量和规模