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

原创
2019/12/09 11:35
阅读数 552

      《SpringCloud.H心法总纲》  

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

1、创建Eureka-client模块

      勾选两个依赖

2、eureka-client的pom修改

需要继承父工程

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

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

3、Daddy的pom修改

添加子模块的依赖关系

<module>eureka-client</module>

4、配置文件

对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/

5、启动运行

运行成功之后,刷新一遍eureka-server界面,查看一下是否有注册实例

然后看到下面的信息我们已经注册成功,不过1显示有两行报错信息,意思为Eureka-server开启自我保护机制,原因是

心跳机制

名字 含义 条件
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

所以目前我们两个办法解决,请看下一步

6、Eureka-server解决心跳机制

由于上一步我们已经说明了,第一个办法是让eureka-server注册中心自己关闭这个机制,所以在eureka-server的配置文件中添加如下:

# eureka-server 关闭自我保护心跳机制
eureka.server.enable-self-preservation=false

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

7、Eureka-client解决心跳机制

修改eureka-client主动发送心跳的频率,把默认值每隔30秒发送一次心跳改成15秒或者10秒

# eureka-client 默认30秒主动向注册中心发送一次心态
eureka.instance.lease-renewal-interval-in-seconds=10

修改等待一分钟后,刷新Eureka-server界面,如下:

这样,甚至连红色的一行都没有了,所以我觉得这个是更好的解决方案,到此我们的服务注册和发现也完成了,eureka-client完成配置,又掌握了一个小组建

8、搭建成功之后的总结

在配置eureka-client的时候,在它的启动类上,刚刚使用了

@EnableEurekaClient

其实也可以使用,都能起到相同的作用

@EnableDiscoveryClient

两者的区别就是SpringCloud的服务注册与发现,至少有三个插件可以使用,分别是Eureka、Zookeeper、Consul三个中间件,而且Eureka和Consul是竞争关系,但是SpringCloud默认使用的是Neflix Eureka,所以自动使用的注册中心中间件是Eureka,所以@EnableEurekaClient使用的就是Eureka中间件,如果使用@EnableDiscoveryClient,会有选择性的选择中间件,如果公司要求你们选择其他的中间件的话。

 

 

展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部