请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

网关的负载或请求分发如何用在灰度发布上

老师,对于服务多实例做负载均衡我有一个问题。
比如同一个服务我在容器环境里部署了多套, service name都是一样的,instance-id 不一样。
通常我们说的网关做负载均衡,但网关的配置里只是把某个请求的路径路由到一个service name上。然后就按轮询的方式发送给不同的应用实例了。
在网关做负载均衡的时候是不是只有轮询这一种形式。比如我想做个灰度发布,让一部分人先用某个实例,其他人还用老的实例。但前端无感知,调用链接不变。这种逻辑是要在网关内实现吗?它有没有办法指定某些人的(或某些ip)请求分发到某个特定的版本(instanceid). 这个问题细分的话,我觉得主要是解决这样两个问题
1) 怎么区分出哪些请求是特定的同一批人发出来的。
2) 微服务的网关Zuul,或springcloud gateway, 它可以路由请求到某个特定的实例上吗?

正在回答 回答被采纳积分+3

插入代码

1回答

廖师兄 2020-05-21 11:11:00

灰度发布,现在没有统一的方案。大致可以分成2种。

  1. 运维上处理,比如通过Nginx,rancher(课程后面会讲)

  2. Java代码里处理。需要自己开发,看看 https://segmentfault.com/a/1190000017412946


如果你要做到精细控制,比如根据不同的请求头路由到不同的实例,那就需要在Java代码里处理了。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号