本说明书一个或多个实施例涉及互联网应用领域,尤其涉及一种站点间流量切流的方法及装置。
背景技术:
1、在互联网领域,互联网服务往往由多个互联网应用组成,这些应用共享一套基础设施,运行在同样的运行环境中。这种传统的应用架构稳定性差,抗风险能力低。针对上述问题的一种解决方法是,根据不同的标准,如互联网属性,金融属性等,将多个应用划分成为多个独立的站点,对不同的业务线的应用进行逻辑或物理上的隔离。
2、在将应用向新站点迁移的过程中,需要将应用承载的流量进行切流,将应用在老站点上承载的流量逐步切换到新站点上承载。由于老站点的多个应用之间可能会存在着复杂的调用关系,形成近似网状的调用链路,为应用切流带来了很大难度。
技术实现思路
1、本说明书一个或多个实施例描述了一种站点间流量切流的方法及装置,通过将多个应用互相调用的复杂切流场景解耦和拆分成为单应用的切流场景,实现更加平滑的应用切流过程。
2、第一方面,提供了一种站点间流量切流方法,包括:
3、确定第一站点中处于切流准备状态的目标应用,所述目标应用在第二站点具有尚未启动的镜像应用;
4、对于所述目标应用的下游应用列表中的各个第一应用,根据其所处的切流状态,配置所述镜像应用到该第一应用的寻址方式,使得从所述镜像应用发出的流量流向所述第一应用;
5、启动所述镜像应用,进入切流中状态;在所述切流中状态,对于所述目标应用的上游应用列表中的各个第二应用,根据其所处的切流状态,在第一站点和第二站点的网关配置跨域规则,并配置第二应用的引流规则,使得从所述第二应用发出的流量流向所述镜像应用;
6、在所述目标应用的流量低至预设条件的情况下,关闭所述目标应用,进入切流完成状态。
7、在一种可能的实施方式中,所述第一应用的切流状态为切流准备状态;根据其所处的切流状态,配置所述镜像应用到该第一应用的寻址方式,包括:
8、在位于第一站点的第一网关和第二站点的第二网关上配置第一跨域规则,使得从所述镜像应用发出的流量能够从第二站点流入第一站点;
9、配置第一引流规则,引导从所述镜像应用发出的流量寻址到所述第一应用。
10、在一种可能的实施方式中,所述流量包括rpc流量;所述第一跨域规则中包含所述第一应用的多个接口的第一地址信息;所述方法还包括:
11、向所述第二网关发送第一控制信息,使其将所述第一地址信息发布到软负载中心;
12、向所述第一网关发送第二控制信息,使其从所述软负载中心订阅所述第一地址信息。
13、在一种可能的实施方式中,所述流量包括消息流量;配置第一引流规则,包括:
14、在位于第二站点的第二传输应用创建第一复制任务,使得第二传输应用将位于第二站点的第二消息中心中的第一消息流量复制到位于第一站点的第一消息中心,其中,所述第一消息流量是由所述镜像应用发布到所述第二消息中心的,并且所述第一应用已配置为从所述第一消息中心中订阅消息流量。
15、在一种可能的实施方式中,所述第二应用的切流状态为切流准备状态;在第一站点和第二站点的网关配置跨域规则,配置第二应用的引流规则,包括:
16、在位于第一站点的第一网关和第二站点的第二网关上配置第二跨域规则,使得从所述第二应用发出的流量能够从第一站点流入第二站点;
17、配置第二引流规则,引导从所述第二应用发出的流量流向所述镜像应用。
18、在一种可能的实施方式中,所述流量包括rpc流量;所述第二跨域规则中包含所述镜像应用的多个接口的第二地址信息;所述方法还包括:
19、向所述第一网关发送第三控制信息,使其将所述第二地址信息发布到软负载中心;
20、向所述第二网关发送第四控制信息,使其从所述软负载中心订阅所述第二地址信息。
21、在一种可能的实施方式中,所述流量包括消息流量;所述配置第二引流规则,引导从所述第二应用发出的流量流向所述镜像应用,包括:
22、在位于第一站点的第一传输应用创建第二复制任务,使得第一传输应用将位于第一站点的第一消息中心中的第二消息流量复制到位于第二站点的第二消息中心,其中,所述第二消息流量是由所述第二应用发布到所述第一消息中心的,并且所述镜像应用已配置为从所述第二消息中心中订阅消息流量。
23、在一种可能的实施方式中,所述第二应用的切流状态为正在向位于第二站点的第二镜像应用切流的切流中状态;在第一站点和第二站点的网关配置跨域规则,配置第二应用的引流规则,包括:
24、配置第三引流规则,引导从所述第二镜像应用发出的流量流向所述镜像应用;
25、在位于第一站点的第一网关和第二站点的第二网关上配置第三跨域规则,使得从所述第二应用发出的流量能够从第一站点流入第二站点;
26、配置第四引流规则,引导从所述第二应用发出的流量流向所述镜像应用。
27、在一种可能的实施方式中,在第一站点和第二站点的网关配置跨域规则,还包括:
28、删除在所述第一网关和第二网关上预先配置的第四跨域规则,使得从所述第二镜像应用发出的流量不再能够从第二站点流入第一站点。
29、在一种可能的实施方式中,所述流量包括rpc流量;所述第三跨域规则中包含所述镜像应用的多个接口的第三地址信息;所述方法还包括:
30、向所述第一网关发送第五控制信息,使其将所述第三地址信息发布到软负载中心;
31、向所述第二网关发送第六控制信息,使其从所述软负载中心订阅所述第三地址信息。
32、在一种可能的实施方式中,所述流量包括消息流量,所述第二镜像应用发出的消息流量由位于第二站点的第二消息中心接收;
33、所述配置第三引流规则,引导从所述第二镜像应用发出的流量流向所述镜像应用,包括:
34、配置所述镜像应用从所述第二消息中心中订阅所述第二镜像应用发出的消息流量;
35、所述配置第四引流规则,引导从所述第二应用发出的流量流向所述镜像应用,包括:
36、在位于第一站点的第一传输应用创建第三复制任务,使得第一传输应用将位于第一站点的第一消息中心中的第三消息流量复制到位于第二站点的第二消息中心,其中,所述第三消息流量是由所述第二应用发布到所述第一消息中心的,并且所述镜像应用已配置为从所述第二消息中心中订阅消息流量。
37、在一种可能的实施方式中,所述第二应用的切流状态为切流完成状态;配置第二应用的引流规则,包括:
38、配置第五引流规则,引导从所述第二应用发出的流量流向所述镜像应用。
39、在一种可能的实施方式中,在第一站点和第二站点的网关配置跨域规则,还包括:
40、删除在位于第一站点的第一网关和第二站点的第二网关上预先配置的第五跨域规则,使得从所述第二应用发出的流量不再能够从第二站点流入第一站点。
41、在一种可能的实施方式中,所述流量包括消息流量,所述第二应用发出的消息流量由位于第二站点的第二消息中心接收;所述配置第五引流规则,引导从所述第二应用发出的流量流向所述镜像应用,包括:
42、配置所述镜像应用从所述第二消息中心订阅所述第二应用发出的消息流量。
43、第二方面,提供了一种站点间流量切流装置,包括:
44、确定单元,配置为,确定第一站点中处于切流准备状态的目标应用,所述目标应用在第二站点具有尚未启动的镜像应用;
45、第一配置单元,配置为,对于所述目标应用的下游应用列表中的各个第一应用,根据其所处的切流状态,配置所述镜像应用到该第一应用的寻址方式,使得从所述镜像应用发出的流量流向所述第一应用;
46、第二配置单元,配置为,启动所述镜像应用,进入切流中状态;在所述切流中状态,对于所述目标应用的上游应用列表中的各个第二应用,根据其所处的切流状态,在第一站点和第二站点的网关配置跨域规则,并配置第二应用的引流规则,使得从所述第二应用发出的流量流向所述镜像应用;
47、状态切换单元,配置为,在所述目标应用的流量低至预设条件的情况下,关闭所述目标应用,进入切流完成状态。
48、第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
49、第四方面,提供了一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
50、本说明书实施例提出的一种站点间流量切流的方法及装置,通过将多个应用互相调用的复杂切流场景解耦和拆分成为单应用的切流场景,可以不受时间、人员的限制,随时对某一个应用进行站点迁移,节省人员与资源成本,实现更加平滑的应用切流过程。