Springcloud笔记(2)-Eureka服务注册

Eureka服务注册

服务注册,发现。

在Spring Cloud框架中,Eureka的核心作用是服务的注册和发现,并实现服务治理。

Eureka包含两个组件:Eureka Server和Eureka Client。

Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样Eureka Server中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。

Eureka Client用于简化与Eureka Server的交互,在应用启动后,将会向Eureka Server发送心跳,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除。

本文参考:springcloud教程 -- 1.快速搭建入门级demo,看这一篇就够了-CSDN博客

eureka工程

主要依赖

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

新建一个服务,需要在主工程上右键选择new->module

j-cloud-server-eureka的启动类需加上注解@EnableEurekaServer, 来声明其是一个基于Eureka的服务注册发现中心

eureka的配置文件,定义了defaultZone: http://jorian:123456@localhost:8761/eureka

启动主程序,访问http://localhost:8761/

可以看到没有注册任务服务。

生产者模块

j-cloud-provider1

依赖

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

该服务的application中有eureka配置

启动类如下,添加注解:@EnableEurekaClient来声明其是一个client(生产者或者消费者,在这里他是生产者)

启动该程序,在euraka可以看到该服务已被注册

消费者模块

创建两个provider

1、两个生产者要用同样的名称,代表同一个应用的两个实例

负载均衡

由于eureka配置了ribbon负载均衡策略,消费者的请求会在客户端被决定好发送到哪台服务提供者进行处理。

新建一个provider2注册到eureka,并启用,重复访问消费者地址N次,http://localhost:8001/hello,会发现返回结果在两个provider切换,实现了负载均衡

源码:2504973175/j-cloud - 码云 - 开源中国 (gitee.com)

相关推荐
椰椰椰耶20 小时前
[SpringCloud][11] Nacos 负载均衡,服务下线、权重配置、同集群优先访问
java·spring cloud·负载均衡
接着奏乐接着舞20 小时前
spring cloud RabbitMQ
spring·spring cloud·rabbitmq
Devin~Y20 小时前
从Spring Boot到AI Agent:大厂Java微服务面试三轮实战问答解析
java·spring boot·redis·spring cloud·微服务·ai·kafka
jasnet_u21 小时前
SpringCloud中服务集成PlumeLog日志系统
spring·spring cloud·plumelog·日志收集
linweidong21 小时前
Java 后端开发面试 50 个高频易混淆知识点详解
java·spring boot·spring·spring cloud·面试·mybatis·spring事务
JAVA社区2 天前
Java高级全套教程(十三)—— 分布式锁超详细实战详解(原理+三种方案企业级落地)
java·开发语言·分布式·spring cloud·面试·java-zookeeper
Devin~Y2 天前
智慧物流+AIGC客服Java大厂面试:Spring Boot、Kafka、Redis、JVM与RAG Agent实战
java·jvm·spring boot·redis·spring cloud·kafka·rag
worilb2 天前
Spring Cloud 学习与实践(4):订单服务开发
spring cloud
椰椰椰耶3 天前
[SpringCloud][12]Nacos配置中心详解,快速上手,Nacos和Eureka的区别
spring·spring cloud·eureka
半旧夜夏3 天前
【保姆级】微服务组件环境搭建(Docker Compose版)
java·linux·spring cloud·微服务·云原生·容器