本公开的实施方式涉及云原生,更具体地,本公开的实施方式涉及一种流量处理方法、分布式微服务通信系统、介质及计算设备。
背景技术:
1、本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、在微服务架构中,服务网格(service mesh)是一种用于管理和控制分布式系统中微服务通信的基础设施层,它可以提供流量控制、负载均衡、服务发现等功能,提高微服务架构的性能、可靠性和安全性。
3、目前主流的服务网格例如istio、linkerd和aws app mesh等,均使用sidecar模式部署服务网格。在sidecar模式下的服务网格,每个应用容器旁都会部署一个伴生容器,这个容器称之为sidecar容器,应用容器承载着每个微服务的业务逻辑,sidecar容器可以用于实现非业务逻辑的其他辅助功能,例如流量控制、负载均衡和服务发现等。
4、sidecar容器可以对流入应用容器的流量(inbound)进行限流和认证鉴权安全相关的处理,可以对流出应用容器的流量(outbound)进行路由、负载均衡、版本分流等处理。但对于未接入服务网格的应用容器,其流量数据会随机分发给不同的对应有sidecar容器的应用容器,无法交由指定的应用容器处理。
技术实现思路
1、有鉴于此,本公开提供一种流量处理方法、分布式微服务通信系统、介质及计算设备,以解决相关技术中的不足。
2、在本公开实施方式的第一方面中,提供了一种流量处理方法,应用于服务网格,所述服务网格提供多个sidecar容器,一个sidecar容器对应一个应用容器,所述方法包括:
3、监测入口流量数据;
4、在确定所述入口流量数据是由未对应有sidecar容器的应用容器发送的情况下,确定所述入口流量数据中携带指定字段时,将所述入口流量数据根据所述指定字段进行转发;确定所述入口流量数据中未携带指定字段时,对所述入口流量数据进行处理。
5、可选的,监测入口流量数据后还包括:
6、在确定所述入口流量数据已经被转发过,且所述指定字段表征所述入口流量数据需转发给当前应用容器的情况下,对所述入口流量数据进行处理。
7、可选的,监测入口流量数据后还包括:
8、基于所述入口流量数据中是否携带有指定标识,确定所述入口流量数据是否由未对应有sidecar容器的应用容器发送。
9、可选的,确定所述入口流量数据是由未对应有sidecar容器的应用容器发送的情况下,所述方法还包括:
10、在所述入口流量数据中添加所述指定标识,以根据所述指定标识确定所述入口流量数据已经被转发过。
11、在本公开实施方式的第二方面中,提供了一种分布式微服务通信系统,包括若干未对应有sidecar容器的第一应用容器和若干对应有sidecar容器的第二应用容器;
12、所述第一应用容器用于向所述第二应用容器发送流量数据;
13、任一所述第二应用容器用于向另一所述第二应用容器发送流量数据,以及监测入口流量数据,还用于在确定所述入口流量数据是由第一应用容器发送的情况下,确定所述入口流量数据中携带指定字段时,将所述入口流量数据根据所述指定字段进行转发;确定所述入口流量数据中未携带指定字段时,对所述入口流量数据进行处理。
14、可选的,任一所述第二应用容器还用于在确定所述入口流量数据已经被转发过,且所述指定字段表征所述入口流量数据需转发到当前应用容器的情况下,对所述入口流量数据进行处理。
15、可选的,任一所述第二应用容器还用于基于所述入口流量数据中是否携带有指定标识,确定所述入口流量数据是否由所述第一应用容器发送。
16、可选的,确定所述入口流量数据是由所述第一应用容器发送的情况下,任一所述第二应用容器还用于在所述入口流量数据中添加所述指定标识,以根据所述指定标识确定所述入口流量数据已经被转发过。
17、在本公开实施方式的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法。
18、在本公开实施方式的第四方面中,提供了一种计算设备,包括:
19、处理器;
20、用于存储处理器可执行程序的存储器;
21、其中,所述处理器通过运行所述可执行程序以实现如上述第一方面所述的方法。
22、根据本公开实施方式,通过在监测到未对应有sidecar容器的应用容器发送的入口流量数据的情况下,判断入口流量数据中是否携带指定字段,根据判断结果确定转发或者处理该入口流量数据,从而使sidecar容器可以对流入应用容器的流量进行路由处理,将未接入服务网格的应用容器所发送的流量数据交由指定的应用容器处理。
1.一种流量处理方法,其特征在于,应用于服务网格,所述服务网格提供多个sidecar容器,一个sidecar容器对应一个应用容器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,监测入口流量数据后还包括:
3.根据权利要求2所述的方法,其特征在于,监测入口流量数据后还包括:
4.根据权利要求3所述的方法,其特征在于,确定所述入口流量数据是由未对应有sidecar容器的应用容器发送的情况下,所述方法还包括:
5.一种分布式微服务通信系统,其特征在于,包括若干未对应有sidecar容器的第一应用容器和若干对应有sidecar容器的第二应用容器;
6.根据权利要求5所述的系统,其特征在于,任一所述第二应用容器还用于在确定所述入口流量数据已经被转发过,且所述指定字段表征所述入口流量数据需转发到当前应用容器的情况下,对所述入口流量数据进行处理。
7.根据权利要求6所述的系统,其特征在于,任一所述第二应用容器还用于基于所述入口流量数据中是否携带有指定标识,确定所述入口流量数据是否由所述第一应用容器发送。
8.根据权利要求7所述的系统,其特征在于,确定所述入口流量数据是由所述第一应用容器发送的情况下,任一所述第二应用容器还用于在所述入口流量数据中添加所述指定标识,以根据所述指定标识确定所述入口流量数据已经被转发过。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述的方法。
10.一种计算设备,其特征在于,包括: