容器化应用: Openshift 路由拆分实现蓝绿部署

本文介绍如何通过路由拆分实现流量按比例分发到不同后端服务,以达到灰度发布的目的。通过Vert.x的Hello Microservice示例演示蓝绿部署、A/B测试等实践,展示了如何在Openshift环境中配置并验证路由拆分的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

路由拆分就是把一个路由的流量按比例, 权重分发到不同的后端服务. 原理和带权重的负载均衡相同. 如果你使用过阿里云的SLB, 应该很熟悉了.

图片描述

while true; do curl http://hello-microservice-blue-reactive-microservices.192.168.99.100.nip.io 2>&1; echo ''; sleep 1; done;

示例过程

我们以一个Vertx 的Hello Microservice 为例子

下载需要的代码

https://github.com/redhat-developer/reactive-microservices-in-java.git
cd openshift/hello-microservice-openshift
mvn fabric8:deploy -Popenshift

部署完成后, 修改 pom.xml 中的 <artifactId>hello-microservice-blue, 再次执行如下的构建命令以创建一个新的部署:

mvn fabric8:deploy -Popenshift

这样, Openshift 中会同时存在两个名称不同的部署, 分别代表应用程序的两个不同版本.

clipboard.png

clipboard.png

路由拆分配置

clipboard.png

clipboard.png

路由信息页面
clipboard.png

然后用不同的浏览器打开这个路由, 你就会看到不同的输出. 当然, hello-microservice-blue 这个部署, 你得修改一点输出代码, 以示区分.

因为路由有 Session Affinity(会话亲和, 会话粘滞), 所以要用不同的浏览器才能看到效果. 这样就是实现了应用的蓝绿部署, 灰度发布, A/B测试, 等等等等类似的先试点, 再推广 这个机制. 把有可能的影响范围降低到最小.

clipboard.png

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值