本發明涉及數據領域,尤其涉及一種數據路由方法、裝置、電子設備和存儲介質。
背景技術:
1、kubernetes(簡稱k8s)是一個開源的容器編排系統,主要管理對象包含集群中的節點node、應用pod和服務service等。微服務在現代軟件架構中是越來越普遍的選擇,而使用k8s集群來運維微服務是一個大趨勢。
2、現有技術中利用修改虛擬服務和目標規則的配置來實現路由控制與流量治理,其根據請求中攜帶的pod信息匹配目標規則中的路由規則,根據路由規則轉發請求至相應的pod,其不足在于,若請求未包含pod信息,則無法匹配到對應路由規則,導致路由異常,無法實現路由的準確控制。
技術實現思路
1、為了解決現有技術中的至少一個技術問題,本公開提供了一種數據路由方法、裝置、電子設備和存儲介質。
2、根據本公開的第一方面,提供了一種數據路由方法,應用于客戶端,所述方法包括:
3、向kubernetes集群發送第一請求;
4、接收所述kubernetes集群發送的請求響應,所述請求響應攜帶目標pod的pod信息,其中,所述目標pod為所述kubernetes集群在無法匹配到所述第一請求的路由規則之后,根據預設規則確定的處理所述第一請求的pod;
5、向kubernetes集群發送第二請求,所述第二請求為所述第一請求的后續連續請求,所述第二請求攜帶所述目標pod的pod信息。
6、可選的,所述pod信息包括pod名稱,所述第二請求在請求頭信息中攜帶所述pod名稱。
7、可選的,所述預設規則包括隨機確定pod,或,所述預設規則包括根據負載均衡方法確定pod。
8、根據本公開的第二方面,提供了一種數據路由方法,應用于kubernetes集群,所述方法包括:
9、接收客戶端發送的第一請求;
10、在無法匹配到所述第一請求的路由規則之后,根據預設規則確定處理所述第一請求的目標pod;
11、向所述客戶端發送請求響應,所述請求響應攜帶所述目標pod的pod信息;
12、接收第二請求,所述第二請求為所述第一請求的后續連續請求,所述第二請求攜帶所述目標pod的pod信息;
13、根據所述第二請求攜帶的所述pod信息,匹配路由規則并轉發所述第二請求至所述目標pod。
14、可選的,所述方法包括:
15、在判斷所述第一請求為連續請求的第一個請求時,執行向所述客戶端發送請求響應的步驟。
16、可選的,所述pod信息包括pod名稱,所述第二請求在請求頭信息中攜帶所述pod名稱;
17、所述根據所述第二請求攜帶的所述pod信息,匹配路由規則并轉發所述第二請求至所述目標pod,包括:
18、根據所述第二請求的請求頭信息中所包含的所述pod名稱,確定所述目標pod,轉發所述第二請求至所述目標pod。
19、可選的,所述根據預設規則確定處理所述第一請求的目標pod,包括:
20、隨機確定處理所述第一請求的目標pod;
21、或,
22、所述根據預設規則確定處理所述第一請求的目標pod,包括:
23、根據負載均衡方法確定處理所述第一請求的目標pod。
24、根據本公開的第三方面,提供了一種數據路由裝置,應用于客戶端,所述裝置包括:
25、第一請求發送模塊,用于向kubernetes集群發送第一請求;
26、響應接收模塊,用于接收所述kubernetes集群發送的請求響應,所述請求響應攜帶目標pod的pod信息,其中,所述目標pod為所述kubernetes集群在無法匹配到所述第一請求的路由規則之后,根據預設規則確定的處理所述第一請求的pod;
27、第二請求發送模塊,用于向kubernetes集群發送第二請求,所述第二請求為所述第一請求的后續連續請求,所述第二請求攜帶所述目標pod的pod信息。
28、根據本公開的第四方面,提供了一種數據路由裝置,應用于kubernetes集群,所述裝置包括:
29、第一請求接收模塊,用于接收客戶端發送的第一請求;
30、確定模塊,用于在無法匹配到所述第一請求的路由規則之后,根據預設規則確定處理所述第一請求的目標pod;
31、響應發送模塊,用于向所述客戶端發送請求響應,所述請求響應攜帶所述目標pod的pod信息;
32、第二請求接收模塊,用于接收客戶端發送的第二請求,所述第二請求攜帶所述目標pod的pod信息;
33、請求轉發模塊,用于根據所述第二請求攜帶的所述pod信息,匹配路由規則并轉發所述第二請求至所述目標pod。
34、根據本公開的第五方面,提供了一種電子設備,包括:
35、處理器;以及
36、存儲程序的存儲器,
37、其中,所述程序包括指令,所述指令在由所述處理器執行時使所述處理器執行根據上述任一項所述的方法。
38、根據本公開的第六方面,提供了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,所述計算機指令用于使計算機執行根據上述任一項所述的方法。
39、本申請實施例中提供的一個或多個技術方案,使kubernetes集群在無法匹配請求的路由規則的情況下,可以將連續請求的各個請求轉發至同一pod,使得連續請求始終由同一個pod完成處理,實現路由的準確控制。
1.一種數據路由方法,其特征在于,應用于客戶端,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述pod信息包括pod名稱,所述第二請求在請求頭信息中攜帶所述pod名稱。
3.根據權利要求1所述的方法,其特征在于,所述預設規則包括隨機確定pod,或,所述預設規則包括根據負載均衡方法確定pod。
4.一種數據路由方法,其特征在于,應用于kubernetes集群,所述方法包括:
5.根據權利要求4所述的方法,其特征在于,所述方法包括:
6.根據權利要求4所述的方法,其特征在于,所述pod信息包括pod名稱,所述第二請求在請求頭信息中攜帶所述pod名稱;
7.根據權利要求4所述的方法,其特征在于,所述根據預設規則確定處理所述第一請求的目標pod,包括:
8.一種數據路由裝置,其特征在于,應用于客戶端,所述裝置包括:
9.一種數據路由裝置,其特征在于,應用于kubernetes集群,所述裝置包括:
10.一種電子設備,其特征在于,包括:
11.一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其特征在于,所述計算機指令用于使計算機執行根據權利要求1-7中任一項所述的方法。