基于微服务网关的二阶段业务请求路由转发方法及系统与流程
- 国知局
- 2024-08-02 14:01:03
本发明涉及微服务网关,具体地说是一种基于微服务网关的二阶段业务请求路由转发方法及系统。
背景技术:
1、随着微服务架构的广泛应用,微服务网关作为服务请求的统一入口,其性能和准确性对于整个微服务架构至关重要。现有的微服务网关默认采用了随机、轮巡的请求转发策略,在处理二阶段请求路由时,存在路由规则单一、处理效率不高等问题。
2、如附图1所示,微服务架构中,多个服务示例注册到注册中心,微服务网关收到客户端请求后,将请求转发到微服务实例执行。
3、如附图2所示,二阶段业务请求是指在特定业务场景中,一个业务功能被分解为两个业务请求分步骤提交。这种模式通常用于处理复杂或需要多个步骤验证的业务,确保业务的完整性和准确性,同时提高系统的灵活性和可维护性。
4、在微服务架构中,二阶段业务请求的应用尤为常见。第一阶段请求通常用于业务校验、业务预处理,为后续的复杂业务操作做好准备。
5、第二阶段请求则是对业务进行更深入的处理。在这一阶段,系统执行最终业务操作,并完成提交使业务生效。
6、二阶段业务请求的好处在于,能够将复杂的业务处理过程分解为多个相对独立的阶段,使得每个阶段都可以专注于特定的任务,提高了系统的可维护性和可扩展性。二阶段业务请求的实现方式和具体流程可能因不同的业务场景和技术架构而有所不同。
7、故如何实现二阶段请求转发,保证既能通过常规转发策略路由普通业务请求,又能高效路由二阶段请求,减少微服务内部网络交互,提高业务处理效率是目前亟待解决的技术问题。
技术实现思路
1、本发明的技术任务是提供一种基于微服务网关的二阶段业务请求路由转发方法及系统,来解决如何实现二阶段请求转发,保证既能通过常规转发策略路由普通业务请求,又能高效路由二阶段请求,减少微服务内部网络交互,提高业务处理效率的问题。
2、本发明的技术任务是按以下方式实现的,一种基于微服务网关的二阶段业务请求路由转发方法,该方法具体如下:
3、s1、客户端发起业务请求;
4、s2、微服务网关执行接收请求、路由决策及转发执行,并判断是否为第二阶段请求,即请求头中是否含有servergroup:
5、①若是第二阶段请求,则按照servergroup值路由转发请求,下一步执行步骤s3;
6、②若不是第二阶段请求,则按照第一阶段请求转发,下一步执行步骤s3;
7、s3、微服务服务组执行业务处理,并判断是否第一阶段业务:
8、①若是第一阶段业务,则设置返回数据响应头setservergroup值为本服务所在服务组,下一步执行步骤s4;
9、②若不是第一阶段业务,则下一步执行步骤s4;
10、s4、微服务网关执行业务返回,并记录相应日志;
11、s5、客户端收到业务返回后,判断返回数据响应头中是否含有setservergroup:
12、①若返回数据响应头中含setservergroup,则发起下一个请求的请求头中设置servergroup值为setservergroup的值,下一步执行步骤s2、步骤s3及步骤s4;
13、②若返回数据响应头中未含setservergroup,在下一个请求按普通请求发起,并记录日志。
14、作为优选,微服务网关执行接收请求、路由决策及转发执行具体如下:
15、接收来自客户端的请求,并解析请求内容,提取出请求中“指定服务组”的关键信息;
16、根据请求中“指定服务组”的关键信息,结合微服务注册中心的服务组信息以及路由规则进行路由决策,即根据字符串匹配结果确定请求的目标微服务组;
17、根据路由决策结果将请求转发到目标微服务组。
18、作为优选,微服务网关实施监控路由转发的过程,并记录请求的处理情况及转发结果信息,为运维人员提供有效的监控及日志支持。
19、作为优选,第一阶段请求时,微服务服务端将文件保存本地;第二阶段请求时,微服务网关将请求负载到同一微服务服务端,业务处理过程中无需下载文件,直接将本地文件解析并业务提交即可。
20、更优地,第二阶段请求的前提条件是微服务网关启动完成,并根据所在微服务服务组在注册中心完成注册,注册信息含所属微服务服务组。
21、一种基于微服务网关的二阶段业务请求路由转发系统,该系统包括:
22、客户端,用于发起业务请求,接收业务返回,并判断返回数据响应头中含setservergroup;
23、微服务网关,用于接收请求、路由决策及转发执行,并判断是否为第二阶段请求,即请求头中是否含有servergroup:
24、若是第二阶段请求,则按照servergroup值路由转发请求。否则按照普通请求转发
25、微服务服务组,用于执行业务处理,并判断是否是第一阶段请求,若为第一阶段业务,则设置返回数据响应头setservergroup值为本服务所在服务组。
26、作为优选,微服务网关包括:
27、请求接收解析模块,用于接收来自客户端的请求,并解析请求内容,提取出请求的“指定服务组”关键信息;
28、二阶段路由决策模块,用于根据请求接收解析模块提取的“指定服务组”信息,结合微服务注册中心的服务组信息以及路由规则进行路由决策,即根据字符串匹配结果确定请求的目标微服务组;
29、转发执行模块,用于根据路由决策结果将请求转发到目标微服务;其中,在执行转发前,转发执行模块进行必要的负载均衡,确保请求被均匀地分发到服务组内的各个微服务服务组上。
30、更优地,微服务网关还包括监控日志模块,监控日志模块用于实时监控路由转发的过程,记录请求的处理情况及转发结果信息,为运维人员提供有效的监控和日志支持。
31、一种电子设备,包括:存储器和至少一个处理器;
32、其中,所述存储器上存储有计算机程序;
33、所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的基于微服务网关的二阶段业务请求路由转发方法。
34、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于微服务网关的二阶段业务请求路由转发方法。
35、本发明的基于微服务网关的二阶段业务请求路由转发方法及系统具有以下优点:
36、(一)本发明通过二阶段的请求路由转发过程,提高了路由转发的准确性和效率,降低了请求处理的延迟;
37、(二)本发采用微服务服务组内负载均衡,增强了微服务的稳定性;
38、(三)本发明提供了有效的监控和日志支持,便于系统运维人员进行问题定位和优化;
39、(四)本发明解决了现有技术中二阶段请求转发存在的问题,既能通过常规转发策略路由普通业务请求,同时高效路由二阶段请求,减少微服务内部网络交互,提高业务处理效率;
40、(五)本发明基于请求头中的指定服务组,配合注册中心的服务组信息,精准定位微服务地址,提高了业务处理效率。
41、设计合理、结构简单、易于加工、体积小、使用方便、一物多用等特点,因而,具有很好的推广使用价值。
本文地址:https://www.jishuxx.com/zhuanli/20240801/241372.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。