对于企业级应用而言,应用运维必须实现可灰度的能力。Spring Cloud SOFA 提供了灰度路由的能力,可以在应用发布时实现金丝雀发布。SOFA 的灰度路由可支持 SOFA 注册中心和开源的 Nacos 注册中心。
配置灰度路由
如果您的应用接入了 SOFA 应用管理服务,您可在应用发布时直接使用灰度功能。
如果您没有接入 SOFA 应用管理服务,同时也想使用 SOFA 的灰度路由功能,您可以进行以下操作:
在应用发布阶段,您需要为应用的运行环境中注入环境变量来进行灰度标识。
环境变量名为:
CAFE_ENV_APP_REVISION
,值可以自定义。例如配置为应用版本号,该变量需要能明确标记出灰度的节点。使用 SOFA 微服务控制台,在灰度路由功能中选择需要灰度的应用,新建或修改灰度规则,填写灰度标记和流量百分比。
灰度标记即
CAFE_ENV_APP_REVISION
对应的值,百分比可按需配置。如果需要针对某些请求进行灰度,实现 AB Test 功能,可以在服务中填写具体的路径进行精确筛选,还可以根据请求信息进行筛选。支持通过请求头、Cookie、请求参数进行精确筛选。
通过调整灰度路由百分比,将流量切换到新的版本。
关闭灰度路由
如果需要关闭灰度路由,您可以在 SOFA 微服务控制台或 SOFA 应用管理服务(取决于您通过什么控制台使用灰度路由)找到相应的灰度规则,删除或禁用规则。
如果不希望应用使用 SOFA 的灰度路由功能,您可以在application.properties
文件中配置spring.cloud.sofa.router.gray.enabled
值为false
,应用将会彻底禁用 SOFA 灰度路由。
spring.cloud.sofa.router.gray.enabled=false
该文章对您有帮助吗?