博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud(二)—— Eureka注册与发现
阅读量:4967 次
发布时间:2019-06-12

本文共 1021 字,大约阅读时间需要 3 分钟。

失效剔除

场景:有些时候,我们的服务实例并不一定会正常下线,可能由于内存溢出、网络故障等原因使服务不能正常运作。而服务注册中心并未收到“服务下线”的请求

解决:为了从服务列表中将这些无法提供服务的实例剔除,Eureka Server在启动的时候会创建一个定时任务,默认每隔一段时间(默认为60秒)将当前清单中超时(默认为90秒)没有续约的服务剔除出去。

自我保护

服务注册到Eureka Server后,会维护一个心跳连接,告诉Eureka Server自己还活着。Eureka Server在运行期间会统计心跳失败的比例在15分钟以之内是否低于85%,如果出现低于的情况,Eureka Server会将当前实例注册信息保护起来,让这些实例不会过期。这样做会使客户端很容易拿到实际已经不存在的服务实例,会出现调用失败的情况。因此客户端要有容错机制,比如请求重试、断路器。

以下是自我保护相关的属性:

eureka.server.enableSelfPreservation=true. 可以设置改参数值为false,以确保注册中心将不可用的实例删除

微服务启动报Cannot execute request on any known server 的几种解决办法

连接Eureka服务端的URL不对:

  如果访问地址是:http://127.0.0.1:8080/eureka/

  则在Eureka服务发现应该配置为:

    server.port: 8080

    eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

注意:Eureka服务端相当于一个特殊的Eureka客户端,也可以进行注册发现【实现Eureka的高可用】。

@EnableDiscoveryClient和@EnableEurekaClient的区别

@EnableDiscoveryClient和@EnableEurekaClient的区别主要是使用的场景不同。

后者只能在注册中心是Eureka的时候使用,前者的范围更加广泛既可以在注册中心是Eureka的时候使用也能在注册中心是其他的框架组件的使用使用。

转载于:https://www.cnblogs.com/myfaith-feng/p/11535652.html

你可能感兴趣的文章
$.each遍历json对象
查看>>
轻松搞定面试中的链表题目
查看>>
angular.module()创建、获取、注册angular中的模块
查看>>
[转载] nginx的负载均衡
查看>>
第四周课下作业(考试补齐)
查看>>
本月,下一月, 上一月 的 1号, 最后一号
查看>>
C_文件包含.h文件和包含.c文件总结
查看>>
mockIto
查看>>
DIB位图(Bitmap)的读取和保存
查看>>
IOS-UITableViewStyle设置Group、Plain问题
查看>>
新建Application 报错android.app.Application cannot be cast
查看>>
jvm类加载器
查看>>
<s:submit> 指定的method方法不执行
查看>>
Java:取得当前日期一周之前/之后的日期,或者是一月之前/之后的日期
查看>>
聊一聊PV和并发、以及计算web服务器的数量的方法【转】
查看>>
thrift概述
查看>>
位图排序
查看>>
MineSweeper
查看>>
PAT乙级1031
查看>>
【T_SQL】 基础
查看>>