首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏葫芦

    基于EUREKA优雅发布

    基于EUREKA优雅发布基于EUREKA不优雅的原因如图所示:图片app1的pod启动后会向eureka注册自己的服务名、ip、端口信息。 不优雅的问题在于当app1 pod滚动更新时,新pod拉起后会直接杀掉旧版的pod。旧pod被杀掉后,30秒后eureka才会将此旧pod信息在eureka中清除。 8080ENTRYPOINT ["java","-server","-Xms2560m","-Xmx2560m", "-jar", "/opt/spring-cloud/lib/app1.jar]最终优雅完成以上步骤后 ,发布服务,第一次发布会讲脚本及生命周期钩子带上去。 当第二次发布即会成为优雅发布。原理在pod Terminating状态时通过pre_stop.sh脚本,告知eureka此pod注销,同时sleep 40秒等待,而后清除此pod。

    72940编辑于 2022-08-29
  • 来自专栏芋道源码1024

    SpringCloud 优雅下线+灰度发布

    每天 10:33 更新文章,每天掉亿点点头发... 常见的下线方式 优雅的下线方式 灰度发布 蓝绿部署 滚动部署 金丝雀部署 ---- 前言 在生产环境中,如何保证在服务升级的时候,不影响用户的体验,这个是一个非常重要的问题。 常见的优雅解决方案,主要包括优雅下线和灰度发布。而实际上,灰度发布的范围就已经包含优雅下线了。 最后,在本文中,我们主要讲述基于 Spring Cloud 和 Euraka 的优雅下线以及灰度发布。 举个例子,在某一次发布中,我们需要更新 100 个实例,每次更新 10 个实例,每次部署需要 5 分钟。当滚动发布到第 80 个实例时,发现了问题,需要回滚。这时,我们估计就要疯了。 并不是说滚动发布不好,滚动发布也有它非常合适的场景。

    1.4K30编辑于 2022-04-18
  • 来自专栏猿天地

    SpringCloud 优雅下线+灰度发布

    常见的下线方式 优雅的下线方式 灰度发布 蓝绿部署 滚动部署 金丝雀部署 ---- 前言 在生产环境中,如何保证在服务升级的时候,不影响用户的体验,这个是一个非常重要的问题。 常见的优雅解决方案,主要包括优雅下线和灰度发布。而实际上,灰度发布的范围就已经包含优雅下线了。 最后,在本文中,我们主要讲述基于 Spring Cloud 和 Euraka 的优雅下线以及灰度发布。 举个例子,在某一次发布中,我们需要更新 100 个实例,每次更新 10 个实例,每次部署需要 5 分钟。当滚动发布到第 80 个实例时,发现了问题,需要回滚。这时,我们估计就要疯了。 并不是说滚动发布不好,滚动发布也有它非常合适的场景。 服务器重新添加到负载均衡列表中(连通性和健康检查) 如果“金丝雀”在线使用测试成功,升级剩余的其他服务器(否则就回滚) 在金丝雀部署中,常常按照用户量设置路由权重,例如 90% 的用户维持使用老版本,10%

    70320编辑于 2022-05-10
  • 来自专栏葫芦

    teg 基于EUREKA优雅发布

    基于EUREKA优雅发布 基于EUREKA不优雅的原因 如图所示: app1的pod启动后会向eureka注册自己的服务名、ip、端口信息。 不优雅的问题在于 当app1 pod滚动更新时,新pod拉起后会直接杀掉旧版的pod。 旧pod被杀掉后,30秒后eureka才会将此旧pod信息在eureka中清除。 将服务变得优雅 1.java服务暴漏端点: management: endpoints: web: exposure: include: service-registry 完成以上步骤后,发布服务,第一次发布会讲脚本及生命周期钩子带上去。 当第二次发布即会成为优雅发布。 原理 在pod Terminating状态时通过pre_stop.sh脚本,告知eureka此pod注销,同时sleep 40秒等待,而后清除此pod。

    45410编辑于 2022-09-26
  • 来自专栏奶奶看了都会

    发布稳定性-优雅上线

    之前的文章讲了优雅下线发布稳定性-优雅下线,今天讲优雅上线 优雅上线也叫:「无损上线」,「延迟发布」,「延迟暴露」。 与之对立的自然是:「有损上线」,「直接发布」 什么是优雅上线 先说说什么情况不是优雅上线 • 应用启动时,Service还没加载完,系统就开始对外提供服务,导致失败调用。 等到应用恢复正常后,再把流量弄回来,让应用继续提供服务,这就是优雅上线。 无论是HTTP应用还是RPC应用,在发布上线时,优雅上线逻辑都是一样的,如下图,服务发布过程中不可用,进行摘流。 待到服务发布完成,重新分配流量 Dubbo的优雅上线 Dubbo的优雅上线有2种方式:延迟发布 和 Qos命令 1.延迟发布 即延迟暴露Dubbo服务,比如你的服务需要一些初始化操作后才能对外提供服务 最佳实践 本文介绍了两种 Dubbo 优雅上线的方法: • 延迟发布(delay=5000) • 不发布 + QOS 指令发布(register=false) 在实际的企业应用中,需要结合具体场景使用

    63440编辑于 2023-04-28
  • 来自专栏奶奶看了都会

    发布稳定性-优雅上线

    之前的文章讲了优雅下线发布稳定性-优雅下线,今天讲优雅上线 优雅上线也叫:「无损上线」,「延迟发布」,「延迟暴露」。 与之对立的自然是:「有损上线」,「直接发布」 什么是优雅上线 先说说什么情况不是优雅上线 应用启动时,Service还没加载完,系统就开始对外提供服务,导致失败调用。 等到应用恢复正常后,再把流量弄回来,让应用继续提供服务,这就是优雅上线。 无论是HTTP应用还是RPC应用,在发布上线时,优雅上线逻辑都是一样的,如下图,服务发布过程中不可用,进行摘流。 待到服务发布完成,重新分配流量 图片 Dubbo的优雅上线 Dubbo的优雅上线有2种方式:延迟发布 和 Qos命令 1.延迟发布 即延迟暴露Dubbo服务,比如你的服务需要一些初始化操作后才能对外提供服务 图片 最佳实践 本文介绍了两种 Dubbo 优雅上线的方法: 延迟发布(delay=5000) 不发布 + QOS 指令发布(register=false) 在实际的企业应用中,需要结合具体场景使用。

    75031编辑于 2023-04-20
  • 来自专栏奶奶看了都会

    发布稳定性-优雅下线

    背景 最近负责的项目已经到达10万 QPS的大关了,这么高的QPS,对系统的稳定性要求也更高了。 所以准备写一下关于发布稳定性的经验文章,今天先来说说优雅下线。 为什么需要优雅下线 对于线上应用,特别是高并发的应用来说,在服务更新部署发布过程中保证客户端无感知是开发者必须要解决的问题,即从应用停止到重启恢复服务这个阶段不能影响正常的业务请求。 适用场景 JVM主动关闭(System.exit(int)) 应用程序接受SIGTERM或SIGINT信号退出 Dubbo服务优雅下线 Dubbo服务的优雅下线是默认开启的,停机等待时间10秒 # Dubbo 优雅下线等待时间,默认10秒,这里配置20秒 dubbo.service.shutdown.wait=20000 服务端和客户端下线步骤如图所示: 图片 实现原理 翻一翻Dubbo的源码查询下线过程 1

    79720编辑于 2023-04-20
  • 来自专栏奶奶看了都会

    发布稳定性-优雅下线

    背景 最近负责的项目已经到达10万 QPS的大关了,这么高的QPS,对系统的稳定性要求也更高了。 所以准备写一下关于发布稳定性的经验文章,今天先来说说优雅下线。 为什么需要优雅下线 对于线上应用,特别是高并发的应用来说,在服务更新部署发布过程中保证客户端无感知是开发者必须要解决的问题,即从应用停止到重启恢复服务这个阶段不能影响正常的业务请求。 适用场景 • JVM主动关闭(System.exit(int)) • 应用程序接受SIGTERM或SIGINT信号退出 Dubbo服务优雅下线 Dubbo服务的优雅下线是默认开启的,停机等待时间10秒 # Dubbo优雅下线等待时间,默认10秒,这里配置20秒 dubbo.service.shutdown.wait=20000 服务端和客户端下线步骤如图所示: 实现原理 翻一翻Dubbo的源码查询下线过程

    65921编辑于 2023-04-28
  • 来自专栏维C果糖

    Spring Cloud 优雅下线以及灰度发布

    常见的优雅解决方案,主要包括优雅下线和灰度发布。而实际上,灰度发布的范围就已经包含优雅下线了。最后,在本文中,我们主要讲述基于 Spring Cloud 和 Euraka 的优雅下线以及灰度发布。 举个例子,在某一次发布中,我们需要更新 100 个实例,每次更新 10 个实例,每次部署需要 5 分钟。当滚动发布到第 80 个实例时,发现了问题,需要回滚。这时,我们估计就要疯了。 并不是说滚动发布不好,滚动发布也有它非常合适的场景。 服务器重新添加到负载均衡列表中(连通性和健康检查) 如果“金丝雀”在线使用测试成功,升级剩余的其他服务器(否则就回滚) 在金丝雀部署中,常常按照用户量设置路由权重,例如 90% 的用户维持使用老版本,10% Spring cloud系列20 实现服务优雅上下线 Spring Cloud 灰度发布解决方案 一文搞懂蓝绿部署和金丝雀发布 微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布

    2.1K20编辑于 2021-12-07
  • 来自专栏运维咖啡吧

    探秘varian:优雅发布部署程序

    上一篇文章《记一次诡异的故障排查经历》中有介绍到我们的部署程序varian,文章发布后有小伙伴对varian很感兴趣,今天就简单的介绍一下我们的varian,揭开她神秘的面纱~ 什么是varian varian 编写的一套部署程序,处在整个部署系统的中心,与CMDB、Jenkins、SVN/Git、镜像仓库Harbor、Kubernetes API、通知系统等都有交互,负责将源代码经过一系列的处理后打包成Docker镜像,并发布到各个环境 这样做的好处是每个项目部署发布逻辑都比较简单,修改任何一个项目都对其他项目无影响;但缺点也很明显,各个项目脚本分散,任何项目信息变更都需要取改这个脚本,且一些公共功能的修改就需要所有项目脚本都改一遍,难免不出问题 CMDB拉取项目下的主机列表、邮件通知等从shell脚本中单独抽出来用python重构,并用python实现了一个主入口,所有项目部署都通过这个主入口进入,然后调用python或shell脚本来实现部署发布整过程

    57470发布于 2018-08-23
  • 来自专栏JavaPark

    论如何优雅地使用 Windows 10

    前言 都 0202 年了,Windows 10 都已经发布 5 年多了,我个人也是从 Windows 一发布就从 Windows 7 换到了 Windows 10。 就个人体验而言,我觉得 Windows 10 比 Windows 7 好用多了,许多方面都进行了改进。 当然了,这只是个人感受,如果您有不同的想法,也不用急着和我争辩,毕竟萝卜白菜,各有所爱嘛,那接下来就说说如何优雅的使用 Windows 10。这些只是个人的使用经验,总结成本文章,供大家参考参考。 本文基于 Windows 10 专业版(20H2)进行配置及截图,理论上讲适用于 Windows 10 所有版本,略有出入的地方还请多多包涵,可以尝试搜索网上的解决方案。 ? 2.4 文字编辑 Typora[10]:跨平台 Markdown 编辑器,个人觉得比许多收费的都好用。 ?

    1K10发布于 2020-12-29
  • 来自专栏散尽浮华

    Pod容器应用优雅发布 - 运维笔记

    容器优雅发布的配置记录: 这里以customer-services应用模块的pod容器优雅配置为例: 1)将nacos主动下线的脚本在镜像制作阶段推送到容器内部 编写customer-services Deployment metadata: name: customer-services namespace: kevin spec: replicas: 2 minReadySeconds: 10 /tmp/health"] initialDelaySeconds: 5 timeoutSeconds: 5 periodSeconds: 10 volumes: - name: customerlog hostPath: path: /var/log/k8s_log/customer-services 容器发布流程 生产环境通过Jenkins配置的Pod容器部署流程:即从Gitlab拉取代码、打包、制作镜像、上传镜像到Harbor仓库、更新pod等发布流程。

    3.9K31发布于 2020-11-24
  • 来自专栏WOLFRAM

    现在 CDFPlayer 10 已经发布!

    Wolfram Language 快速编程入门 XIV 现在 CDFPlayer 10 已经发布! 完全兼容 Mathematica 10.0.2. 按照文件从之前的 200 MB 增大到 580, 系统不再至此 XP(因为 10 也不再支持), 下载链接见官网吧(但目前小编这里暂时下不了???).

    75620发布于 2018-05-31
  • 来自专栏程序猿DD

    Spring Cloud应用的优雅下线与灰度发布

    常见的优雅解决方案,主要包括优雅下线和灰度发布。而实际上,灰度发布的范围就已经包含优雅下线了。 最后,在本文中,我们主要讲述基于 Spring Cloud 和 Euraka 的优雅下线以及灰度发布。 举个例子,在某一次发布中,我们需要更新 100 个实例,每次更新 10 个实例,每次部署需要 5 分钟。当滚动发布到第 80 个实例时,发现了问题,需要回滚。这时,我们估计就要疯了。 并不是说滚动发布不好,滚动发布也有它非常合适的场景。 Alibaba):https://blog.didispace.com/spring-cloud-learning/ 在金丝雀部署中,常常按照用户量设置路由权重,例如 90% 的用户维持使用老版本,10% 四种方法实现多线程按着指定顺序执行 ·································· 你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网

    67420编辑于 2022-04-28
  • 来自专栏逆锋起笔

    10优雅的 Go 语言开发工具

    10、VS Code+ Go插件 不再像以前那么霸道蛮横, 微软这么多年也算做了不少挽回人心的事, 而VSCode的推出, 就算其中一件.

    3.3K21编辑于 2022-03-28
  • 来自专栏Python七号

    10个技巧让你的代码更优雅

    是的,写代码是容易的,写出易读的代码也是容易的,但写出易读、优雅、高效的代码则需要经验的积累。今天分享 10 个技巧帮你写出更优雅、更符号 Pythonic 风格的代码。 1、三元表达式 通常情况下,条件表达式是这样写的: condition = True if condition: x = 1 else: x = 0 print(x) 更易读,更优雅 使用下划线分隔大数 num1 = 100000000 num2 = 10000000 total = num1 + num2 print(total) # 110000000 可以写成这样 num1 = 10 _000_0000 num2 = 10_000_000 total = num1 + num2 print(total) # 110000000 如果想让输出结果中使用逗号分隔,还可以这样: num1 = 10_000_0000 num2 = 10_000_000 total = num1 + num2 print(f"{total:,}") # 110,000,000 这样使大数看起来更容易让人类阅读

    54020发布于 2020-11-25
  • 来自专栏cocos那些事

    如何优雅的关闭win10自动更新

    对于win10电脑,希望系统稳定,面对自动更新的困扰,找到一个好用的神器,简单粗暴,一键高效设置图片看到一个直接关闭的按钮,就很舒服有没有,小白用户或者不愿意在系统设置里搞来搞去的人很友好。 摊牌了,直接上车:Lenovo Quick Fix:一键关闭或开启Win10系统的自动更新-联想知识库1、安装软件只有一个 exe 运行文件,无需安装,双击打开即用。选择允许应用运行。

    57020编辑于 2023-07-31
  • 来自专栏PHP饭米粒

    Swoft 2.0.3 重大更新,发布优雅的微服务治理

    优雅的服务治理 Swoft 官方建议开发者使用 Service mesh 模式,比如 Istio/Envoy 框架,把业务和服务治理分开,但是 Swoft 也为中小型企业快速构建微服务提供了一套微服务组件

    1K20发布于 2019-07-17
  • 来自专栏IT派

    Pip10已正式发布

    我代表Python包管理局(Python Packaging Authority),很高兴在此宣布:pip10刚刚正式发布了。这个版本是几个月以来社区工作的结晶。 要安装pip 10,请运行: python -m pip install --upgrade pip 或者,按照https://pip.pypa.io/en/latest/installing 所述,使用 如果你使用的pip版本来自于分发供应商,会由供应商在适当的时候提供升级(你也可以选择在虚拟环境中使用pip 10)。 新版本pip 10的亮点: 已不再支持 Python 2.6 。 谢谢 Paul 英文原文:https://blog.python.org/2018/04/pip-10-has-been-released.html 译者:泰然

    37700发布于 2018-07-30
  • 来自专栏性能与架构

    Java10 将可以优雅的整合 Docker

    Java10 的解决方案 (1)容器内存限制 对于上面的示例,下面使用java10再测试一下: ? 这里就对了,128Mb (2)设置可用的 CPU 默认情况下,每个容器都可以无限制的使用宿主机的CPU计算周期,但可以进行设置限定,Java 10 可以这样限制: ? 例如,有一个应用分布部署在10个节点上,其中的5个节点每个需要 512Mb 的内存、1024 CPU(一个CPU的共享占比用1024来表达),另5个节点每个需要 256Mb 内存和 512 CPU。 512Mb x 5 = 2.56 Gb 256Mb x 5 = 1.28 Gb 需要 8 CPUs 才能运行良好 1024 x 5 = 5 CPUs 512 x 5 = 3 CPUs 小结 Java 10 翻译整理自: https://medium.com/@jnsrikanth/docker-support-in-java-10-fbff28a31827

    1.7K30发布于 2018-06-04
领券