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切换,实现了负载均衡