Spring cloud之Eureka组件集成学习

Spring cloud之Eureka组件集成学习
注意:此文章中的测试版本为springboot-2.2.2.RELEASE,springcloud-Hoxton.SR1版



Eureka是netflix的一个子模块,也是核心模块之一,Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构来说是非常重要的,有了服务发现和注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务,而不需要修改服务调用的配置文件了,功能类似于dubbo的注册中心,比如zookeeper。(度娘上的)


简单来说:eureka就是把所有服务放在一起,进行标记,在集群环境的时候访问其他服务,调用方不再关心具体地址,只需要使用对应服务的标记即可,而eureka微服务本身就是注册中心服务端,其他微服务就是注册中心客户端 。

一、eureka服务端

1.pom引入

在eureka微服务中引入,作为注册中心服务端
在这里插入图片描述

2.修改配置文件

由于此次版本使用的springboot-2.2.2.RELEASE,所以使用YML文件进行配置
在这里插入图片描述
(此处配置的hostname是设置好的域名,若没有域名,直接配置ip即可)
register-with-eureka: 默认值为ture,表示需要向注册中心,注册自己,此时自己为注册中心,则不需要向自己注册自己,故改为false。

fetch-registry:默认值为ture,表示可以检索注册中心已经注册的其他服务,一般注册中心服务端仅作为注册中心使用,不需要处理其他事项,故改为false。

service-url:defaultZone表示注册中心的默认地址,此时是单机状态,配置为自己的地址。集群环境下配置除自身以外的其他注册中心地址使用“,”隔开即可。

3.启动类

在这里插入图片描述
在启动类上添加@EnableEurekaServer注解,标记此微服务是注册中心服务端。

二、eureka客户端

1.pom引入

在其他微服务中引入,作为注册中心客户端
在这里插入图片描述

2.修改配置文件

在这里插入图片描述
spring.applicatuon.name: 表示服务名。也是其他微服务注册在注册中心时的独有“标记”。

eureka.client.service-url.defaultZone:表示需要注册到的注册中心地址。集群环境使用“,”隔开即可。

register-with-eureka: 默认值为ture,表示需要向注册中心。

fetch-registry:默认值为ture,表示可以检索注册中心已经注册的其他服务。

特别说明:

instance.instance-id:表示注册在注册中心的实例名。(可选配置)

prefer-ip-address:表示开启注册中心查看此微服务的地址。(可选配置)

3.启动类

方法一:在启动类上添加@EnableEurekaClient注解
(此注解不推荐使用!!!因为eureka组件已经停止更新,而此注解仅能作为eureka客户端来使用)
在这里插入图片描述
方法二:在启动类上添加@EnableDiscoveryClient注解
(此注解用作服务发现,可以兼容除eureka作为注册中心以外,其他注册中心,如zookeeper等)
在这里插入图片描述

三、测试

先启动注册中心后启动其他微服务。

单节点
在这里插入图片描述
集群:
eurekaserver7001服务上守望的是eurekaserver7002服务,paymen8001和payment8002成功注册到eurekaserver7001。
在这里插入图片描述
eurekaserver7002服务上守望的是eurekaserver7001服务,paymen8001和payment8002成功注册到eurekaserver7002。

在这里插入图片描述
测试完成,服务成功注册。

四、eureka自我保护机制

自我保护模式正是一种针对网络异常波动的安全保护措施,使用自我保护模式能使Eureka集群更加的健壮、稳定的运行。(官方解释)
默认情况下,如果Eureka Server在一定时间内(默认90秒)没有接收到某个微服务实例的心跳,Eureka Server将会移除该实例。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,而微服务本身是正常运行的,此时不应该移除这个微服务,所以引入了自我保护机制。

也就是说,一旦客户端与注册中心之间没有了心跳,注册中心并不会移除这个实例,注册中心“自以为是”的认为该实例可能出现意外情况(网路故障等因素)并不是服务本身死了,所以就不会移除此服务实例在注册中心的中的注册信息。

注册中心关闭自我保护配置:eureka.server.enable-self-preservation配置为false。

五、结语

此篇文章主要用于学习记录和分享心得,第一次编写,欢迎大家指正纠错,谢谢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值