《SpringCloud.H心法总纲》 spring
继续上一篇,接下来Springcloud配置Eureka Client。app
勾选两个依赖spa
须要继承父工程.net
<parent> <groupId>com.springcloud</groupId> <artifactId>father</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>
删除与父工程重复的配置,达到简洁明了的效果插件
添加子模块的依赖关系server
<module>eureka-client</module>
对eureka-client的application.properties配置中间件
# eureka-client项目端口号 server.port=8071 # eureka-client项目实例名 spring.application.name=eureka-client # eureka-client须要去注册的地址,也就是eureka-server的地址+/eureka的后缀 eureka.client.serviceUrl.defaultZone=http://localhost:8070/eureka/
运行成功以后,刷新一遍eureka-server界面,查看一下是否有注册实例blog
而后看到下面的信息咱们已经注册成功,不过1显示有两行报错信息,意思为Eureka-server开启自我保护机制,缘由是继承
心跳机制ci
名字 | 含义 | 条件 |
Lease expiration enabled | 是否开启保护机制,false表示开启 | 当Renew threshold < Renews(last min)为false |
Renew threshold | server指望在每分钟中收到的心跳次数 | 1 + 2 * eureka-clinet的个数 |
Renews(last min) | 上一分钟eureka-client发送的请求为2次 | 一个eureka-client默认每隔30秒发送一次心跳,因此一分钟为2 |
因此目前咱们两个办法解决,请看下一步
因为上一步咱们已经说明了,第一个办法是让eureka-server注册中心本身关闭这个机制,因此在eureka-server的配置文件中添加以下:
# eureka-server 关闭自我保护心跳机制 eureka.server.enable-self-preservation=false
关闭后出现提出语,以下,表示在配置上,自我保护机制关闭
修改eureka-client主动发送心跳的频率,把默认值每隔30秒发送一次心跳改为15秒或者10秒
# eureka-client 默认30秒主动向注册中心发送一次心态 eureka.instance.lease-renewal-interval-in-seconds=10
修改等待一分钟后,刷新Eureka-server界面,以下:
这样,甚至连红色的一行都没有了,因此我以为这个是更好的解决方案,到此咱们的服务注册和发现也完成了,eureka-client完成配置,又掌握了一个小组建
在配置eureka-client的时候,在它的启动类上,刚刚使用了
@EnableEurekaClient
其实也可使用,都能起到相同的做用
@EnableDiscoveryClient
二者的区别就是SpringCloud的服务注册与发现,至少有三个插件可使用,分别是Eureka、Zookeeper、Consul三个中间件,并且Eureka和Consul是竞争关系,可是SpringCloud默认使用的是Neflix Eureka,因此自动使用的注册中心中间件是Eureka,因此@EnableEurekaClient使用的就是Eureka中间件,若是使用@EnableDiscoveryClient,会有选择性的选择中间件,若是公司要求大家选择其余的中间件的话。