通过Kong实现金丝雀发布
金丝雀发布(Canary Releases)的由来
17世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;而当瓦斯含量超过一定限度时,虽然人类毫无察觉,金丝雀却早已毒发身亡。当时在采矿设备相对简陋的条件下,工人们每次下井都会带上一只金丝雀作为“瓦斯检测指标”,以便在危险状况下紧急撤离。
Kong的金丝雀发布简述
金丝雀发布又称灰度发布,是指在我们的生产环境中划分出一部分节点为灰度节点,当上新版本的时候,先上灰度环境并且会切换一部分流量过来,当灰度环境的流量都没有问题的时候,就会在整个生产环境上新版本。
我理解的可能有问题,请留言或者进群讨论一下
Kong的金丝雀发布的实现
假设生产环境的状况如下:
- 创建upstream
upstreams/ POST
{"name":"xjj.tv.com"
}
- 创建target
#灰度版本的target
/upstreams/b7208664-4c0b-4c64-98a2-683594bb1bfd/targets POST{"target":"172.16.0.92:8899","weight": 0
}
#生产版本
/upstreams/b7208664-4c0b-4c64-98a2-683594bb1bfd/targets POST
{"target":"172.16.0.92:8810","weight": 1000
}
- b7208664-4c0b-4c64-98a2-683594bb1bfd 是上传面创建的upstream的id
- 创建service
services POST
{
"name": "xjj.yv.com",
"protocol":"http",
"host":"xjj.tv.com",
"path":"/",
"read_timeout":6000
}
- 创建路由
routes POST
{
"protocols": ["http"],
"methods": ["GET"],
"paths": ["/xjj_tv"],
"service":{"id":"2fc52878-1fe9-48ba-bc45-146da3822851"}
}
- 测试一下,注意多点几下
- 现在灰度上了新版本,我们要切一部分流量过去:
/upstreams/b7208664-4c0b-4c64-98a2-683594bb1bfd/targets POST
{"target":"172.16.0.92:8810","weight": 800
}
/upstreams/b7208664-4c0b-4c64-98a2-683594bb1bfd/targets POST
{"target":"172.16.0.92:8899","weight": 200
}
相当于切换了五分之一的流量过去
- 测试一下,点击多次,才会出现下面这个小姐姐
先写到这里了,有问题进QQ群630300475
通过Kong实现金丝雀发布相关推荐
- Kong网关之蓝绿部署和金丝雀发布
蓝绿部署 使用upstream,可以轻松地为服务编排蓝绿部署. 设置"蓝色"环境,运行地址服务的版本v1: # create an upstream $ curl -X POST ...
- 蓝绿部署、金丝雀发布(灰度发布)、AB测试……
点击关注公众号,Java干货及时送达 来源 | https://www.jianshu.com/p/0df88fe4a1e3 随着微服务架构的普及,线上服务越来越多,随之而来的就是部署越来越频繁:随着 ...
- 微服务治理实践 | 金丝雀发布
来自:阿里巴巴中间件 前言 阿里巴巴集团内部有不少故障是因为发布直接或间接引起.因此提升发布的质量,减少错误的发生,是有效减少线上故障的一个关键环节. 为什么大部分的故障和发布相关?因为发布是整个功能 ...
- 使用级联功能实现蓝绿部署和金丝雀发布
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者:米开朗基杨 来源:公众号「云原生实验室」 上篇文章介绍了 Contour 分布式架构的 ...
- 微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布
在项目迭代的过程中,不可避免需要"上线".上线对应着部署,或者重新部署:部署对应着修改:修改则意味着风险. 目前有很多用于部署的技术,有的简单,有的复杂:有的得停机,有的不需要停机 ...
- 蓝绿部署滚动部署金丝雀发布(灰度发布)A/B测试
在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本.但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果 ...
- Kong 1.3发布,原生gRPC代理、上游TLS交叉认证
Kong 1.3 发布了,此版本亮点包括支持原生 gRPC 代理.上游 TLS 交叉认证,以及一系列新功能和性能改进. 原生 gRPC 代理 越来越多的用户转向微服务架构,并且希望有对原生 gRPC ...
- SpringCloudGateway实现金丝雀发布_05
接上一篇:SpringCloudGateway 集成 nacos 整合实现动态路由 文章目录 一.启动服务 1. 启动Gateway-Serv模块服务 2. 启动auth-serv认证授权服务 3. ...
- 蓝绿部署、滚动部署、灰度发布、金丝雀发布-概念介绍---应用部署001
在项目迭代的过程中,不可避免需要"上线".上线对应着部署,或者重新部署:部署对应着修改:修改则意味着风险. 目前有很多用于部署的技术,有的简单,有的复杂:有的得停机,有的不需要停机 ...
最新文章
- 智能车竞赛技术报告 | 智能视觉组 - 大连海事大学 - 菜鸡啄米
- Redmine使用指南
- python编程语法大全-python语法汇总
- mybatis整合redis
- 求细胞数量pascal题解
- 记录之Learning Deep Features for Discriminative Localization阅读
- SpringBoot自动装配源码解析
- 和各路巨佬の随机挑战3总结
- VBA教程初级(二):数据结构
- PAT(甲)1124 Raffle for Weibo Followers——未完成
- 网络广告中ctr是什么意思
- QLabel显示多行文本
- Android 自动换行添加控件
- 3D数学基础——Rotator类的C++实现
- 【沐风老师】3DMAX实线转虚线插件DashedShape使用教程
- 标准正态分布+标准正态分布概率表+分布函数+积分
- 扑克与投资哲学,活着最重要
- 谈企业信息化项目经理培训
- 首届全国智能制造(中国制造2025)创新创业大赛
- php 读取文件指定行,在PHP中读取文件的特定行