SpringBoot项目--如何不停服更新应用?
原文网址:SpringBoot项目--如何不停服更新应用?_IT利刃出鞘的博客-CSDN博客
简介
说明
本文介绍Java后端项目如何不停机更新服务。
在生产环境中,一般都会每个服务部署多个实例。只要多于1个实例,就可以不停服更新应用。
不停服更新应用的作用
- 有需要紧急修复的bug时,不会影响用户使用。
- 可以做到随时上线,不需要等到晚上没有用户在用时才更新服务(可以减少无意义的加班😉)。
需求
本文假设解决此问题:微服务user有两个实例:user1和user2,需要在保证user服务不中断的情况下更新user服务。
方案1:使用Nacos的权重功能
说明
Nacos可以配置实例的权重,如果权重改为0,则不会调到这个实例。
不停服更新应用的流程
- 将user1的权重设置为0
- 更新user1
- user1启动完毕后,恢复user1的权重为1,将user2的权重设置为0
- 更新user2
- 恢复user2的权重为1
注意
修改完之后,所有网关的请求都会转发到权重不为0的实例上边,但feign请求还是会到达权重为0的实例上边。
解决方法:需要修改feign的负载均衡器(ribbon或者loadbalancer),将其改为从Nacos获得实例,根据权重选择实例。
方案2:使用强制路由中间件
说明
此中间件支持强制将请求转发到指定的实例。见:router4j · 语雀
不停服更新应用的流程
- 将user2设置为强制路由
- 更新user1
- user1启动完毕后,取消user2的强制路由,将user1设置为强制路由
- 更新user2
- 取消user1的强制路由
相关文章:
yolo-驾驶行为监测:驾驶分心检测-抽烟打电话检测
在现代交通环境中,随着汽车技术的不断进步和智能驾驶辅助系统的普及,驾驶安全成为了公众关注的焦点之一 。 分心驾驶,尤其是抽烟、打电话等行为,是导致交通事故频发的重要因素。为了解决这一问题,研究人员和工程师们…...
BSV区块链协会上线首个版本的ARC交易处理器
发表时间:2024年3月28日 BSV区块链协会近期上线了首个版本的ARC交易处理器。ARC是一项区块链交易处理服务,能在通过P2P网络广播交易之前验证并存储相关的交易。一旦新区块被挖出,一条与该交易相关的Merkle路径将被发回给交易发起者作为确…...
vue 请求php接口 header 传自定义参数 提示cors 跨域问题
前端地址 http://192.168.0.125:4021 请求后端地址的时候报 from origin http://192.168.0.125:4021 has been blocked by CORS policy: Request header field userid is not allowed by Access-Control-Allow-Headers in preflight response. 大概意思是请求 header里有个…...
CA-410 色彩分析仪
CA-310升级型号,快速、高分辨率,支持HDR、广色域和OLED等新型显示测量的新一代色彩分析仪 1、CA-410 在0.03cd/m2 的暗场测量非常稳定,但 CA-310就忽高忽低了。 2、CA-410在测量Gamma速度时,比CA-310 快1.5倍 3、CA-410非常便携 4、CA-410带自动调零功能 5、由于XYZ滤色片的…...
FHQ Treap
P3369 【模板】普通平衡树 前言: 平衡树是一种二叉搜索树,通过一些方法来做到快速维护单点或区间信息和快速查询单点或区间信息,其中包括排名、前驱等等。在 \(\rm STL\) 库中虽有实现,但是由于封装的太好以及是可持久化数据结构的基础,还是需要学习的。 FHQ Treap: FHQ T…...
MATLAB实现蚁群算法栅格路径优化
蚁群算法是一种模拟自然界中蚂蚁觅食行为的优化算法,常用于解决路径规划问题。在栅格路径优化中,蚁群算法可以帮助找到从起点到终点的最优路径。以下是蚁群算法栅格路径优化的基本流程步骤: 初始化参数: (1)设置蚂蚁数量ÿ…...
SpringBoot项目--如何不停服更新应用?
原文网址:SpringBoot项目--如何不停服更新应用?_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Java后端项目如何不停机更新服务。 在生产环境中,一般都会每个服务部署多个实例。只要多于1个实例,就可以不停服更新应用。 不停服…...
MVVM与Vue响应式原理
Vue的响应式实现原理 MVVM M:模型 》data中的数据 V:视图 》模板 VM:视图模型 》Vue实例对象 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0EWNM16D-1670161519474)(C:\Users\lucas\Desktop\学习\图片\mode…...
vue和react的生命周期
vue和react的生命周期 一、Vue的生命周期二、React的生命周期2.1.类组件2.2.函数式组件一、Vue的生命周期 初始化阶段(组件创建、数据初始化)、挂载、更新、销毁 父子组件生命周期执行顺序 初次加载组件时:父beforeCreate – 父created – 父beforeMount – 子beforeCreate …...
浏览器高度兼容性
浏览器的卷去高度 1.标准模式 document.documentElement.scrollTop 2.非标准模式 document.body.scrollTop 浏览器高度兼容性 1.标准模式下 浏览器的实际高度: document.body.clientHeight 浏览器的可视高度:document.documentElement.clientHeight 2.非…...
关于天干地支及其计算
以天干地支计算日期是我国悠良的传统文化,最近在看如何计算人的生辰八字,写了个程序,但是只能算年的干支,月、日的干支计算方法太复杂了,望之只能却步,还是乖乖去查万年历比较好。这里记下关于干支的一些东…...
数据结构和算法之如何建立图
小白BG.1 邻接矩阵表示的图结点的结构 typedef struct GNode *PtrToGNode;//PtrToGNode是指向GNode的一个指针 struct GNode{ int Nv;//顶点数 int Ne;//边数 WeightType G[MaxVertexNum][MaxVertexNum]; DataType Data[MaxVertexNum];//存顶点的数据 }; typedef PtrToGNode MG…...
计算机毕业设计Java大众采编本微资讯发布平台(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java大众采编本微资讯发布平台(源码系统mysql数据库lw文档) 计算机毕业设计Java大众采编本微资讯发布平台(源码系统mysql数据库lw文档)本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea eclipse…...
web前端-javascript-立即执行函数(说明、例子)
立即执行函数 /* (function(){alert("我是一个匿名函数~~~"); })(); */(function (a, b) {console.log("a " a);console.log("b " b); })(123, 456);1. 说明 函数定义完,立即被调用,这种函数叫做立即执行函数立即执…...
【计算机视觉】图像形成与颜色
图像形成与颜色 光照及阴影 辐射度学 颜色 颜色信息反映了入射光的能量分布与波长,可见光的波长在400nm到760nm之间。 RGB RGB分别代表三个基色(R-红色、G-绿色、B-蓝色),如(0,0,0)表示黑色、(255, 255, 255)表示白色。其中2…...
Musical Christmas Lights——一个圣诞树灯光✨随音乐节奏改变的前端开源项目
文章目录前言视频介绍项目截图项目地址项目源码以上就是本篇文章的全部内容,将你编写好的项目分享给你的朋友们或者那个TA吧!制作不易,求个三连!❤️ 💬 ⭐️前言 今天博主在刷短视频时😐,朋友推…...
[附源码]Python计算机毕业设计SSM进出口食品安全信息管理系统(程序+LW)
项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…...
电平触发的触发器
普通的SR锁存器没有任何抗干扰能力 我们要加控制信号,来抵抗干扰 比如说我们不把信号直接加在门上,我们可以再加一级门电路,让这个输出和输入不在同一个门上,我们希望加入一个控制信号,来控制电路工作的时刻 对电路结…...
php后端+JQuery+Ajax简单表单提交
通过ajax,如果从后端直接想前端返回数组,那前端收到的是一个‘Array’的字符串。所以,我比较习惯的是用json对象的格式。由后端通过json_encode()函数,把数组封装成对象,传递到前端;前端也以json的格式接收。这里用提交表单来举例说明。 页面显示如下: JQueryAjax.…...
论文投稿指南——中文核心期刊推荐(计算机技术2)
>>>深度学习Tricks,第一时间送达<<< 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊。下面,简单介绍下什么是中文核心期刊要目总览: 《中文核心期刊要目总…...
集合java
java集合 集合、数组都是对多个数据进行存储操作的结构,简称Java容器 此时的存储,主要是指内存层面的存储,不涉及持久化的存储(txt,jpg,avi) Java集合可分为Collection 和 Map 两种体系 1. Collection接口࿱…...
spring boot 应用mybatis
Mybatis入门: Mybatis入门_做测试的喵酱的博客-CSDN博客 目录 一、spring boot 应用mybatis 核心 二、举例: 2.1 背景 2.2 项目结构: 2.3 依赖包 pom 2.4 项目配置文件application.yml 2.5 实例层entity 2.6 mybatis的mapper层 2.7 spring boot…...
Java项目:ssm图书馆管理系统
作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 功能介绍 基于ssm的图书馆管理系统.主要功能包括:图书查询、图书管理、图书编辑、读者管理、图书的借阅与归还以及借还日志记录等。 用户分为…...
详解设计模式:命令模式
命令模式(Command Pattern)也被称为行动模式(Action Pattern)、事物模式(Transaction Pattern),是在 GoF 23 种设计模式中定义了的行为型模式。 命令模式 是一种数据驱动的设计模式。请求以命令…...
家庭用户无线上网案例(AC通过三层口对AP进行管理)
组网需求 为一个家庭用户使用的网络架构。该家庭消费用户的上网流量大多是低速流量,例如浏览网页、玩游戏、看视频等。家庭成员使用的无线终端主要为手机、PC、电视机等。终端接入的数量正常情况下在10个以内,偶尔有家庭聚会等特殊情况,终端接…...
Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源
在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。 这个神器就是 CommandLineRunner,CommandLineRunner 接口的 Co…...
用Hopper修改代理软件端口
背景 用代理软件可以访问google,但是端口经常不固定,从缺省1080变成了随机。 前几天其实已经用Hopper 3.0看了一次,但是好像不支持go,所以没反编译成功,这次换了4.0,支持了go。 Hopper与逆向 逆向的目的…...
PKI等介绍
PKI 1、概述 KPI名称:Public Key Infrastructure 公钥基础设施 KPI作用:通过加密技术和数字签名保证信息的安全 KPI组成:公钥加密技术、数字证书、CA、RA 2、信息安全三要素 机密型、完整型、身份验证、操作的不可否认性 3、哪些领域…...
《模拟电子技术》半导体原理部分笔记
《模拟电子技术》笔记绪论第一章 常用半导体器件第二章 基本放大电路绪论 有的人把三极管的出现作为电子技术工业革命的开始标志学习架构:半导体器件(二极管、三极管、场效应晶体管)、基于上述管的放大电路、集成运算放大器、放大电路的频率…...
Python与MySQL交互
第四章 Python与MySQL交互 1、客户端库概述及安装 PyMySQL介绍 PyMySQL是在 Python3.x 版本中用于连接 MySQL 服务器的一个客户端库。 PyMySQL安装: pip install pymysql执行过程如下图: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来…...
list的模拟实现(万字解读+由浅入深)
先申明一下本篇总体介绍过程是按照逐步深入去写的,所以可能有些同样类型不在一块! 前言: 写这篇博客的时候,我是边思考边写它!自己其中感觉自己对于list的理解更加的深入,其中提出的很多问题让我明白了lis…...
Java项目:SSM CRM人事管理系统
作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 CRM人事管理系统,主要功能有: 用户管理:用户查询、添加用户、编辑、删除; 职位管理:…...
Qt+opencv 鼠标画线实现几何图形识别并动态创建
前言 使用Qt OpenCV实现,通过鼠标画线绘制几何图形,然后通过opencv进行图形轮廓识别,返回图形顶点,然后创建对应的几何图形添加到场景中。绘制使用QGraphics体系完成。 看效果图: 本文demo在这里 点击下载 环境: …...
HTML5期末大作业——HTML+CSS+JavaScript平遥古城旅游景点介绍(6页)
👨🎓学生HTML静态网页基础水平制作👩🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…...
HTML5期末考核大作业 基于HTML+CSS+JavaScript沪上美食(9页)
🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…...
Reg注册表读写
在Windows 95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。按照这一原则,Windows各版本中都采用了将应用程序和计算机系统全部配置信息容纳在一起的注册表,用来管理…...
HTML入门零基础教程(五)
嗨,大家好,我是异星球的小怪同志 一个想法有点乱七八糟的小怪 如果觉得对你有帮助,请支持一波。 希望未来可以一起学习交流。 目录 一、图像标签 1.图像标签 2.图标标签的其它属性 3.图像标签属性注意点: 一、图像标签 1.…...
java通过lock实现同步锁
这里我们是一个卖票的演示代码 其实 同步锁 远不止一个synchronized 它本身有一个 加上锁 和释放锁的过程 为了 让我们更好的理解这个过程 JDK5之后 为我们提供了一个单独的锁工具 lock lock是一个接口 他提供了 synchronized 方法 和 更广泛的语句操作 lock方法 获得锁 unl…...
Java多线程同步工具类:Semaphore原理剖析
Java多线程同步工具类:Semaphore原理剖析 文章目录Java多线程同步工具类:Semaphore原理剖析Semaphore原理实战案例前驱知识准备:AbstractQueuedSynchronizer队列同步器 [Java多线程之:队列同步器AbstractQueuedSynchronizer原理剖…...
C++之面向对象
目录 对象与类 类的语法: C中class与struct的区别: 通过类实例化对象的方式 具体案例 类作用域与分文件编写 创建circle.h头文件 创建源文件circle.cpp 创建all.cpp来作为程序的入口 封装 封装的意义 访问权限符 成员属性私有化 优点 具体…...
Windows-》CMD命令
CMD命令【1】Windows-》CMD命令1.mstsc:打开远程桌面连接。2.services.msc:打开本地服务设置。3.notepad:打开记事本。4.control:打开控制面板。5.regedit:打开注册列表编辑器。6.compmgmt.msc---设备管理器。…...
秒级使网站变灰,不改代码不上线,如何做到?
注意:文本不是讲如何将网站置灰的那个技术点,那个技术点之前汶川地震的时候说过。 本文不讲如何实现技术,而是讲如何在第一时间知道消息后,更快速的实现这个置灰需求的上线。 实现需求不是乐趣,指挥别人去实现需求才…...
vue教程
vue window本地保存Local Storage 保存:window.localStorage.setItem(名,值); window.localStorage.setItem(token,backdata.data[2]); 查询:window.localStorage.getItem(名); window.localStorage.getItem(token); 删除:window.localStor…...
认识哈希表
作者:~小明学编程 文章专栏:Java数据结构 格言:目之所及皆为回忆,心之所想皆为过往 目录 为什么我们需要哈希表? 哈希表的原理 什么是哈希值 冲突 负载因子 解决冲突 闭散列 开散列/哈希桶 代码实现 不考虑…...
Vue学习:Hello小案例
使用Vue的目的:构建用户界面(需要使用容器 摆放这个界面的内容) favicon.ico:1 GET http://127.0.0.1:5500/favicon.ico 404 (Not Found) 没有页签图标 在者服务器中 http://127.0.0.1:5500没有/favicon.ico 强制刷新网页:s…...
IDEA创建Java Web项目
✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:JAVA开发者…...
C++11中可变参数模板使用
在看同事编写的代码,发现有如下的代码,因为没用过,所以查了一下这是什么语法,通过查询资料知道了这是C11中增加的可变参数模板。 template<class T, class ...Args> bool GetValue(T &value, Args &&...args) c…...
MySQL 中的 sql_mode 选项以及配置
MySQL 中的 sql_mode 选项以及配置 目录MySQL 中的 sql_mode 选项以及配置一、查询与设置 sql_mode1、查询 sql_mode2、设置 sql_mode(1)通过命令设置(2)在配置文件中设置二、sql_mode 支持的模式1、ANSI 模式(宽松模式…...
【C语言航路】第六站:指针初阶
目录 一、指针是什么 二、指针和指针类型 1.指针类型的意义 2.指针-整数 3.指针解引用 三、野指针 1.野指针的成因 (1)指针未初始化 (2)指针越界访问 (3)指针指向的空间释放 2.如何规避野指针 &a…...
从 JPA 2.x 迁移到 3.0
我最近收到了很多关于JPA 3.0的问题,由于EclipseLink和Hibernate现在提供了对它的全面支持,现在是时候仔细看看规范的最新更新了。作为从Java EE到Jakarta EE转换的一部分,Java Persistence API(JPA)更名为Jakarta Per…...
Allegro如何锁定器件操作指导
Allegro如何锁定器件操作指导 Allegro上可以锁定器件,避免误操作被移动,具体操作如下 选择fix命令 Find选择Symbols 框选需要锁定的器件 可以看到器件被锁住了 除了这个方法之外,还有另外一种方法锁定器件,选择edit-property Find选择Symbols...
第三章:SpringBoot的配置文件-核心技术
目录 1、文件类型 1.1、properties 1.2、yaml 1.2.1、简介 1.2.2、基本语法 1.2.3、数据类型 1.2.4、示例 2、配置提示 1、文件类型 1.1、properties 同以前的properties用法 1.2、yaml 1.2.1、简介 YAML 是 "YAML Aint Markup Language"(YA…...
Vue中的计算属性
计算属性:实际上是把vm中的属性进行计算加工,最后能够返回给页面一个结果,它是实时的,所以不能做异步操作。 细想一下,其实methods方法也能实现1中描述的现象,但是计算属性最大的优势是缓存!&a…...
HTML+CSS个人电影网页设计——电影从你的全世界路过(4页)带音乐特效
HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…...
业务开发时,接口不能对外暴露的解决方案
1.内外网接口微服务隔离 将对外暴露的接口和对内暴露的接口分别放到两个微服务上,一个服务里所有的接口均对外暴露,另一个服务的接口只能内网服务间调用。 该方案需要额外编写一个只对内部暴露接口的微服务,将所有只能对内暴露的业务接口聚合到这个微服务里,通过这个聚合…...
「点燃我,温暖你」用Python制作一个动态爱心效果
最近「点燃我,温暖你」这部剧非常火,讲述的是程序员的爱情故事。 其中陈飞宇饰演的男主李峋,在剧中用程序做出的爱心跳动效果,非常炫。 网上各个大佬也是纷纷给出看法,综合就是不太可能用C语言来实现的。 大概率是AE…...
【无标题】cocos与外部laya或者web交互
一.电脑: 电脑网页:cocos --->laya this.webview._impl._iframe.contentWindow.postMessage("cocosToLaya", "*");//laya //这里是浏览器环境下, 接收web传过来的消息//cocos window.addEventListener(&q…...
51单片机之DS1302实时时钟
1.DS1302时钟芯片介绍 DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能RTC(Real Time Clock):实时时钟,是一种集成电路,通常称…...
spring - tx 事务的使用(事务的传播行为是啥)
补充:事务的传播行为是啥 事务的传播行为:指的是,当一个事务方法被另一个事务方法调用时,这个被调用的事务方法应该如何进行, 简单来说,它决定了事务方法是在调用者的事务中运行,还是为自己开启…...
【Harmony3.1/4.0】笔记一
Harmong3.1/4.0是基于ArkTS编程语言的操作系统,本文开始将逐渐讲解和学习鸿蒙操作系统的知识。 1.线性布局(Row/Column)综合使用 线性布局结合文本控件,图片控件和按钮控件完成简单的鸿蒙移动应用开发界面 其ArkTS代码如下: Entry Compone…...
计算机网络——数据链路层(介质访问控制)
计算机网络——数据链路层(介质访问控制) 介质访问控制静态划分信道动态划分信道ALOHA协议纯ALOHA(Pure ALOHA)原理特点 分槽ALOHA(Slotted ALOHA)原理特点 CSMA协议工作流程特点 CSMA-CD 协议工作原理主要…...
机器学习周记(第三十五周:语义分割)2024.4.15~2024.4.21
目录 摘要 ABSTRACT 1 语义分割基本概念 1.1 数据集格式 编辑 1.2 语义分割评价指标 1.3 语义分割标注工具 2 转置卷积 3 FCN网络结构基本原理 摘要 本周主要学习了语义分割的基本概念及其在计算机视觉领域中的应用。了解了语义分割的几种经典网络,如全卷…...