服务发布方法、装置、设备、存储介质及产品制造方法及图纸

技术编号:39188195 阅读:9 留言:0更新日期:2023-10-27 08:35
本公开提供了服务发布方法、装置、设备、存储介质及产品,涉及计算机技术领域,尤其涉及信息流技术领域。具体实现方案为:从服务的待发布实例列表中确定目标实例;将新增访问流量导入所述目标实例之外的其他实例;响应于所述目标实例中的历史访问流量均响应完毕,发布所述目标实例的更新实例;响应于所述更新实例发布完成,重启所述服务。本公开的服务发布方法能够有效避免发布更新实例之前和发布过程中的目标实例中的流量损失,保证用户体验,同时保证更新实例平稳发布,提高发布效率。提高发布效率。提高发布效率。

【技术实现步骤摘要】
服务发布方法、装置、设备、存储介质及产品


[0001]本公开涉及计算机
,具体为信息流
,尤其涉及服务发布方法、装置、设备、存储介质及产品。

技术介绍

[0002]随着互联网的快速发展,服务发布的频率和复杂度逐渐增加,如何保障服务的稳定性、可靠性和安全性成为越来越重要的问题。金丝雀发布和红蓝发布是两种常用的服务发布方式,但是这两种方式在发布过程中都可不避免会造成流量损失。

技术实现思路

[0003]本公开提供了一种服务发布方法、装置、设备、存储介质及产品,保证服务发布过程中的用户体验,避免因服务发布而导致的流量损失。
[0004]根据本公开的第一方面,提供了一种服务发布方法,包括:
[0005]从服务的待发布实例列表中确定目标实例;
[0006]将新增访问流量导入目标实例之外的其他实例;
[0007]响应于目标实例中的历史访问流量均响应完毕,发布目标实例的更新实例;
[0008]响应于更新实例发布完成,重启服务。
[0009]根据本公开的第二方面,提供了一种服务发布装置,包括:
[0010]确定模块,被配置为从服务的待发布实例列表中确定目标实例;
[0011]导流模块,被配置为将新增访问流量导入目标实例之外的其他实例;
[0012]发布模块,被配置为响应于目标实例中的历史访问流量均响应完毕,发布目标实例的更新实例;
[0013]重启模块,被配置为响应于更新实例发布完成,重启服务。
[0014]根据本公开的第三方面,提供了一种电子设备,包括:
[0015]至少一个处理器;以及
[0016]与至少一个处理器通信连接的存储器;其中,
[0017]存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面提供的方法。
[0018]根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面提供的方法。
[0019]根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据第一方面提供的方法。
[0020]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0021]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0022]图1示出了可以应用本公开的服务发布方法的示例性系统架构;
[0023]图2示出了根据本公开的服务发布方法的一种实施例的流程图;
[0024]图3示出了根据本公开的服务发布方法的另一种实施例的流程图;
[0025]图4示出了用来实现本公开的服务发布方法的一种场景示意图;
[0026]图5示出了根据本公开的服务发布装置的一种实施例的示意图;
[0027]图6示出了用来实现本公开实施例的服务发布方法的电子设备的框图。
具体实施方式
[0028]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0029]需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
[0030]随着互联网的快速发展,服务发布的频率和复杂度逐渐增加,如何保障服务的稳定性、可靠性和安全性成为越来越重要的问题。金丝雀发布和红蓝发布是两种常用的服务发布方式,但它们都存在一定的局限性。
[0031]金丝雀发布是指在生成环境中,将新版本的服务部署到一小部分用户身上,通过观察这些用户的响应来评估新版本服务的质量,但是金丝雀发布的评估结果并不能代表全部用户的响应,且无法实现服务的滚动升级。
[0032]红蓝发布是指将新版本的服务与旧版本的服务同时运行,通过比较它们的表现来评估新版本服务的质量。但是,红蓝发布需投入双倍的计算资源,且无法在短时间内完成服务的升级。
[0033]现有发布系统不提供统一网关来对服务流量进行控制,或者服务直接采用Nginx进行负载均衡,导致每个用户的访问请求均可能被分配至新发布的实例中,从而一个用户的不同请求会在不同实例的新旧版本之间反复横跳,出现无法预期的Bug。并且,因无法对一些特定的用户进行导流,会让一些外部用户的访问流量进入新版本测试中的实例中,而新版本的实例可能出现Bug而损伤用户体验,导致用户体验下降。
[0034]目前的相关技术中,在发布服务时完全不管被发布的服务当前是否有流量访问,以及当前服务在发布成功后何时能够导入流量,因不能控制流量的导入,发布过程中存在流量损失,无法实现无损发布。
[0035]本公开提供一种服务发布方法,对服务的实例发布前和发布过程中的流量进行导流控制,实现线上用户对服务的发布过程无感知,保证新老服务平滑替代,降低因服务发布对用户体验产生的不良影响,保证用户体验,实现服务发布期间流量无损失。
[0036]图1示出了可以应用本公开的服务发布方法或服务发布装置的实施例的示例性系统架构100。
[0037]如图1所示,系统架构100可以包括终端设备101、网络102和服务器103。其中,网络
102用以在终端设备101和服务器103之间提供通信链路,可以包括各种连接类型,例如,有线通信链路、无线通信链路或者光纤电缆等等。
[0038]用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送信息等。终端设备101上可以安装有各种客户端应用。
[0039]终端设备101可以是硬件,也可以是软件。当终端设备101为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101为软件时,可以安装在上述电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
[0040]服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
[0041]本公开实施例所提供的服务发布方法一般由服务器103执行,相应地,服务发布装置一般设置于服务器103中。
[0042]需要说明的是,图1中的终端设备101、网络102和服务器103的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备101、网络102和服务器103。
[0043本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务发布方法,包括:从服务的待发布实例列表中确定目标实例;将新增访问流量导入所述目标实例之外的其他实例;响应于所述目标实例中的历史访问流量均响应完毕,发布所述目标实例的更新实例;响应于所述更新实例发布完成,重启所述服务。2.根据权利要求1所述的方法,其中,所述将新增访问流量导入所述目标实例之外的其他实例,包括:获取所述服务的实例地址列表;根据所述实例地址列表,将所述新增访问流量导入所述目标实例之外的其他实例。3.根据权利要求1所述的方法,其中,所述响应于所述更新实例发布完成,重启所述服务,包括:响应于所述更新实例发布完成,向所述更新实例导入测试流量;确定所述更新实例的测试结果;根据所述测试结果,重启所述服务。4.根据权利要求3所述的方法,其中,所述向所述更新实例导入测试流量,包括:获取所述服务的测试流量列表;按照所述测试流量列表向所述更新实例导入测试流量。5.根据权利要求3所述的方法,其中,所述确定所述更新实例的测试结果包括:响应于所述更新实例在预设条件下运行正常,确定所述更新实例发布成功;响应于所述更新实例在预设条件下运行异常,回滚所述更新实例,确定所述更新实例发布失败。6.根据权利要求1

5任一项所述的方法,其中,所述重启所述服务,包括:停止向所述服务导入新增访问流量;响应于所述服务的历史访问流量均响应完毕,重启所述服务。7.一种服务发布装置,包括:确定模块,被配置为从服务的待发布实例列表中确定目标实例;导流模块,被配置为将新增访问流量导入所述目标实例之外的其他实例;发布模块,被配置为响应于所述目标实例中的历史访问流量均响应完毕,发布所述目标实例的更新实例;重启模块,被配置为响应于所述更新实例发布完成,重启所述服务。8.根据权利要...

【专利技术属性】
技术研发人员:刘密
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1