由于业务需要,要做灰度发布测试,刚开始考虑通过IP来做判断,分发不同的后端,但是由于IP不好确定,有的客户端IP不固定,所以考虑用cookie来做逻辑很简单,如下图: 在nginx做这个很简单,两个方法,map或if首先看map怎么做为了模拟环境,我又不想多开服务器,所以起了个httpd,配置两个vhost,当作两个后端,如下: 我给这两个vhost,配置不同
灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP灰度发布。需求:搭建准生产环境,供开发人员/运维在线上做最后的调整。如果OK,直接用rsync推送至生产环境。条件:办公室网络出口有固定IP解决办法:nginx 负载均衡器判断客户端IP地址,如果是办公室IP,则反向代理到准
推荐 原创 2014-04-25 20:39:06
10000+阅读
2评论
灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP灰度发布。需求:搭建准生产环境,供开发人员/运维在线上做最后的调整。如果OK,直接用rsync推送至生产环境。条件:办公室网络出口有固定IP解决办法:nginx 负载均衡器判断客户端IP地址,如果是办公室IP,则反向代理到准
转载 精选 2016-01-12 17:31:54
811阅读
灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP灰度发布。需求:搭建准生产环境,供开发人员/运维在线上做最后的调整。如果OK,直接用rsync推送至生产环境。条件:办公室网络出口有固定IP解决办法:nginx 负载均衡器判断客户端IP地址,如果是办公室IP,则反向代理到准
转载 2016-12-16 16:48:15
1674阅读
nginx 根据IP 进行灰度发布
原创 2018-03-23 14:37:52
936阅读
就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP灰度发布。需求:搭建准生产环境,供开发人员/运维在线上做最后的调整。如果O
转载 2023-07-03 19:35:35
261阅读
1.通过Ingress-nginx实现灰度发布场景一: 将新版本灰度给部分用户假设线上运行了一套对外提供 7 层服务的 Service A 服务,后来开发了个新版本 Service A’ 想 要上线,但又不想直接替换掉原来的 Service A,希望先灰度一小部分用户,等运行一段时间足够稳定 了再逐渐全量上线新版本,最后平滑下线旧版本。这个时候就可以利用 Nginx Ingress 基于 Head
转载 2024-02-19 11:12:59
274阅读
如果是内部IP,则反向代理到 pre_prd (预发布环境);如果不是则反向代理到 prd
原创 2022-11-16 19:48:08
153阅读
前言       随着公司业务规模扩大,传统的架构已无法支撑业务量阶梯式的增长,应用发布也必须迎来调整。之前的发布方式,需要通过脚本切换nginx,然后通过ansible进行批量发布;由于业务的特殊性质,原有方案一旦上线代码出现bug或者人为出现操作失误,将导致大面积应用无法提供服务,为了避免故障发生造成毁灭性的后果,决定分布进行架构调整
转载 2024-01-04 06:12:06
113阅读
今天是元宵,祝大家元宵节快乐!在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布灰度发布。滚动更新:依次进行新旧替换,直到旧的全部被替换为止。蓝绿发布:两套独立的系统,对外提供服务的称为绿系统,待上线的服务称为蓝系统,当蓝系统里面的应用测试完成后,用户流量接入蓝系统,蓝系统将称为绿系统,以前的绿系统就可以销
转载 2024-01-31 01:18:35
72阅读
目标灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B 上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。1.2架构图1.3方案对比1、在代码中做。一套线上环境,代码中
背景测试环境并行测试:一个服务有多个需求同时进行测试,需要nginx根据特定信息将流量转发到指定测试机。全链路压测:流量无区分,影响线上用户,只能在业务低峰进行压测,需要值守,成本较高,需要能够流量隔离,随时可以进行压测。灰度发布:需要nginx根据指定信息将流量转发到指定的灰度机器上。ngx_lua模块ngx_lua是Nginx的一个模块,将Lua嵌入到Nginx中,从而可以使用Lua来编写脚本
由于项目中用到了nginx+FastCGI相关内容,所以这段时间学习了一下,顺便记下相关内容。我是在远程工作机上实验的,有个缺点就是没有root权限,所以有些步骤我就没做了,比如make install(nginx)、添加到服务管理列表等等,仅在make之后二进制所在目录上进行执行,使用上完全没问题。还有个优点就是有些库已经全部安装好了,比如openssl、zlib等等,少了一些步骤。一.ngin
灰度发布使用背景 最近公司一直在推进DevOps,主要目标是减少对个人的依赖,降低团队之间的损耗,在保证质量的前提下,快速交付价值。在实际执行过程中表现出来的就是服务拆分粒度尽可能细,服务每次上线功能尽可能少,发布节奏尽可能快; 服务必须做到可灰度、可监控、可回滚。至于监控先暂且不聊,如何做到灰度发布升级以及回滚呢?整个PaaS平台是基于Kubernetes进行建设,Kubernetes资源对象D
# 什么是灰度发布,以及灰度发布A/B测试在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有BUG,升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用。为了解决这些问题,人们研究出了多种发布策略,下面我们一一介绍。## 蓝绿部署所谓蓝
转载 2024-08-15 00:07:54
90阅读
一、灰度发布原理说明灰度发布在百度百科中解释:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 这里的用于WEB系统新代码的测试发布,让一部分
转载 2024-04-13 17:15:43
107阅读
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度...
转载 2019-12-05 09:11:00
336阅读
2评论
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度发布常见一般有三种方式: Nginx+LUA方式 根据Cookie实现灰度发布...
转载 2021-07-30 15:19:27
269阅读
# Nginx + Lua + Redis 灰度发布实战 在现代的 web 服务架构中,灰度发布是一种非常重要的技术手段。它允许开发团队在不影响大部分用户的情况下,逐步推出新功能或版本。本文将结合 **Nginx**、**Lua** 和 **Redis** 来实现一个基本的灰度发布方案,并通过代码示例来阐明如何实现这一过程。 ## 灰度发布简介 灰度发布(Canary Release)是指在
原创 11月前
120阅读
ingress-nignx基于request实现灰度
原创 2022-08-17 15:34:28
192阅读
  • 1
  • 2
  • 3
  • 4
  • 5