CN111541765A - 一种用于多级路由调度的方法及系统 - Google Patents
一种用于多级路由调度的方法及系统 Download PDFInfo
- Publication number
- CN111541765A CN111541765A CN202010317442.4A CN202010317442A CN111541765A CN 111541765 A CN111541765 A CN 111541765A CN 202010317442 A CN202010317442 A CN 202010317442A CN 111541765 A CN111541765 A CN 111541765A
- Authority
- CN
- China
- Prior art keywords
- service
- service request
- cluster
- request
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于多级路由调度的方法及系统,属于网络应用技术领域。本发明方法,包括:对service进行监控,当监控到service的资源创建后,确定ipvs规则;对整合信息附加同集群的业务pod的标识信息生成注册信息,根据注册信息进行注册;根据请求报文和注册信息,获取发出业务请求的最短路由地址;当业务请求与最短路由地址的业务pod中的资源满足业务请求时,根据业务请求的最短路由地址下发业务请求所需的资源。本发明中确定出合适的路由地址,提升了网络访问效率,同时提升了有效的提升了业务的网络请求效率,减少了由于不合理的路由地址而导致的网络开销,同时为业务系统提供了多活容灾能力。
Description
技术领域
本发明涉及网络应用技术领域,具体涉及一种用于多级路由调度的方法及系统。
背景技术
在kubernetes中由Service和Ingress这两种资源策略来实现了服务的发现和路由,Service主要有三种代理模式,包括:userspace代理模式,iptables代理模式和ipvs代理模式;
目前主要使用ipvs代理模式,在这中模式下,kube-proxy会监视KubernetesService对象和Endpoint,调用netlink接口以相应的创建ipvs规则并定期与KubernetesService对象和Endpoints对象同步ipvs规则,以确保ipvs状态与期望的一致。访问服务时,流量将被重定向到其中一个后端Pod。此外,ipvs为负载均衡算法提供了更多的选项,例如:rr:轮训调度、lc:最小连接数、dh:目标哈希、sh:源哈希、sed:最短期望延迟和nq:不排队调度;
内部服务注册时,由kube-proxy组件监听apiserver在宿主机上创建ipvs规则,客户端发起访问时经由Service的Virtual Server(即ipvs规则)路由到随机的Real Server上;
在基于kubernetes与docker的业务应用容器化场景下,业务应用之间的调用路由日趋复杂。其中服务的调用路由涉及到了:
自身的路由调用、同宿主机下的路由调用、同集群下的路由调用和跨集群下的路由调用;
在这不同的调用模式下kubernetes自身的能力已经无法满足,Kubernetes自身服务路由策略只是简单的负载均衡,无法实现按照业务系统要求,将不同的服务请求按照不同的路由方式路由到指定的应用程序上,亦无法保证应用程序间相互访问的网络效率,亦无法做到多活容灾。
发明内容
针对上述问题,本发明提供了一种用于多级路由调度的方法,包括:
对service进行监控,当监控到service的资源创建后,确定ipvs规则;
根据定ipvs规则,获取service同集群的多个业务pod的ip和端口,以及pod宿主机的IP和端口,并对业务pod的ip和端口,以及pod宿主机的IP和端口以预设方式进行整合,生成整合信息,对整合信息附加同集群的业务pod的标识信息生成注册信息,根据注册信息进行注册;
接收业务请求,获取业务请求的请求报文,并调用多个业务pod的注册信息,根据请求报文和注册信息,获取发出业务请求的最短路由地址;
根据业务请求和最短路由地址,调用业务请求与最短路由地址的业务pod的资源,当业务请求与最短路由地址的业务pod中的资源满足业务请求时,根据业务请求的最短路由地址下发业务请求所需的资源。
可选的,方法还包括:
对整合信息附加跨集群的多个业务pod的标识信息,生成跨集群的多个业务pod的注册信息,根据注册信息进行注册;
当同集群的多个业务pod中的资源不能满足业务请求时,根据请求报文和跨集群的多个业务pod的注册信息,确定业务请求与跨集群的多个业务pod的最短路由地址,根据业务请求与跨集群的多个业务pod的最短路由地址调用业务请求所需的资源。
可选的,标识信息,包括:机房标识、租户标识和集群标识。
可选的,预设方式为ip:端口的整合方式。
可选的,方法,还包括:获取注册地址,注册信息根据注册地址进行注册。
本发明还提供了一种用于多级路由调度的系统,包括:
监控模块,对service进行监控,当监控到service的资源创建后,确定ipvs规则;
注册模块,根据定ipvs规则,获取service同集群的多个业务pod的ip和端口,以及pod宿主机的IP和端口,并对业务pod的ip和端口,以及pod宿主机的IP和端口以预设方式进行整合,生成整合信息,对整合信息附加同集群的业务pod的标识信息生成注册信息,根据注册信息进行注册;
计算模块,接收业务请求,获取业务请求的请求报文,并调用多个业务pod的注册信息,根据请求报文和注册信息,获取发出业务请求的最短路由地址;
资源调用模块,根据业务请求和最短路由地址,调用业务请求与最短路由地址的业务pod的资源,当业务请求与最短路由地址的业务pod中的资源满足业务请求时,根据业务请求的最短路由地址下发业务请求所需的资源。
可选的,计算模块还用于:
对整合信息附加跨集群的多个业务pod的标识信息,生成跨集群的多个业务pod的注册信息,根据注册信息进行注册;
当同集群的多个业务pod中的资源不能满足业务请求时,根据请求报文和跨集群的多个业务pod的注册信息,确定业务请求与跨集群的多个业务pod的最短路由地址,根据业务请求与跨集群的多个业务pod的最短路由地址调用业务请求所需的资源。
可选的,标识信息,包括:机房标识、租户标识和集群标识。
可选的,预设方式为ip:端口的整合方式。
可选的,注册模块还用于:获取注册地址,注册信息根据注册地址进行注册。
与现有技术相比,本发明的有益效果为:
本发明采用双IP注册方式将容器IP+端口和宿主机IP+端口注册到注册中心中,再通过外部硬负载与kubernetes的高效结合直接进入Pod,解决了业务应用通过不同的策略访问到指定的应用。
本发明中确定出合适的路由地址,提升了网络访问效率,同时提升了有效的提升了业务的网络请求效率,减少了由于不合理的路由地址而导致的网络开销,同时为业务系统提供了多活容灾能力。
附图说明
图1为本发明一种用于多级路由调度的方法流程图;
图2为本发明一种用于多级路由调度的方法实施例注册流程原理图;
图3为本发明一种用于多级路由调度的方法实施例业务应用流程原理图;
图4为本发明一种用于多级路由调度的系统结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种用于多级路由调度的方法,如图1所示,包括:
对service进行监控,当监控到service的资源创建后,确定ipvs规则;
根据定ipvs规则,获取service同集群的多个业务pod的ip和端口,以及pod宿主机的IP和端口,并对业务pod的ip和端口,以及pod宿主机的IP和端口以ip:端口的整合方式进行整合,生成整合信息,对整合信息附加同集群的业务pod的标识信息生成注册信息,获取注册地址,根据注册信息进行注册;
其中,标识信息,包括:机房标识、租户标识和集群标识。
接收业务请求,获取业务请求的请求报文,并调用多个业务pod的注册信息,根据请求报文和注册信息,获取发出业务请求的最短路由地址;
根据业务请求和最短路由地址,调用业务请求与最短路由地址的业务pod的资源,当业务请求与最短路由地址的业务pod中的资源满足业务请求时,根据业务请求的最短路由地址下发业务请求所需的资源。
对整合信息附加跨集群的多个业务pod的标识信息,生成跨集群的多个业务pod的注册信息,根据注册信息进行注册;
当同集群的多个业务pod中的资源不能满足业务请求时,根据请求报文和跨集群的多个业务pod的注册信息,确定业务请求与跨集群的多个业务pod的最短路由地址,根据业务请求与跨集群的多个业务pod的最短路由地址调用业务请求所需的资源。
下面结合实施例对本发明进行进一步的说明:
本实施例注册流程原理如图2所示,其中1、2和3使用kube-proxy组件监听到Service,在监听到service资源创建后,在宿主机上确定ipvs规则;
当ipvs顾泽确定后经4的业务Pod内的微服务客户端Client获取到Pod的IP和端口以及Pod所在宿主机的IP和端口,并将这两个IP和端口以“IP:端口”的形式同时加上附带的标识信息注册到注册中心;
在微服务客户端中通过读取配置文件和环境变量获取需要注册到注册中心的地址信息。
注册信息中的标识主要包括机房标识、租户标识、集群标识等。
应用流程原理如图3所示,当一个业务请求经由1和2请求到微服务网关后,微服务网关经由3去注册中心读取各服务注册到注册中心的信息;
微服务网关获取到注册信息后,基于请求报文和注册信息计算出实际的请求路由地址,并将请求路由地址存储至到实际的业务pod中调用资源;
4和5为经service跨集群访问路由,主要是当本集群的业务pod中没有所需要的服务资源,可以路由到另一个集群中;
同集群中的业务需要相互访问时,经由6从注册中心获取所有注册信息,经由微服务客户端Client从获取到的注册信息和路由信息,经由7计算真实路由地址,并调用资源。
本发明还提出了一种用于多级路由调度的系统200,如图4所示,包括:
监控模块201,对service进行监控,当监控到service的资源创建后,确定ipvs规则;
注册模块202,根据定ipvs规则,获取service同集群的多个业务pod的ip和端口,以及pod宿主机的IP和端口,并对业务pod的ip和端口,以及pod宿主机的IP和端口以ip:端口的整合方式进行整合,生成整合信息,对整合信息附加同集群的业务pod的标识信息生成注册信息,获取注册地址,根据注册信息进行注册;
其中,标识信息,包括:机房标识、租户标识和集群标识。
计算模块203,接收业务请求,获取业务请求的请求报文,并调用多个业务pod的注册信息,根据请求报文和注册信息,获取发出业务请求的最短路由地址;
对整合信息附加跨集群的多个业务pod的标识信息,生成跨集群的多个业务pod的注册信息,根据注册信息进行注册;
当同集群的多个业务pod中的资源不能满足业务请求时,根据请求报文和跨集群的多个业务pod的注册信息,确定业务请求与跨集群的多个业务pod的最短路由地址,根据业务请求与跨集群的多个业务pod的最短路由地址调用业务请求所需的资源;
资源调用模块204,根据业务请求和最短路由地址,调用业务请求与最短路由地址的业务pod的资源,当业务请求与最短路由地址的业务pod中的资源满足业务请求时,根据业务请求的最短路由地址下发业务请求所需的资源。
本发明采用双IP注册方式将容器IP+端口和宿主机IP+端口注册到注册中心中,再通过外部硬负载与kubernetes的高效结合直接进入Pod,解决了业务应用通过不同的策略访问到指定的应用。
本发明中确定出合适的路由地址,提升了网络访问效率,同时提升了有效的提升了业务的网络请求效率,减少了由于不合理的路由地址而导致的网络开销,同时为业务系统提供了多活容灾能力。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于多级路由调度的方法,所述方法包括:
对service进行监控,当监控到service的资源创建后,确定ipvs规则;
根据定ipvs规则,获取service同集群的多个业务pod的ip和端口,以及pod宿主机的IP和端口,并对业务pod的ip和端口,以及pod宿主机的IP和端口以预设方式进行整合,生成整合信息,对整合信息附加同集群的业务pod的标识信息生成注册信息,根据注册信息进行注册;
接收业务请求,获取业务请求的请求报文,并调用多个业务pod的注册信息,根据请求报文和注册信息,获取发出业务请求的最短路由地址;
根据业务请求和最短路由地址,调用业务请求与最短路由地址的业务pod的资源,当业务请求与最短路由地址的业务pod中的资源满足业务请求时,根据业务请求的最短路由地址下发业务请求所需的资源。
2.根据权利要求1所述的方法,所述方法还包括:
对整合信息附加跨集群的多个业务pod的标识信息,生成跨集群的多个业务pod的注册信息,根据注册信息进行注册;
当同集群的多个业务pod中的资源不能满足业务请求时,根据请求报文和跨集群的多个业务pod的注册信息,确定业务请求与跨集群的多个业务pod的最短路由地址,根据业务请求与跨集群的多个业务pod的最短路由地址调用业务请求所需的资源。
3.根据权利要求1所述的方法,所述标识信息,包括:机房标识、租户标识和集群标识。
4.根据权利要求1所述的方法,所述预设方式为ip:端口的整合方式。
5.根据权利要求1所述的方法,所述方法,还包括:获取注册地址,注册信息根据注册地址进行注册。
6.一种用于多级路由调度的系统,所述系统包括:
监控模块,对service进行监控,当监控到service的资源创建后,确定ipvs规则;
注册模块,根据定ipvs规则,获取service同集群的多个业务pod的ip和端口,以及pod宿主机的IP和端口,并对业务pod的ip和端口,以及pod宿主机的IP和端口以预设方式进行整合,生成整合信息,对整合信息附加同集群的业务pod的标识信息生成注册信息,根据注册信息进行注册;
计算模块,接收业务请求,获取业务请求的请求报文,并调用多个业务pod的注册信息,根据请求报文和注册信息,获取发出业务请求的最短路由地址;
资源调用模块,根据业务请求和最短路由地址,调用业务请求与最短路由地址的业务pod的资源,当业务请求与最短路由地址的业务pod中的资源满足业务请求时,根据业务请求的最短路由地址下发业务请求所需的资源。
7.根据权利要求6所述的系统,所述计算模块还用于:
对整合信息附加跨集群的多个业务pod的标识信息,生成跨集群的多个业务pod的注册信息,根据注册信息进行注册;
当同集群的多个业务pod中的资源不能满足业务请求时,根据请求报文和跨集群的多个业务pod的注册信息,确定业务请求与跨集群的多个业务pod的最短路由地址,根据业务请求与跨集群的多个业务pod的最短路由地址调用业务请求所需的资源。
8.根据权利要求6所述的系统,所述标识信息,包括:机房标识、租户标识和集群标识。
9.根据权利要求6所述的系统,所述预设方式为ip:端口的整合方式。
10.根据权利要求6所述的系统,所述注册模块还用于:获取注册地址,注册信息根据注册地址进行注册。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010317442.4A CN111541765B (zh) | 2020-04-21 | 2020-04-21 | 一种用于多级路由调度的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010317442.4A CN111541765B (zh) | 2020-04-21 | 2020-04-21 | 一种用于多级路由调度的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541765A true CN111541765A (zh) | 2020-08-14 |
CN111541765B CN111541765B (zh) | 2022-04-19 |
Family
ID=71975200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010317442.4A Active CN111541765B (zh) | 2020-04-21 | 2020-04-21 | 一种用于多级路由调度的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541765B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220484A (zh) * | 2021-05-11 | 2021-08-06 | 上海安畅网络科技股份有限公司 | 一种微服务调用方法、装置、电子设备及存储介质 |
CN114422492A (zh) * | 2022-01-17 | 2022-04-29 | 星环信息科技(上海)股份有限公司 | 一种请求转发方法、设备及存储介质 |
CN115277568A (zh) * | 2022-07-20 | 2022-11-01 | 重庆星环人工智能科技研究院有限公司 | 一种数据发送方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190342229A1 (en) * | 2017-11-27 | 2019-11-07 | Nutanix, Inc. | Multi-cluster resource management |
CN110457134A (zh) * | 2019-08-08 | 2019-11-15 | 杭州阿启视科技有限公司 | 建立基于容器云和微服务架构的视频大数据云平台的方法 |
CN110881007A (zh) * | 2018-09-05 | 2020-03-13 | 北京京东尚科信息技术有限公司 | 一种容器集群网络接入的方法和装置 |
CN111010304A (zh) * | 2019-12-23 | 2020-04-14 | 浪潮云信息技术有限公司 | 一种Dubbo服务与Kubernetes系统集成的方法 |
-
2020
- 2020-04-21 CN CN202010317442.4A patent/CN111541765B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190342229A1 (en) * | 2017-11-27 | 2019-11-07 | Nutanix, Inc. | Multi-cluster resource management |
CN110881007A (zh) * | 2018-09-05 | 2020-03-13 | 北京京东尚科信息技术有限公司 | 一种容器集群网络接入的方法和装置 |
CN110457134A (zh) * | 2019-08-08 | 2019-11-15 | 杭州阿启视科技有限公司 | 建立基于容器云和微服务架构的视频大数据云平台的方法 |
CN111010304A (zh) * | 2019-12-23 | 2020-04-14 | 浪潮云信息技术有限公司 | 一种Dubbo服务与Kubernetes系统集成的方法 |
Non-Patent Citations (1)
Title |
---|
宗序梅等: "江苏移动积极实践开源PaaS平台 落地微服务改造", 《通信世界》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220484A (zh) * | 2021-05-11 | 2021-08-06 | 上海安畅网络科技股份有限公司 | 一种微服务调用方法、装置、电子设备及存储介质 |
CN114422492A (zh) * | 2022-01-17 | 2022-04-29 | 星环信息科技(上海)股份有限公司 | 一种请求转发方法、设备及存储介质 |
CN114422492B (zh) * | 2022-01-17 | 2023-12-12 | 星环信息科技(上海)股份有限公司 | 一种请求转发方法、设备及存储介质 |
CN115277568A (zh) * | 2022-07-20 | 2022-11-01 | 重庆星环人工智能科技研究院有限公司 | 一种数据发送方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111541765B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111541765B (zh) | 一种用于多级路由调度的方法及系统 | |
CN111464592B (zh) | 基于微服务的负载均衡方法、装置、设备及存储介质 | |
US11411897B2 (en) | Communication method and communication apparatus for message queue telemetry transport | |
WO2020147331A1 (zh) | 一种微服务监控方法及系统 | |
US10715479B2 (en) | Connection redistribution in load-balanced systems | |
US9647943B2 (en) | Method for providing tiered load balancing for a hosted voice-over internet protocol (VoIP) private branch exchange (PBX) | |
JP2018082497A (ja) | 分散型ロード・バランサでの多重パス経路指定 | |
CN110351246A (zh) | 服务器集群系统Socket管理方法及装置 | |
US9432321B2 (en) | Method and apparatus for messaging in the cloud | |
CN110554927A (zh) | 基于区块链的微服务调用方法 | |
CN109525684B (zh) | 报文转发方法和装置 | |
US11431827B2 (en) | Data center management system | |
CN109756474B (zh) | 一种电力调度自动化系统的服务跨区域调用方法及装置 | |
CN108881018B (zh) | 用于在diameter信令路由器处路由diameter消息的方法、系统及装置 | |
CN107465616B (zh) | 基于客户端的服务路由方法及装置 | |
CN106713378B (zh) | 实现多个应用服务器提供服务的方法和系统 | |
CN109981757B (zh) | 一种面向小规模微服务架构的api网关负载均衡方法 | |
US10693785B2 (en) | Method and system for forwarding data, virtual load balancer, and readable storage medium | |
US20170324619A1 (en) | Network Management Method, Device, and System | |
Buyakar et al. | Prototyping and load balancing the service based architecture of 5G core using NFV | |
CN106210058A (zh) | 一种多核并行的反向代理方法 | |
US9729454B2 (en) | Methods, systems, and computer readable media for balancing diameter message traffic received over long-lived diameter connections | |
CN111935312A (zh) | 一种工业互联网容器云平台及其流量接入控制方法 | |
US7502776B2 (en) | Dynamic connection establishment using an object link | |
WO2017000583A1 (zh) | 一种终端接入方法及相应的终端、基站和主核心网 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |