一种基于API网关的灰度发布实现方法及装置与流程

文档序号:37236602发布日期:2024-03-06 16:57阅读:11来源:国知局
一种基于API网关的灰度发布实现方法及装置与流程

本发明涉及通信领域,尤其是一种基于api网关的灰度发布实现方法及装置。


背景技术:

1、在数据业务化时代,数据作为生产要素,因流动而产生价值,承载着企业敏感数据和业务逻辑的api也进入了高速扩展时期。同时,随着微服务的改造和数据化进展的加速,api版本变更越来越快,服务的迭代速度也越来越快。为了满足不断变化的市场需求和技术趋势,api需要不断进行更新和优化,以确保其能够满足不断变化的应用场景和需求。api网关作为api的统一入口,需要支持服务的快速发布,将新版本服务逐步引入到生产环境中。

2、现有api网关中服务的发布比较简单,存在以下问题:

3、1、部分api网关不支持服务的灰度发布,只能是用传统的全量发布,没有提前在部分用户中验证新版本的稳定性和可用性,增加了发布失败的风险;

4、2、部分api网关虽然支持服务的灰度发布,但是仅支持按内容灰度和按比例灰度,不支持按签名灰度。同时现有api网关不支持根据回滚条件自动进行回滚,也不支持切换到服务的已发布历史版本。


技术实现思路

1、为解决现有技术存在的问题,本发明提供一种基于api网关的灰度发布实现方法及装置,择灰度发布的服务,并配置灰度发布的任务,融合多种灰度发布策略,提高了对灰度发布的可控性以及兼容性。

2、为实现上述目的,本发明采用下述技术方案:

3、在本发明一实施例中,提出了一种基于api网关的灰度发布实现方法,该方法包括:

4、s01、选择灰度发布的服务,并配置灰度发布的任务;

5、进一步地,所述s01包括:

6、s011、选择需要灰度发布的服务,然后新增灰度发布任务;

7、s012、对灰度发布的任务进行配置;

8、进一步地,所述灰度发布任务包括:任务名称、发布时间、任务描述、灰度发布策略、回滚方式以及回滚条件;

9、进一步地,所述灰度发布策略包括:按比例灰度、按内容灰度和按签名灰度;

10、所述按比例灰度:将流量按照流量比例流向不同版本的服务;

11、所述按内容灰度:根据请求的内容作为匹配条件,控制流量流向的服务版本;

12、所述按签名灰度:使用流量中的签名作为匹配条件,适用于不同用户的灰度发布。

13、例如新版本上线前,需要测试人员在线上进行测试,可以配置按签名灰度将测试人员的请求引流到新版本。

14、进一步地,所述回滚方式包括:人工干预和自动回滚;

15、所述人工干预:在灰度发布过程中,运维团队实时监控系统流量,并根据实际情况决定是否回滚;

16、所述自动回滚:api网关根据回滚条件,自动回滚到上个版本;

17、进一步地,所述回滚条件包括:错误率、响应时间,可以针对所述指标自定义阈值,超过阈值可以触发自动回滚;

18、s013、配置灰度发布计划,并选择发布计划对应的后端环境和版本;

19、进一步地,所述发布计划包括立即发布和定时发布;

20、进一步地,所述后端环境包括测试环境、预发布环境和线上环境;

21、进一步地,所述版本为:灰度发布的服务版本,新发布的服务版本要比当前运行的版本新;

22、s02、由api网关的控制面进行发布策略的更新,同时监控灰度发布的发布状态;

23、进一步地,所述s02包括:

24、s021、灰度发布开始发布之后,灰度发布状态变成发布中,api网关的控制面可以对发布策略进行更新;

25、进一步地,灰度发布任务的创建包括但不限于一个,灰度发布任务只能有一个状态为发布中;

26、具体实施时,如果本次发布使用按比例发布,初始发布时配置20%的流量进行新版本,80%的流量进入老版本,发布过程中确认新版本运行正常,可以逐步提高新版本的流量比例;

27、s022、api网关的控制面监控灰度的发布状态;

28、进一步地,所述api网关控制面实时监控服务的新老版本运行情况,包括请求时延、上下游流量、错误数、请求rps;

29、s03、api网关根据发布任务的流量监控结果,确认灰度发布是否成功;

30、进一步地,所述s03包括:

31、s031、灰度发布过程中,如果实时监控结果有异常,可以对已发布的版本进行回滚操作;

32、进一步地,所述s031包括:

33、s0311、针对人工干预的回滚方式,点击版本下线,api网关会对服务进行回滚;

34、s0312、针对自动回滚的回滚方式,api网关根据回滚条件自动触发回滚;

35、s0313、回滚之后,服务会恢复到发布前的版本,发布任务的状态变为待发布。

36、s032、灰度发布过程中,如果实时监控结果正常,点击灰度版本的接管所有流量,此时灰度发布的节点配置会覆盖服务节点的配置,任务状态变更为已发布;

37、进一步地,灰度发布成功后,已发布的版本不可更改;

38、进一步地,已发布的版本不会展示在发布任务列表中,只在发布历史中展示;

39、s04、灰度发布成功后,api网关将老版本的服务存到发布历史记录中,可以切换到发布历史中的其他版本。

40、进一步地,只能查看和切换历史版本,不可以更改历史版本的配置;

41、进一步地,可以指定后端环境,然后选定某个版本然后操作切换到此版本,该操作会使该版本直接替换之前的版本,实时生效。

42、在本发明一实施例中,还提出了一种基于api网关的灰度发布实现装置,该装置包括:

43、灰度发布配置模块、选择灰度发布的服务,并配置灰度发布的任务;

44、发布策略更新模块、由api网关的控制面进行发布策略的更新,同时监控灰度发布的发布状态;

45、发布结果确认模块、api网关根据发布任务的流量监控结果,确认灰度发布是否成功;

46、存储切换模块、灰度发布成功后,api网关将老版本的服务存到发布历史记录中,可以切换到发布历史中的其他版本。

47、在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于api网关的灰度发布实现方法。

48、在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行基于api网关的灰度发布实现方法的计算机程序。

49、有益效果:

50、本发明一种基于api网关的灰度发布实现方法及装置,通过灰度发布的服务,由api网关的控制面进行发布计划的更新,同时监控灰度的发布状态,可以融合多种灰度发布策略,提高了对灰度发布的可控性以及兼容性。



技术特征:

1.一种基于api网关的灰度发布实现方法,其特征在于,该方法包括:

2.根据权利要求1所述的基于api网关的灰度发布实现方法,其特征在于,所述s01包括:

3.根据权利要求2所述的基于api网关的灰度发布实现方法,其特征在于,所述灰度发布任务包括:任务名称、发布时间、任务描述、灰度发布策略、回滚方式以及回滚条件。

4.根据权利要求3所述的基于api网关的灰度发布实现方法,其特征在于,所述灰度发布策略包括:按比例灰度、按内容灰度和按签名灰度;

5.根据权利要求3所述的基于api网关的灰度发布实现方法,其特征在于,所述回滚方式包括:人工干预和自动回滚;

6.根据权利要求3所述的基于api网关的灰度发布实现方法,其特征在于,所述回滚条件包括:错误率、响应时间。

7.根据权利要求2所述的基于api网关的灰度发布实现方法,其特征在于,所述发布计划包括立即发布和定时发布;

8.根据权利要求1所述的基于api网关的灰度发布实现方法,其特征在于,所述s02包括:

9.根据权利要求8所述的基于api网关的灰度发布实现方法,其特征在于,灰度发布任务的创建包括但不限于一个,灰度发布任务只能有一个状态为发布中。

10.根据权利要求8所述的基于api网关的灰度发布实现方法,其特征在于,所述api网关控制面实时监控服务的新老版本运行情况,包括请求时延、上下游流量、错误数、请求rps。

11.根据权利要求1所述的基于api网关的灰度发布实现方法,其特征在于,所述s03包括:

12.根据权利要求11所述的基于api网关的灰度发布实现方法,其特征在于,所述s031包括:

13.根据权利要求11所述的基于api网关的灰度发布实现方法,其特征在于,所述灰度发布成功后,已发布的版本不可更改。

14.一种基于api网关的灰度发布实现装置,其特征在于,该装置包括:

15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-13任一项所述方法。

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-13任一项所述方法的计算机程序。


技术总结
本发明公开一种基于API网关的灰度发布实现方法及装置,其中方法包括:S01、选择灰度发布的服务,并配置灰度发布的任务;S02、由API网关的控制面进行发布策略的更新,同时监控灰度发布的发布状态;S03、API网关根据发布任务的流量监控结果,确认灰度发布是否成功;S04、灰度发布成功后,API网关将老版本的服务存到发布历史记录中,可以切换到发布历史中的其他版本。本发明一种基于API网关的灰度发布实现方法及装置,通过择灰度发布的服务,并配置灰度发布的任务,融合多种灰度发布策略,提高了对灰度发布的可控性以及兼容性。

技术研发人员:宋飞虎
受保护的技术使用者:中盈优创资讯科技有限公司
技术研发日:
技术公布日:2024/3/5
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1