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

如何建设彩票私人网站工信部icp备案管理系统

如何建设彩票私人网站,工信部icp备案管理系统,农产品大宗交易平台,网站开发工程师php岗位职责文章目录 场景解决下线请求效果如图贴一个可用的部署脚本 场景 在 Spring Cloud 项目的微服务实例关闭时#xff0c;需要首先从注册中心设置为下线#xff0c;避免该服务的消费者继续请求该服务实例#xff0c;导致请求失败如果我们在服务实例从注册中心取消注册后#xff… 文章目录 场景解决下线请求效果如图贴一个可用的部署脚本 场景 在 Spring Cloud 项目的微服务实例关闭时需要首先从注册中心设置为下线避免该服务的消费者继续请求该服务实例导致请求失败如果我们在服务实例从注册中心取消注册后立即销毁其它 Spring Bean 的话会导致当前在处理的请求又或者服务消费者因为注册中心延迟期间继续打进来的请求产生处理失败的情况在 Spring 容器关闭时Spring Cloud 内置的 AbstractAutoServiceRegistration 会将当前实例从注册中心取消注册但是并不能保证这个步骤最先执行在所有 Bean 的销毁之前。同时虽然当前服务实例已经从注册中心取消注册但是服务消费者从注册中心中拉取到最新的注册信息是存在延迟的只是长短的差别。 解决 通过actuator/service-registry/ 接口完成接口下线sleep 30秒之后 再进行微服务jar包的启停进行健康检查 下线请求效果如图 贴一个可用的部署脚本 #!/bin/bash set -e# 基础 # export JAVA_HOME/work/programs/jdk/jdk1.8.0_181 # export PATHPATH$PATH:$JAVA_HOME/bin # export CLASSPATH$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarDATE$(date %Y%m%d%H%M) # 基础路径 BASE_PATH/home/vagrant/data/workProjects/JenkinsSpringCloudDemo # 编译后 jar 的地址。部署时Jenkins 会上传 jar 包到该目录下 SOURCE_PATH$BASE_PATH/build # 服务名称。同时约定部署服务的 jar 包名字也为它。 SERVER_NAMEJenkinsSpringCloudDemo # 环境 PROFILES_ACTIVEprod # 健康检查 URL HEALTH_CHECK_URLhttp://127.0.0.1:8078/actuator/health/ # 修改状态 URL STATUS_URLhttp://127.0.0.1:8078/actuator/service-registry/# heapError 存放路径 HEAP_ERROR_PATH$BASE_PATH/heapError # JVM 参数 JAVA_OPS-Xms1024m -Xmx1024m -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath$HEAP_ERROR_PATH # JavaAgent 参数。可用于配置 SkyWalking 等链路追踪 JAVA_AGENT# 备份 function backup() {# 如果不存在则无需备份if [ ! -f $BASE_PATH/$SERVER_NAME.jar ]; thenecho [backup] $BASE_PATH/$SERVER_NAME.jar 不存在跳过备份# 如果存在则备份到 backup 目录下使用时间作为后缀elseecho [backup] 开始备份 $SERVER_NAME ...cp $BASE_PATH/$SERVER_NAME.jar $BASE_PATH/backup/$SERVER_NAME-$DATE.jarecho [backup] 备份 $SERVER_NAME 完成fi }# 最新构建代码 移动到项目环境 function transfer() {echo [transfer] 开始转移 $SERVER_NAME.jar# 删除原 jar 包if [ ! -f $BASE_PATH/$SERVER_NAME.jar ]; thenecho [transfer] $BASE_PATH/$SERVER_NAME.jar 不存在跳过删除elseecho [transfer] 移除 $BASE_PATH/$SERVER_NAME.jar 完成rm $BASE_PATH/$SERVER_NAME.jarfi# 复制新 jar 包echo [transfer] 从 $SOURCE_PATH 中获取 $SERVER_NAME.jar 并迁移至 $BASE_PATH ....cp $SOURCE_PATH/$SERVER_NAME.jar $BASE_PATHecho [transfer] 转移 $SERVER_NAME.jar 完成 }# 停止 function stop() {echo [stop] 开始停止 $BASE_PATH/$SERVER_NAMEPID$(ps -ef | grep $BASE_PATH/$SERVER_NAME | grep -v grep | awk {print $2})# 如果 Java 服务启动中则进行关闭if [ -n $PID ]; then# 从注册中心下线echo [stop] 从注册中心下线当前实例并 sleep 20 秒curl -X POST $STATUS_URL -d {status: DOWN} -H content-type: application/jsonsleep 20# 正常关闭echo [stop] $BASE_PATH/$SERVER_NAME 运行中开始 kill [$PID]kill -15 $PID# 等待最大 60 秒直到关闭完成。for ((i 0; i 60; i))dosleep 1PID$(ps -ef | grep $BASE_PATH/$SERVER_NAME | grep -v grep | awk {print $2})if [ -n $PID ]; thenecho -e .\celseecho [stop] 停止 $BASE_PATH/$SERVER_NAME 成功breakfidone# 如果正常关闭失败那么进行强制 kill -9 进行关闭if [ -n $PID ]; thenecho [stop] $BASE_PATH/$SERVER_NAME 失败强制 kill -9 $PIDkill -9 $PIDfi# 如果 Java 服务未启动则无需关闭elseecho [stop] $BASE_PATH/$SERVER_NAME 未启动无需停止fi }# 启动 function start() {# 开启启动前打印启动参数echo [start] 开始启动 $BASE_PATH/$SERVER_NAMEecho [start] JAVA_OPS: $JAVA_OPSecho [start] JAVA_AGENT: $JAVA_AGENTecho [start] PROFILES: $PROFILES_ACTIVE# 开始启动BUILD_IDdontKillMe nohup java -server $JAVA_OPS $JAVA_AGENT -jar $BASE_PATH/$SERVER_NAME.jar --spring.profiles.active$PROFILES_ACTIVE echo [start] 启动 $BASE_PATH/$SERVER_NAME 完成 }# 健康检查 function healthCheck() {# 如果配置健康检查则进行健康检查if [ -n $HEALTH_CHECK_URL ]; then# 健康检查最大 60 秒直到健康检查通过echo [healthCheck] 开始通过 $HEALTH_CHECK_URL 地址进行健康检查;for ((i 0; i 60; i))do# 请求健康检查地址只获取状态码。resultcurl -I -m 10 -o /dev/null -s -w %{http_code} $HEALTH_CHECK_URL || echo 000# 如果状态码为 200则说明健康检查通过if [ $result 200 ]; thenecho [healthCheck] 健康检查通过;break# 如果状态码非 200则说明未通过。sleep 1 秒后继续重试elseecho -e .\csleep 1fidone# 健康检查未通过则异常退出 shell 脚本不继续部署。if [ ! $result 200 ]; thenecho [healthCheck] 健康检查不通过可能部署失败。查看日志自行判断是否启动成功;tail -n 10 nohup.outexit 1;# 健康检查通过打印最后 10 行日志可能部署的人想看下日志。elsetail -n 10 nohup.outfi# 如果未配置健康检查则 slepp 60 秒人工看日志是否部署成功。elseecho [healthCheck] HEALTH_CHECK_URL 未配置开始 sleep 60 秒;sleep 60echo [healthCheck] sleep 60 秒完成查看日志自行判断是否启动成功;tail -n 50 nohup.outfi }# 部署 function deploy() {cd $BASE_PATH# 备份原 jarbackup# 停止 Java 服务stop# 部署新 jartransfer# 启动 Java 服务start# 健康检查healthCheck }deploy
http://www.pierceye.com/news/93664/

相关文章:

  • 网站收录原创文章wordpress新框架vue
  • 中工信融做网站怎么样凡科建站代理平台
  • 网站设计图能用ps做么dedecms 图片网站
  • 自己有服务器怎么做网站wordpress会员卡
  • 网站打不开 ...wordpress 评论表情插件
  • 网站开发框架 Wordpress网站整体设计流程
  • 深圳沙井网站建设网站建设管理工作
  • 网站广告条效果wordpress改关键词
  • 做移动网站首页软截获网站流量怎么做
  • 用dw做网站怎么添加背景图片大连网页制作培训
  • 新网站百度有审核期成都 网站建设培训班
  • 在线购物网站的设计成都网站seo费用
  • 访问国外的网站很慢wordpress 电商主题
  • 免费收录网站推广wordpress打开速度分析
  • 成都网站运营wordpress后台
  • 班级建设网站wordpress获取分类的文章
  • 北京建设官方网站常州做网站那家快
  • 网站建设源码包射阳网页设计
  • 做企业网站备案都需要什么织梦 安装网站
  • 查询网站收录命令用wordPress搭建图片库
  • 网站开发的验收标准给几个网址谢谢
  • 手表网站大全网络推广竞价
  • 中创高科官方网站wordpress 页面添加js
  • 平台网站怎么做专业网站设计公司排名
  • 网站开发公司 重庆百度seo标题优化软件
  • wordpress 导入主题网站建设优化广告流量
  • 网店装修网站房屋装修设计费一般多少
  • 微信公众平台制作网站设计网站页面要怎么切图
  • 个人网站 备案 类型小红书笔记推广
  • 门户网站怎么创建网页制作步骤php