非常遗憾的告诉大家,现在并没有一个开源项目能够完美的支持灰度发布和蓝绿部署,因为这并不是一个nacos就可以做到的,大家都知道,nacos支持namespace等高级特性,还可以带服务元数据,所以如果要基于nacos来搞灰度发布和蓝绿部署是可以的
比如说,你灰度的时候,负责灰度的版本上线,就注册到一个prod-grey namespace下去,或者是你得带上一些服务标签,类似元数据的概念,然后你的网关流量入口,就得能够识别出灰度机器,按照你的配置分发流量
然后你的类似dubbo的RPC框架的负载均衡模块,也得识别出灰度机器,按照配置分发流量过去
就是这个事儿要做成,必须是nacos + dubbo + 网关,都得做很多定制和改造,才能搞定的,其实做是可以做的,因为网关的灰度,很多开源网关都支持,dubbo的负载均衡机制也是可以扩展自定义的
但是这都有工作量,你得自己去做,这不是现成的
蓝绿部署其实也是同理,你新集群的服务都得带标签,或者干脆就去别的namespace,然后你的流量分发这块要能够控制好,包括回滚时的流量秒级切换
所以这块正常来说,并没有办法说针对中小型公司,直接开箱即用,就可以灰度发布或者是蓝绿部署,因为流量控制这块有点棘手