常见的代码部署方式

常见的代码部署方式


蓝绿发布

关键点:需要有两套独立的环境,消耗服务器资源

概念
  • 蓝绿部署指的是不停止老版本代码(不影响上一个版本访问),而是在另外一套环境部署新版本然后进行测试,测试通过后将用户流量切到新版本
  • 蓝绿发布是一种用于升级与更新的发布策略,部署的最小维度是容器,而发布的最小维度是应用
  • 目的是安全稳定地发布新版本应用,并在必要时回滚
  • 其特点为业务无中断,升级风险相对较小
  • 注意:发布全程都只有一套正式环境在线

=

具体过程
  1. 当前版本业务正常访问(v1)
  2. 在另外一套环境部署新代码(v2),代码可能是增加了功能或者是修复了某些 bug
  3. 测试通过之后将用户请求流量切到新版本环境
  4. 观察一段时间,如有异常直接切换旧版本
  5. 若版本稳定无问题,表示本次蓝绿发布成功完成
  6. 下次升级,将旧版本(v1)所在环境升级到新版本(V3),继续进行蓝绿发布

=

适用场景
  • 不停止老版本,额外部署一套新版本
  • 对于增量升级有比较好的支持

灰度发布

关键点:在现有环境选择部分服务器升级并测试效果

概念
  • 金丝雀发布也叫灰度发布,是指在黑与白之间,能够平滑过渡的一种发布方式
  • 灰度发布是增量发布的一种类型,灰度发布是在原有版本可用的情况下,同时部署一个新版本应用作为“金丝雀”(小白鼠),测试新版本的性能和表现,以保障整体系统稳定的情况下,尽早发现、调整问题
  • 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度

=

具体过程
  1. 准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件
  2. 从负载均衡列表中移除掉“金丝雀”服务器
  3. 升级“金丝雀”应用(排掉原有流量并进行部署)
  4. 对应用进行自动化测试
  5. 将“金丝雀”服务器重新添加到负载均衡列表中(连通性和健康检查)
  6. 如果“金丝雀”在线使用测试成功,升级剩余的其他服务器(否则就回滚)

=

适用场景
  • 不停止老版本,额外做一套新版本,不同版本应用共存
  • 灰度发布中,常常按照用户设置路由权重,例如 90%的用户维持使用老版本,10%的用户尝鲜新版本
  • 经常与 A/B 测试一起使用,用于测试选择多种方案

滚动发布

概念
  • 是在金丝雀发布基础上的进一步优化改进,是一种自动化程度较高的发布方式,用户体验比较平滑
  • 取出一个或者多个服务器停止服务,执行更新,并重新将其投入使用,周而复始,直到集群中所有的实例都更新成新版本
# 滚动发布与灰度本质区别
1.灰度强调是部分节点给指定用户体验没问题后再扩大发布   # 先测试再升级,偏重测试
2.滚动强调的是各个服务器的自动更新                   # 主要是为了完成升级
适用场景
  • K8s环境
  • 自动化程度很高的环境

A/B 测试

关键点:两套环境同时上线作比较

概念
  • A/B 测试是用来测试应用功能表现的方法。
  • 两套环境同时上线提供给用户,用来比较差异(例如可用性、受欢迎程度、可见性等等)
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: YOLOv5 通常有以下常见部署方式: 1. 本地部署:可以在自己的电脑上安装 YOLOv5 相关的软件和配置,使用 CPU 或 GPU 进行推理。 2. 云端部署:将 YOLOv5 模型部署到云端服务器上,通过网络接口与外部系统进行通信,获取推理结果。 3. 边缘设备部署:将 YOLOv5 模型部署到移动设备、物联网设备或者智能摄像机等边缘设备上,实现现场实时的目标检测。 根据具体的业务场景,可以选择不同的部署方式,以满足对性能、可靠性、成本等的要求。 ### 回答2: yolov5是一个用于目标检测的深度学习算法,常见部署方式有以下几种: 1. 在本地环境中使用:可以下载yolov5的源代码,安装必要的依赖库,并使用预训练的权重文件进行推理。这种方式需要拥有一定的编程和深度学习知识,适合对算法有较深理解的研究者或者开发者使用。 2. 使用PyTorch Hub:PyTorch Hub是一个PyTorch提供的模型仓库,可以方便地访问、下载和应用各种预训练模型,包括yolov5。使用PyTorch Hub,可以通过简单的代码快速部署和使用yolov5。这种方式适合对深度学习领域有一定了解,但不需要过多自定义的用户使用。 3. 使用ONNX模型格式:yolov5可以将训练好的模型导出为ONNX模型格式,ONNX是一种跨平台、跨框架的模型表示格式,可以在各种深度学习框架之间进行转换和部署。将yolov5导出为ONNX模型后,可以在不同的硬件和环境中使用,比如在移动设备上进行目标检测。这种方式适合需要在不同平台间迁移模型的场景。 4. 使用TensorRT进行优化部署:TensorRT是英伟达推出的高性能深度学习推理引擎,可以对深度学习模型进行优化和加速,提升推理速度。可以将yolov5模型转换为TensorRT的格式,并使用TensorRT进行推理部署,实现高效的目标检测。这种方式适合有NVIDIA GPU硬件加速条件和对推理速度有较高要求的场景。 总而言之,yolov5的常见部署方式涵盖了本地环境使用、PyTorch Hub库调用、ONNX模型格式部署以及TensorRT优化部署等多种方式,可以根据具体需求和场景选择合适的方式进行部署和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值