前言

对灰度发布有所了解的同学应该知道,灰度发布的目的之一,就是能够根据业务规则的调整,交互上呈现不同的形式,举例来说,当前有2个版本,V1.0和V2.0 ,那么可能表现的形式大概有下面几种:

  • V1.0,界面上的交互形态为A,V2.0版本界面上的交互形式为B;
  • 某个交互,针对同一个接口A来说,V1.0,请求接口A,要求的返回值包括5个字段;V2.0,请求接口A,要求返回值包括10个字段;
  • 某个交互,在V1.0和V2.0中,将使用不同的接口;

实际情况可能会更复杂,在微服务广泛使用的今天,一般的思路是,通过一个获取配置的接口,前端拿到所有的参数配置,根据参数配置的不同,具体实现思路如下:

  • 比如V1版本下,某个配置的值为1,这时候使用A交互;如果要使用交互B,只需要更改配置中心这个值为2,则前端就可以将交互切位B;
  • 或者说,交互不变,但是交互的处理逻辑更复杂了,于是原来的接口无法再满足要求,这时候,可以重新提供一个接口,同样通过配置参数的不同来控制;

于是,从后端接口层面来说,一个比较常用也是通用的处理方式是,通过配置接口来达到切换交互,或者说达到灰度发布的目的,灰度发布的核心本质也正在于通过某种方式从一种数据形态切换到另一种形态;

springboot 实现接口灰度发布相关推荐

  1. SpringBoot使用EasyYapi对代码0侵入实现API接口一键发布到YApi的进阶使用 - 第423篇

    历史文章(累计400+篇文章) <国内最全的Spring Boot系列之一> <国内最全的Spring Boot系列之二> <国内最全的Spring Boot系列之三&g ...

  2. 灰度发布系统架构设计

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 来源:https://www.toutiao.com/i69 ...

  3. 基于apollo实现配置灰度发布

    前言 在上一篇,通过dubbo的版本号控制,我们实现了一个服务的简单的灰度发布过程,在真实的项目环境中,灰度发布的应用场景是很多的,服务接口存在灰度的需求,本篇再介绍另一种比较常见的灰度需求场景,即配 ...

  4. Spring cloud 多版本控制及灰度发布

    在我们使用spring mvc单体架构时, 我们可以通过uri,或者请求头做多版本路由,虽然同一个功能需要维护多个版本的接口,但是对于系统而言,不会因为新增一个接口版本而影响到老用户.当我们使用spr ...

  5. 【305期】Spring Cloud 优雅下线+灰度发布

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每一天进步一点点,是成功的开始... 文章目录 ...

  6. 蓝绿发布、滚动发布、灰度发布,有什么区别?这下明白了

    欢迎关注方志朋的博客,回复"666"获面试宝典 在项目迭代的过程中,不可避免需要"上线".上线对应着部署,或者重新部署:部署对应着修改:修改则意味着风险.目前有 ...

  7. 蓝绿部署、金丝雀发布(灰度发布)、AB测试……

    点击关注公众号,Java干货及时送达 来源 | https://www.jianshu.com/p/0df88fe4a1e3 随着微服务架构的普及,线上服务越来越多,随之而来的就是部署越来越频繁:随着 ...

  8. Spring Cloud微服务版本灰度发布新神器

    项目地址:https://github.com/Nepxion/Discovery 强烈建议stra.fork该项目,该项目可以作为学习改造Spring Cloud组件的案例项目. Nepxion D ...

  9. 互联网产品发布之灰度发布

    1. 为什么要灰度发布 互联网服务变动频繁,发布周期短.速度与质量总是难以双全. 灰度发布能降低发布风险,减少影响范围. 降低对测试的依赖,减少线下自测的数据构造成本. 方便集中监控日志,全量发布由于 ...

最新文章

  1. hive 数据存储格式详解
  2. html5 canvas获取坐标系,HTML5 Canvas坐标变换
  3. Qt程序窗口关闭不退出而最小化到托盘的方法
  4. jmail组件 java_Jmail的主要参数列表
  5. Opencv透视变换——cv::getPerspectiveTransform()与cv::warpPerspective()详解
  6. Bootstrap表格样式
  7. 事务控制 新增后修改_分布式事务科普(初识篇)
  8. 新潮传媒“小趋势”背后的巨变之力
  9. Jaca 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
  10. KETTLE:通过代码运行本地ktr文件
  11. 基于android的校友帮平台系统
  12. JavaMailSenderImpl 使用465端口配置
  13. Matlab添加包libsvm svmtrain已被删除。 请改用fitcsvm。
  14. HDU 4069 Squiggly Sudoku(DLX)(The 36th ACM/ICPC Asia Regional Fuzhou Site —— Online Contest)...
  15. 更新npm和node
  16. 从企业钉钉的接口获取数据
  17. Linux的bind服务
  18. 搭建CA认证中心及搭建https实战
  19. 照书写轮子——图的五种常见接口的实现(DFS、BFS、最小生成树问题、最短路径问题、关键路径问题)
  20. 按键弹起、按下的事件

热门文章

  1. 做DNS子域委派配置
  2. 学习STP的一些总结
  3. 关于this和base
  4. 如何对memcache的数据(key-value)进行遍历操作
  5. WCF学习之旅—WCF概述(四)
  6. 招聘启事的正确阅读方式您知多少?
  7. 【SICP归纳】6 副作用与环境模型
  8. ios8改变statusBar字体的显示颜色
  9. PDF 补丁丁 0.4.1.688 测试版发布(请务必用其替换 682 测试版)
  10. CSS学习笔记--CSS语法与选择器