SpringCloud-组件
eureka作为Springcloud项目的服务注册与发现组件。 采用CS的设计模式,Eureka Server作为服务注册功能的服务器,是注册中心,系统中的其他微服务,作为Eureka的客户端(Eureka Client)连接到 Eureka Server 并维持心跳连接。 维护人员可以通过注册中心,查看系统中的各个微服务是否正常运行。
Eureka包含了两个组件:
Eureka Server:提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Client:一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。
在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
1、创建Eureka注册中心模块
2、引入eureka server坐标依赖
3、编写application.yml配置文件
4、主启动类添加@EnableEurekaServer注解
5、启动项目,访问项目路径,能出现eureka页面,表示项目没问题。
1、引入eureka client坐标依赖
2、application.yml文件中添加eureka配置
3、主启动类添加@EnableEurekaClient注解
先启动EurekaServer模块,再启动注册的模块,查看eureka页面中是否能检索到该微服务。
集群版为多个Eureka服务相互注册,避免由单一注册中心引发的单点故障。
1、搭建另一个端口为7002的Eureka单体版服务
2、修改hosts文件,实现端口映射
地址:C:\Windows\System32\drivers\etc
添加内容:
3、修改配置,改为集群配置。
hostname改为唯一名称
交互地址,改为其他eureka服务地址,多个用逗号分隔。
将该eureka服务注册到其他eureka注册中心中去。
4、其余客户端微服务,注册到eureka集群,通过修改配置文件。
1、自定义微服务项目显示名称
2、微服务项目连接显示ip地址
对于注册进Eureka里面的微服务,可以通过服务发现来获得该服务的信息
通过依赖注入的方式获取DiscoveryClient对象
获取所有注册到eureka中的微服务名称
根据微服务名称获取该服务下的项目或者集群的具体信息
在主启动类上添加服务发现客户端注解:@EnableDiscoveryClient