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路径改为服务名称,也就是这个

相关推荐
小江的记录本1 小时前
【分布式】分布式核心组件——分布式锁:Redis/ZooKeeper/etcd 实现方案(附全方位对比表)、优缺点、Redlock、时钟回拨问题
java·网络·redis·分布式·后端·zookeeper·架构
好家伙VCC1 小时前
**发散创新:用Rust实现基于RAFT共识算法的轻量级分布式日志系统**在分布式系统中,**一致性协议**是保障数据可靠
java·分布式·python·rust·共识算法
晔子yy2 小时前
【JAVA探索之路】从头开始讲透、实现单例模式
java·开发语言·单例模式
chools8 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
李白你好8 小时前
TongWeb EJB 反序列化生成工具(Java-Chain 插件)
java·安全
U盘失踪了9 小时前
Java 的 JAR 是什么?
java·jar
今天又在写代码10 小时前
java-v2
java·开发语言
competes10 小时前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql
2501_9130613411 小时前
网络原理知识
java·网络
希望永不加班11 小时前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式