spring-cloud /pause 平滑升级 踩坑记录
0、客户端添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
1、eureka 客户端 添加配置
endpoints.pause.enabled=true
endpoints.pause.sensitive=false
#用pause了 shutdown 就可以不开启了
management.security.enabled=false
# restart 必须要开启的,pause 必须要依赖 restart
endpoints.restart.enabled=true
2、注意配置
eureka.client.healthcheck.enabled=true
management.contextPath=/management
而当我们设置配置eureka.client.healthcheck.enabled=true的时候,即使调用/pause端点,Eureka上服务的状态也会是UP
注:当应用在Eureka Server上的状态已被标记为DOWN ,但是应用本身其实依然是可以正常对外服务的,并没有被关闭,而在Spring Cloud中,Ribbon做负载均衡时,只会负载到标记为UP的实例上。
3、服务启动时,控制台会打印出所有端口

参考:
https://blog.csdn.net/u010629610/article/details/88045980
4、请求 /pause 接口后,该服务在eureka 上显示 down ,但是 30秒内rubbon 还是会分配请求给这个服务,30秒后该服务不可用,
eureka.client.fetch-registry=true
eureka.client.registry-fetch-interval-seconds=5
这两个配置 第一个默认是开启,第二个意思是每5秒从eureka拉取一次服务列表信息,但是测试时还是30秒才更新,
原因是:
Eureka Server 针对请求响应ResponseCache,采用了一个2级缓存:readWrite cache读写缓存(存在过期时间) 和 readonly cache只读缓存(没有过期时间)
eureka:
server:
use-read-only-response-cache: true # 是否使用只读缓存作为请求响应的缓存,默认启用
response-cache-update-interval-ms: 30000 # 用于一级响应缓存多久更新一次,默认30秒
initial-capacity-of-response-cache: 1000 # 用于定义二级响应缓存的容量大小,默认1000
response-cache-auto-expiration-in-seconds: 180 # 二级响应缓存自动失效时间,默认180秒
- 一级二级缓存获取规则
当开启使用一级缓存时,会从一级缓存获取信息,否则直接从二级缓存取
当第一次获取缓存时(一级缓存为null),会从二级缓存获取并将信息存入一级缓存(只读缓存)中
缓存失效
一级缓存不存在自动失效期和手动清除
二级缓存存在默认180s自动清除以及当注册服务下线,过期,注册,状态变更,都会来清除里面的数据
另外当二级缓存数据被清除以后以后,只能依靠定时任务刷新一级缓存里面的数据,也就是说最快也要等默认的30s才能更新一级缓存
- 一级缓存是默认开启的,如果不能忍受这30秒的响应缓存变更延迟,可以手动禁止使用一级缓存,然后把二级缓存改为你能忍受的时间
参考:https://www.jianshu.com/p/71a8bdbf03f4
spring-cloud /pause 平滑升级 踩坑记录的更多相关文章
- spring boot +dubbo 踩坑记录
今天初次搭建spring boot +duboo的demo.记录一下踩坑记录. 首先搭建3个小demo,一个maven项目,两个spring boot (服务提供者和服务消费者)项目. 两 sprin ...
- SpringBoot + Shiro + shiro.ini 的踩坑记录
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...
- python发布包到pypi的踩坑记录
前言 突然想玩玩python了^_^ 这篇博文记录了我打算发布包到pypi的踩坑经历.python更新太快了,甚至连这种发布上传机制都在不断的更新,这导致网上的一些关于python发布上传到pypi的 ...
- manjaro xfce 18.0 踩坑记录
manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...
- jQuery升级踩坑大全
jQuery升级踩坑大全 背景 jQuery想必各个web工程师都再熟悉不过了,不过现如今很多网站还采用了很古老的jQuery版本.其实如果早期版本使用不当,可能会有DOMXSS漏洞,非常建议升级到j ...
- unionId突然不能获取的踩坑记录
昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
随机推荐
- #学习笔记:CentOS7学习之十三(2):磁盘介绍与管理
1.磁盘分区工具与挂载 1.1 硬盘分区符认识: MBR概述:全称为Master Boot Record,即硬盘的主引导记录. 硬盘的0柱面.0磁头.1扇区称为主引导扇区(也叫主引导记录MBR).它由 ...
- 23.安装php和echarts进行结合展示图表
数据展示 http://echarts.baidu.com/index.html 是一个图像展示 可以到官方实例中选择各种图 通过下载例子 新建echartdome.php <!DOCTYPE ...
- 【转】nosql的分类
1 键值数据库 相关产品:Redis.Riak.SimpleDB.Chordless.Scalaris.Memcached 形式:Key 指向 Value 的键值对,通常用hash table来实现 ...
- java知识随笔整理-Oracle存储过程优缺点
优点: 1.存储过程可以使得程序执行效率更高.安全性更好. 2.建立过程不会很耗系统资源,因为过程只是在调用才执行. 3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量 ...
- 【操作记录】搭建虚拟机下 java 开发环境
第一步,配置虚拟机 virtualBox 官网下载最新版,安装,选择简体中文. CentOS 官网下载 最小版iso. 新建虚拟机并配置,挂载iso光盘,然后启动. 因为是最小版,安装时可能不支持使用 ...
- .Net面试题三
1..Net中类和结构的区别? 2.死锁地必要条件?怎么克服? 3.接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类? 4.构造器COnstructor是否可以被继承?是否可以被 ...
- 《深入实践C++模板编程》之四——特例
1. 所谓模板特例,是针对符合某种条件的模板参数值集合另外声明的模板实现变体. template<typename T> class my_vector; template<> ...
- vs2013nuget版本更新
记录记录. NuGet 程序包还原失败: “Newtonsoft.Json 12.0.1”程序包需要 NuGet 客户端版本“2.12”或更高版本,但当前的 NuGet 版本为“2.7.40911.2 ...
- BZOJ4241历史研究题解--回滚莫队
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=4241 分析 这题就是求区间权值乘以权值出现次数的最大值,一看莫队法块可搞,但仔细想想,莫 ...
- java写webservice接口
有一个需求:要求根据设备mac和终端设备类型来查询设备库存状态. 接口协议是采用webservice协议,信息交互方式为xml格式信息 输入参数存放到XML各个节点下,并转为一个String,作为接口 ...