当前位置: 首页 > news >正文

Eureka自我保护机制与Eureka服务发现(Discovery)

一:问题

1、当正常不是启动的对外对应的是microserivcecloud-dept8001,启动了之后在到8001的application.yml文件修改 instance-id: microserivcecloud-dept8001 为 microserivcecloud-dept8001xxx,查询页面 然后在修改回来

2、此时机会出现dept8001xxx当机的现象,microserivcecloud-dept8001在更新,这里就需要自我保护机制

Eureka自我保护机制与Eureka服务发现(Discovery)

二:Eureka自我保护机制是什么?

0、某一时刻某一个微服务不能用了(如:dept8001xxx),而Eureka不会自动清除

依然对微服务的信息进行保存

1、在默认的情况系,EurekaServer在一定的时间内没有接受到微服务的实例心跳,EurekaServer将会注销该实例(默认为90秒)

2、但是在网络发生故障的时候,微服务于EurekaServer之间是无法通信的,这种情况就非常危险了,因为微服务本身实例是健康的,此刻本不应该注销这个微服务。那么Eureka自我保护模式就解决了这个问题了

3、当EurekaServer节点在短时间内丢失过客户端时(包含发生的网络故障),那么节点就会进行自我保护

4、一但进入自我保护模式,EurekaServer就会保护服务注册表中的信息,不再删除服务注册表中的数据不会注销任何的微服务

5、当网络故障恢复后,该EurekaServer节点会自动的退出自我保护机制

6、在自我保护模式中,EurekaServer会保护服务注册表中的信息,不在注销任何服务实例,当重新收到心跳数恢复阀值以上时,该EurekaServer节点就会自动的退出自我保护模式,这种社设计宁可保留错误的服务注册信息,也不盲目的注销删除任何可能健康的服务实例

7、自我保护机制就是一种对网络异常的安全保护实施,他会报错所有的微服务(健康或者不健康的微服务都会保存)

,而不会盲目的删除任何微服务,可以让Eureka集群更加的健壮/稳定

8、在EurekaServer端可取消自我保护机制不建议使用

Eureka自我保护机制与Eureka服务发现(Discovery)

三:服务发现(Discovery)是什么

1、对于注册进来的Eureka里面的微服务,可以通过服务发现来获的该服务的信息

2、通俗的说:就是登陆某科技园查询某公司是否入驻到该科技园中

四:修改chserivcecloud-provider-dept-8001工中的DeptController

1、在DeptController中添加一和服务发现的接口

2、import com.ch.springcloud.serivce.DeptSerivce;包中的DiscoveryClient

Eureka自我保护机制与Eureka服务发现(Discovery)

五:添加服务发现

1、在chserivcecloud-provider-dept-8001主启动类(DeptProvider8001_Ch)上加上注解@EnableDiscoveryClient

Eureka自我保护机制与Eureka服务发现(Discovery)

六:测试(自测)

1、启动EurekaServer(7001)

2、在启动EurekaClient(8001)

1、自测

1、8001自己调用自己

Eureka自我保护机制与Eureka服务发现(Discovery)

2、发现

Eureka自我保护机制与Eureka服务发现(Discovery)

七:consumer(消费者)怎么来访问?

1、修改chserivcecloud-consumer-dept-80工中的DeptController_Consumer.java

2、在该类后面加上如下代码

Eureka自我保护机制与Eureka服务发现(Discovery)

3、consumer端测试

Eureka自我保护机制与Eureka服务发现(Discovery)

Eureka自我保护机制与Eureka服务发现(Discovery)

相关文章:

  • __proto__ 和 prototype的关系
  • 这道js题你会吗?
  • java B2B2C源码电子商城系统-Spring Cloud Eureka自我保护机制
  • 基于 React TypeScript Webpack 的微前端应用模板
  • xgboost回归损失函数自定义【一】
  • Java null最佳实践
  • 36氪首发|「优仕美地医疗」获亿元级B轮融资,要打造日间手术机构的连锁服务网络...
  • 阿里云联合8家芯片商推“全平台通信模组”,加速物联网生态建设
  • MySQL设置主从复制
  • 赶紧收藏!新鲜出炉的重庆轨道交通图 首末班时间和线路都在里面
  • 厉害!重庆参加马拉松赛人数7年翻10倍,今年区县马拉松赛事将大增
  • python教程(一)·命令行基本操作
  • TCP三次握手四次挥手
  • C++类中的特殊成员函数
  • ES搜索引擎集群模式搭建【Kibana可视化】
  • 分享的文章《人生如棋》
  • [译] 怎样写一个基础的编译器
  • [译]CSS 居中(Center)方法大合集
  • 「面试题」如何实现一个圣杯布局?
  •  D - 粉碎叛乱F - 其他起义
  • ES6核心特性
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java 多线程编程之:notify 和 wait 用法
  • java中的hashCode
  • LeetCode18.四数之和 JavaScript
  • php ci框架整合银盛支付
  • vue 个人积累(使用工具,组件)
  • 巧用 TypeScript (一)
  • 如何在 Tornado 中实现 Middleware
  • 软件开发学习的5大技巧,你知道吗?
  • 山寨一个 Promise
  • 什么是Javascript函数节流?
  • 1.Ext JS 建立web开发工程
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 正则表达式-基础知识Review
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (1)bark-ml
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (四)库存超卖案例实战——优化redis分布式锁
  • (万字长文)Spring的核心知识尽揽其中
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)ORM
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .net FrameWork简介,数组,枚举
  • .NET Framework杂记
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET连接MongoDB数据库实例教程
  • .NET连接数据库方式
  • /etc/skel 目录作用
  • @EnableAsync和@Async开始异步任务支持
  • @RequestBody详解:用于获取请求体中的Json格式参数