通过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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值