首页 > 其他分享 >Solon2 在微服务架构下,如何安全的停止服务?

Solon2 在微服务架构下,如何安全的停止服务?

时间:2023-03-06 12:44:35浏览次数:55  
标签:架构 demoapi stop safe jar 停止 Solon2 服务

所谓“安全的停止服务”是指:在一个集群内,一个服务停止时,即不影响已有请求,也不影响别人调用。Solon 在内核层面已提供了停全停止的机制:

1、操作说明(通过配置启用)

或者用启动参数

java -jar demoapi.jar --stop.safe=1

或者用jvm参数

java -Dsolon.stop.safe=1 -jar demoapi.jar

或者用 container 的环境变量

services:
  demoapi:
    image: demo/demoapi:1.0.0
    container_name: demoapi
    environment:
      - solon.stop.safe=1
      - TZ=Asia/Shanghai
    ports:
      - 8080:8080	

2、内部原理说明

启用安全停止后的内部处理流程:(不开启,则没有等待时间):

  1. 执行插件预停止动作(一般会向注册服务注销自己)
  2. 等3秒(让发现服务同步状态)
  3. 将当前应用标为已停止,请求响应为 503 状态码(标识服务不可用)
  4. 等7秒(用于消化已有的请求)
  5. 执行插件停止动作
  6. 退出进程

等待时间,是为了让消费端发现服务的状态变化(这里需要一定时间同步;不同框架或中间件时间不同)。


内容引用自:https://solon.noear.org/article/459

标签:架构,demoapi,stop,safe,jar,停止,Solon2,服务
From: https://www.cnblogs.com/noear/p/17183371.html

相关文章

  • iis 启用服务器端调试后,浏览器上不再显示错误提示信息
    今天发现一个奇葩现象,一个asp文件里的代码运行出错了,但是浏览器并不会显示错误的提示信息,显示一个空白页,并且通过查看httpheader发现返回的http状态码是 200 ......
  • RedisDesktopManager工具本地服务端连接失败的问题
    观前提示,以下方法仅实践于本地服务端的连接测试。  在redis分布式运行后,需要对redis队列和指纹信息进行清除,但是,在打开RedisDesktopManager可视化工具进行连接时,发现总......
  • 一张图看懂CodeArts Repo 6大特性,带你玩转代码托管服务
    华为云CodeArtsRepo是华为全栈自研的代码托管服务,基于Git提供分布式代码管理和协同开发能力,包括成员管理、权限控制、代码托管、代码检查、代码审核、代码追溯、持续集成......
  • 远程服务器安装java
    Step1:java安装包下载下载网址:https://www.oracle.com/java/technologies/downloads/Step2:在服务器端新建文件夹,上传java安装包并解压新建文件夹:"/usr/java"(可更改)......
  • 高并发场景下,如何优化服务器的性能
    摘要:tcp_nodelay参数主要是对TCP套接字来说的,那对于服务器硬件,如果要使其能够支撑上百万甚至上千万的并发,我们该如何对其进行优化呢?本文分享自华为云社区《【高并发】高并......
  • “优豆云”"免费虚拟主机"“免费云服务器”
    “优豆云”"免费虚拟主机"“免费云服务器”https://www.udouyun.com 优豆云https://www.udouyun.com高防云服务器最低100,高防物理机最低399   ......
  • Android 查询远程服务器的工具QueryUtils
    /***查询远程服务器的工具*@authorchen.lin**/publicclassQueryUtils{privatestaticfinalStringTAG="CommonUtils";privatestaticQueryUtilsins......
  • 高并发场景下,如何优化服务器的性能
    摘要:tcp_nodelay参数主要是对TCP套接字来说的,那对于服务器硬件,如果要使其能够支撑上百万甚至上千万的并发,我们该如何对其进行优化呢?本文分享自华为云社区《​​【高并发】高......
  • 在linux服务器/系统上编译运行VTM
    在linux服务器运行VTM本文介绍的是如何将windows系统的已配置完成的项目放在linux系统上运行我使用的是featurize服务器做的,如果需要直接在linux系统或虚拟机上做的话,步......
  • 租用澳门服务器需要备案吗
     澳门的服务器需要备案吗?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。不需要,澳门属于海外国家,中国......