SpringCloud--Eureka注册中心服务搭建注册以及服务发现

注意springboot以及springcloud版本,可能有莫名其妙的错误,这里使用的是springboot-2.6.13,springcloud-2021.0.5

一,Eureka-Server搭建:

1.创建项目:引入依赖

java 复制代码
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2.启动类添加 @EnableEurekaServer 注解

  1. yml 编写配置信息
bash 复制代码
server:
  port: 6000  #服务端口
spring:
  application:
    name: eurekaserver  #eureka服务名称
eureka:
  client:
    service-url:   #eureka地址信息
      defaultZone: http://localhost:10086/eureka/
    registerWithEureka: false  #不向Eureka注册服务。此服务为注册中心,不需要自注册,设置为 false
    fetchRegistry: false   #不检索服务

4.访问配置的地址,就可以看到服务端页面,此时还没有服务实例注册进来

二. Eureka-client 搭建,服务注册

1.选择项目某模块或项目,把服务实例注册进Eureka-server

首先导入依赖

bash 复制代码
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

2.编写yml配置文件,配置地址信息,主要是红色方框中的两部分

  1. 配置完毕后启动项目,然后Eureka-server的管理界面就多除了 demoservice这个服务

4.其他需要注册的模块或项目服务都按此步骤两步操作就可以了。

三. 同一服务启动多个实例

1.IDEA中选择服务,右击

选择copy configuration,相当于同一服务同一代码拷贝一份,启动两次,但有端口冲突,需要修改端口配置

然后修改实例名称,配置端口,最后apply

就会发现idea下多出了这个服务,然后直接启动

在返回eureka-server服务端界面,就会发现demoservice服务有了两个实例

四. 服务发现

在RestTemplate的bean声明上加上@LoadBalanced 注解,表示负载均衡

RestTemplate的调用方式改变,访问的url路径改为服务名称,也就是这个

相关推荐
华仔啊3 小时前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing3 小时前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠19 小时前
各版本JDK对比:JDK 25 特性详解
java
用户83071968408220 小时前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide20 小时前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家21 小时前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺21 小时前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户9083246027321 小时前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端
桦说编程1 天前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化
程序员清风1 天前
用了三年AI,我总结出高效使用AI的3个习惯!
java·后端·面试