立足于SpringCloud.H + eureka-client(2)

      《SpringCloud.H心法总纲》  spring

      继续上一篇,接下来Springcloud配置Eureka Client。app

一、建立Eureka-client模块

      勾选两个依赖spa

二、eureka-client的pom修改

须要继承父工程.net

<parent>
    <groupId>com.springcloud</groupId>
    <artifactId>father</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

删除与父工程重复的配置,达到简洁明了的效果插件

三、Daddy的pom修改

添加子模块的依赖关系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 关闭自我保护心跳机制
eureka.server.enable-self-preservation=false

关闭后出现提出语,以下,表示在配置上,自我保护机制关闭

七、Eureka-client解决心跳机制

修改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,会有选择性的选择中间件,若是公司要求大家选择其余的中间件的话。

相关文章
相关标签/搜索