CN115242864B - 微服务访问方法、装置、电子设备及存储介质 - Google Patents
微服务访问方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115242864B CN115242864B CN202210738951.3A CN202210738951A CN115242864B CN 115242864 B CN115242864 B CN 115242864B CN 202210738951 A CN202210738951 A CN 202210738951A CN 115242864 B CN115242864 B CN 115242864B
- Authority
- CN
- China
- Prior art keywords
- service
- address
- micro
- accessed
- loop
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000001514 detection method Methods 0.000 claims description 56
- 230000004044 response Effects 0.000 claims description 31
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000004590 computer program Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
Abstract
本发明公开了一种微服务访问方法、装置、电子设备及存储介质。其中,该方法包括:从服务发现对应的缓存服务中获取目标地址,其中,目标地址由待访问的微服务确定;响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,其中,直连地址用于确定待访问的微服务的直连模式原始地址;响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,其中,回环地址用于确定待访问的微服务的边车模式编码地址。本发明解决了相关技术中提供的基于边车模式的微服务访问方法其访问效率低、可扩展性差的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种微服务访问方法、装置、电子设备及存储介质。
背景技术
在服务架构领域,大多使用服务网格作为基础设施层用以处理不同服务间的通信。服务网格大多使用边车模式为技术实现方式,以达到微服务架构下的服务治理需求。
在相关技术中,边车模式的实现方案主要有以下两种。
第一种,基于Istio社区iptables的流量劫持方案。然而这种方法的缺陷在于:iptables可管控性差;系统资源消耗大;不能很好地适应大并发场景和流量规则复杂场景。
第二种,基于MOSN的流量接管方案。然而这种方法的缺陷在于:边车代理服务与微服务之间的代理关系为一对一,可扩展性差。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种微服务访问方法、装置、电子设备及存储介质,以至少解决相关技术中提供的基于边车模式的微服务访问方法其访问效率低、可扩展性差的技术问题。
根据本发明实施例的一个方面,提供了一种微服务访问方法,包括:
从服务发现对应的缓存服务中获取目标地址,其中,目标地址由待访问的微服务确定;响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,其中,直连地址用于确定待访问的微服务的直连模式原始地址;响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,其中,回环地址用于确定待访问的微服务的边车模式编码地址。
可选地,从服务发现对应的缓存服务中获取目标地址包括:响应于确定边车模式不可用,从服务发现对应的缓存服务中获取待访问的微服务对应的直连地址作为目标地址;响应于确定边车模式可用,从服务发现对应的缓存服务中获取待访问的微服务对应的回环地址作为目标地址。
可选地,确定边车模式可用包括:检测边车模式的注册状态,确定第一检测结果;响应于第一检测结果对应于边车模式已注册,检测边车模式的开启状态,确定第二检测结果;响应于第二检测结果对应于边车模式已开启,对边车组件进行异常检测,确定第三检测结果;响应于三检测结果对应于边车组件无异常,确定边车模式可用。
可选地,从服务发现对应的缓存服务中获取待访问的微服务对应的回环地址作为目标地址包括:响应于服务发现对应的缓存服务中存在待访问的微服务对应的回环地址,获取待访问的微服务对应的回环地址作为目标地址;响应于服务发现对应的缓存服务中不存在待访问的微服务对应的回环地址,向服务发现对应的远程服务器发送请求消息,以及将远程服务器返回的回环地址存储至服务发现对应的缓存服务,其中,请求消息用于请求从远程服务器中获取预先编码的回环地址。
可选地,边车组件包括:第一边车代理服务和第二边车代理服务,其中,第一边车代理服务与微服务访问请求方相关联,第二边车代理服务与待访问的微服务相关联。
可选地,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果包括:利用第一边车代理服务对回环地址进行解析,得到待访问的微服务对应的地址列表;对地址列表进行负载均衡分析,确定目标地址信息;利用第一边车代理服务按照目标地址信息对待访问的微服务进行访问,得到目标访问结果。
根据本发明实施例的另一个方面,还提供了一种微服务访问装置,包括:
获取模块,从服务发现对应的缓存服务中获取目标地址,其中,目标地址由待访问的微服务确定;第一访问模块,响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,其中,直连地址用于确定待访问的微服务的直连模式原始地址;第二访问模块,响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,其中,回环地址用于确定待访问的微服务的边车模式编码地址;
可选地,获取模块还用于:响应于确定边车模式不可用,从服务发现对应的缓存服务中获取待访问的微服务对应的直连地址作为目标地址;响应于确定边车模式可用,从服务发现对应的缓存服务中获取待访问的微服务对应的回环地址作为目标地址。
可选地,获取模块还用于:检测边车模式的注册状态,确定第一检测结果;响应于第一检测结果对应于边车模式已注册,检测边车模式的开启状态,确定第二检测结果;响应于第二检测结果对应于边车模式已开启,对边车组件进行异常检测,确定第三检测结果;响应于三检测结果对应于边车组件无异常,确定边车模式可用。
可选地,获取模块还用于:响应于服务发现对应的缓存服务中存在待访问的微服务对应的回环地址,获取待访问的微服务对应的回环地址作为目标地址;响应于服务发现对应的缓存服务中不存在待访问的微服务对应的回环地址,向服务发现对应的远程服务器发送请求消息,以及将远程服务器返回的回环地址存储至服务发现对应的缓存服务,其中,请求消息用于请求从远程服务器中获取预先编码的回环地址。
可选地,在微服务访问装置中,边车组件包括:第一边车代理服务和第二边车代理服务,其中,第一边车代理服务与微服务访问请求方相关联,第二边车代理服务与待访问的微服务相关联。
可选地,第二访问模块还用于:利用第一边车代理服务对回环地址进行解析,得到待访问的微服务对应的地址列表;对地址列表进行负载均衡分析,确定目标地址信息;利用第一边车代理服务按照目标地址信息对待访问的微服务进行访问,得到目标访问结果。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项中的微服务访问方法。
根据本发明实施例的另一个方面,还提供了一种存储有计算机指令的计算机可读存储介质,其中,计算机指令用于使计算机执行上述任一项中的微服务访问方法。
根据本发明实施例的另一个方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任一项中的微服务访问方法。
在本发明实施例中,通过从服务发现对应的缓存服务中获取目标地址,进而通过响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,或者响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,从而达到了通过直连方式或者基于边车模式的回环编码访问方式进行微服务访问的目的,从而实现了提高微服务访问方法的效率和可扩展性的技术效果,进而解决了相关技术中提供的基于边车模式的微服务访问方法其访问效率低、可扩展性差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的微服务访问方法的流程图;
图2是根据本发明其中一实施例的一种微服务访问过程的示意图;
图3是根据本发明其中一实施例的微服务访问装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种基于微服务访问方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明其中一实施例的微服务访问方法的流程图,如图1所示,该方法包括如下步骤:
步骤S11,从服务发现对应的缓存服务中获取目标地址,其中,目标地址由待访问的微服务确定;
步骤S12,响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,其中,直连地址用于确定待访问的微服务的直连模式原始地址;
步骤S13,响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,其中,回环地址用于确定待访问的微服务的边车模式编码地址。
在步骤S11中,微服务访问请求方从服务发现对应的缓存服务中获取目标地址。目标地址,为待访问的微服务的相关地址信息。目标地址分为直连地址和回环地址。直连地址,表示待访问的微服务的直连模式原始地址;回环地址,表示待访问的微服务的边车模式编码地址。
在步骤S12中,微服务访问请求方获取的是直连地址,根据直连地址以直连的方式对待访问的微服务进行访问,得到目标访问结果。
在步骤S13中,微服务访问请求方获取的是回环地址,根据回环地址,通过边车组件的方式对待访问的微服务进行访问,得到目标访问结果。
例如,微服务访问请求方为客户端服务A,待访问的微服务为服务端服务B,目标访问结果为服务A向服务B访问的结果。目标访问结果有两种方式获得:方式一,服务A根据服务B的直连地址,以直连服务B的方式,获得目标访问结果;方式二,服务A根据服务B的回环地址,以通过边车组件的方式访问服务B,获得目标访问结果。
通过步骤S11至步骤S13,通过从服务发现对应的缓存服务中获取目标地址,进而通过响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,或者响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,从而达到了通过直连方式或者基于边车模式的回环编码访问方式进行微服务访问的目的,从而实现了提高微服务访问方法的效率和可扩展性的技术效果,进而解决了相关技术中提供的基于边车模式的微服务访问方法其访问效率低、可扩展性差的技术问题。
可选地,在步骤S11中,从服务发现对应的缓存服务中获取目标地址还包括如下方法步骤:
步骤S111,响应于确定边车模式不可用,从服务发现对应的缓存服务中获取待访问的微服务对应的直连地址作为目标地址;
步骤S112,响应于确定边车模式可用,从服务发现对应的缓存服务中获取待访问的微服务对应的回环地址作为目标地址。
边车模式,为服务发现对应的缓存服务向服务发现对应的远程服务器的请求方式。请求方式为边车模式时,返回以回环地址作为的目标地址;请求方式不为边车模式时,返回以直连地址作为的目标地址。例如,服务发现对应的缓存服务向服务发现对应的远程服务器的请求方式为边车模式时,请求信息中包括微服务请求方地址、待访问的微服务地址与第一边车代理服务的健康状态信息等。
例如,当第一边车代理服务的状态为健康时,服务发现对应的缓存服务向服务发现对应的远程服务器的请求方式为边车模式;当第一边车代理服务的状态为不健康时,服务发现对应的缓存服务向服务发现对应的远程服务器的请求方式不为边车模式。服务发现对应的缓存服务可以轮询的方式检测第一边车代理服务的状态是否健康。
在步骤S111中,服务发现对应的远程服务器响应于边车模式不可用,则微服务访问请求方从服务发现对应的缓存服务中获取待访问的微服务对应的直连地址。
在步骤S112中,服务发现对应的远程服务器响应于边车模式可用,则微服务访问请求方从服务发现对应的缓存服务中获取待访问的微服务对应的回环地址。
通过步骤S111至步骤S112,通过响应于确定边车模式是否可用,使得微服务访问请求方得到相应的目标地址,达到了确定微服务访问请求方以直连的方式还是通过边车组件的方式访问待访问的微服务的目的。
可选地,在步骤S112中,确定边车模式可用还包括如下方法步骤:
步骤S1121,检测边车模式的注册状态,确定第一检测结果;
步骤S1122,响应于第一检测结果对应于边车模式已注册,检测边车模式的开启状态,确定第二检测结果;
步骤S1123,响应于第二检测结果对应于边车模式已开启,对边车组件进行异常检测,确定第三检测结果;
步骤S1124,响应于第三检测结果对应于边车组件无异常,确定边车模式可用。
在步骤S1121中,检测边车模式的注册状态,为检测微服务访问请求方是否向边车组件中的第一边车代理服务进行注册。边车模式的注册状态,为第一检测结果。例如,微服务访问请求方向第一边车代理服务进行注册的内容为:微服务访问请求方访问待访问的微服务的访问方式为边车模式。
在步骤S1122中,服务发现对应的远程服务器响应于第一检测结果为边车模式已注册,继续检测边车模式的开启状态。边车模式的开启状态,为第二检测结果。
在步骤S1123中,服务发现对应的远程服务器响应于第一检测结果为边车模式已注册,第二检测结果为边车模式已开启,继续对边车组件进行异常检测。边车组件的异常检测结果,为第三检测结果。边车组件的异常检测,为检测服务发现对应的远程服务器在获取微服务访问请求方访问待访问的微服务的回环地址时,回环地址编码是否有异常。
在步骤S1124中,服务发现对应的远程服务器响应于第三检测结果为边车组件无异常,边车模式为可用。
通过步骤S1121至步骤S1124,通过检测边车模式的注册状态,进而响应于第一检测结果对应于边车模式已注册,再响应于第二检测结果对应于边车模式已开启,还响应于第三检测结果对应于边车组件无异常,使得确定边车模式可用,从而达到了确定后续服务发现对应的远程服务器返回的是回环地址作为目标地址的目的。
可选地,边车模式不可用包括:
当第一检测结果为边车模式无注册,边车模式不可用;
当第二检测结果为边车模式未开启,边车模式不可用;
当第三检测结果为边车组件有异常,边车模式不可用。
可选地,在步骤S112中,从服务发现对应的缓存服务中获取待访问的微服务对应的回环地址作为目标地址还包括如下方法步骤:
步骤S1125,响应于服务发现对应的缓存服务中存在待访问的微服务对应的回环地址,获取待访问的微服务对应的回环地址作为目标地址;
步骤S1126,响应于服务发现对应的缓存服务中不存在待访问的微服务对应的回环地址,向服务发现对应的远程服务器发送请求消息,以及将远程服务器返回的回环地址存储至服务发现对应的缓存服务,其中,请求消息用于从远程服务器中获取预先编码的回环地址。
在步骤S1125中,当微服务访问请求方向服务发现对应的缓存服务请求目标地址时,若服务发现对应的缓存服务中存在待访问的微服务的回环地址,则服务发现对应的缓存服务将以回环地址作为的目标地址返回给微服务访问请求方。微服务访问请求方获取以回环地址作为的目标地址。
在步骤S1126中,当微服务访问请求方向服务发现对应的缓存服务请求目标地址时,若服务发现对应的缓存服务中不存在待访问的微服务的回环地址,则服务发现对应的缓存服务向服务发现对应的远程服务器发送请求消息。服务发现对应的缓存服务向服务发现对应的远程服务器发送请求获取预先编码的回环地址。
服务发现对应的远程服务器根据服务发现对应的缓存服务发送的请求消息,其请求方式是否为边车模式,不是边车模式则服务发现对应的远程服务器向服务发现对应的缓存服务返回直连地址。
服务发现对应的远程服务器根据服务发现对应的缓存服务发送的请求消息,其请求方式是边车模式时,继续判断第一检测结果是否为边车模式已注册、第二检测结果是否为边车模式已开启以及第三检测结果是否为边车组件无异常。对第一检测结果是否为边车模式已注册、第二检测结果是否为边车模式已开启以及第三检测结果是否为边车组件无异常的三个判断,全为是时,服务发现对应的远程服务器向服务发现对应的缓存服务返回回环地址;不全为是时,结束判断,服务发现对应的远程服务器向服务发现对应的缓存服务返回直连地址。
服务发现对应的缓存服务接收到服务发现对应的远程服务器返回的回环地址后,将回环地址进行缓存,并将回环地址返回给微服务访问请求方;服务发现对应的缓存服务接收到服务发现对应的远程服务器返回的直连地址后,将直连地址返回给微服务访问请求方。
通过步骤S1125至步骤S1126,通过响应于服务发现对应的缓存服务中存在待访问的微服务对应的回环地址,获取待访问的微服务对应的回环地址作为目标地址或者响应于服务发现对应的缓存服务中不存在待访问的微服务对应的回环地址,通过向服务发现对应的远程服务器获取回环地址作为目标地址,使得微服务访问请求方通过服务发现对应的缓存服务获取目标地址,达到了后续微服务访问请求方通过目标地址对待访问的微服务进行访问的目的。
可选地,上述边车组件包括:第一边车代理服务和第二边车代理服务,其中,第一边车代理服务与微服务访问请求方相关联,第二边车代理服务与待访问的微服务相关联。
可选地,在步骤S13中,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果还包括如下方法步骤:
步骤S131,利用第一边车代理服务对回环地址进行解析,得到待访问的微服务对应的地址列表;
步骤S132,对地址列表进行负载均衡分析,确定目标地址信息;
步骤S133,利用第二边车代理服务按照目标地址信息对待访问的微服务进行访问,得到目标访问结果。
在步骤S131中,微服务访问请求方通过回环地址访问第一边车代理服务,微服务访问请求方将携带有回环地址的信息也发送给第一边车代理服务。第一边车代理服务对回环地址进行解析,得到待访问的微服务对应的地址列表。第一边车代理服务对回环地址进行解析,可以为通过服务发现对应的远程服务器和服务发现对应的缓存服务进行解析,得到的解析内容包括有表示客户端的微服务访问请求方的信息以及表示服务端的待访问的微服务的信息等。第一边车代理服务根据对回环地址进行解析的待访问的微服务信息,得到有关第二边车代理服务的地址列表。第二边车代理服务,用于接收第一边车代理服务对微服务访问请求方,访问待访问的微服务请求的转发。第一边车代理服务向第二边车代理服务转发微服务访问请求方访问待访问的微服务请求时,将待访问的微服务的地址也转至第二边车代理服务。
在步骤S132中,系统对地址列表中各地址表示的第二边车代理服务进行负载均衡分析,确定哪个地址的边车代理服务作为第二边车代理服务。第二边车代理服务的地址信息即为目标地址信息。
在步骤S133中,第一边车代理服务通过目标地址信息,以第二边车代理服务对待访问的微服务进行访问,得到目标访问结果。第一边车代理服务通过目标地址信息,即第一边车代理服务通过第二边车代理服务。
通过步骤S131至步骤S133,通过利用第一边车代理服务对回环地址进行解析,得到待访问的微服务对应的地址列表,进而对地址列表进行负载均衡分析,确定目标地址信息,从而利用第一边车代理服务按照目标地址信息对待访问的微服务进行访问,得到目标访问结果,使得微服务访问方根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,从而达到了通过边车组件进行访问待访问的微服务的目的。
图2是根据本发明其中一实施例的一种微服务访问过程的示意图,如图2所示:
服务A表示上述微服务访问请求方;服务B表示上述待访问的微服务;服务发现代理表示上述服务发现对应的缓存服务;服务发现服务器表示上述服务发现对应的远程服务器;边车A和边车B表示边车组件,其中,边车A表示第一边车代理服务,边车B表示第二边车代理服务。
如图2所示,流量劫持的基本过程包括如下方法步骤:
步骤E1,服务A向服务发现代理请求服务B的目标地址,通过获取的目标地址以对服务B进行访问;
步骤E2,服务发现代理查询缓存,若缓存中有服务A到服务B的回环地址,则将回环地址返回给服务A;若缓存中没有服务A到服务B的回环地址,则服务发现代理向服务发现服务器请求获取服务A到服务B的回环地址;
步骤E3,服务A获得回环地址,通过回环地址,访问边车A;
步骤E4,边车A对回环地址进行解析,确定边车B;
步骤E5,边车A将服务A访问服务B的请求转发至边车B,转发请求中带有服务B地址信息;
步骤E6,边车B根据服务B的地址,发起对服务B的调用。
在步骤E1中,通过获取的目标地址以对服务B进行访问,当服务A获取的为直连地址时,直接根据直连地址对服务B进行访问;当服务A获取的为回环地址时,转至步骤E3。
在步骤E2中,服务发现代理可以轮询的方式查询边车A是否为健康状态,当边车A为健康状态时,向服务发现服务器请求获取服务A到服务B的回环地址的请求方式为边车模式。服务发现服务器接收到服务发现代理获取服务A到服务B的回环地址请求后,依次做4个判断。这4个判断为:判断1,服务发现代理向服务发现服务器请求获取服务A到服务B的回环地址的请求方式是否为边车模式;判断2,边车模式是否已注册;判断3,边车模式是否已开启;判断4,边车组件是否异常。这4个判断全为是时,服务发现服务器向服务发现代理返回服务A到服务B的回环地址,服务发现代理收到回环地址后,进行缓存,并将回环地址返回至服务A;这4个判断不全为是时,服务发现服务器向服务发现代理返回服务A到服务B的直连地址,服务发现代理将直连地址返回至服务A。
在步骤E3中,服务A通过回环地址向边车A访问,服务A也将回环地址发送给边车A。
在步骤E4中,边车A可通过服务发现代理与服务发现服务器对回环地址进行解析,解析的内容可包括有服务A相关信息、服务B相关信息以及服务B的地址信息等。系统通过负载均衡,将一系列边车中确定一个边车作为边车B。边车B用以等待边车A转发服务A访问服务B的请求。
在步骤E5中,边车A将服务A访问服务B的请求转发至边车B,转发请求中带有服务B地址信息;
在步骤E6中,边车B根据服务B的地址,发起对服务B的调用,完成服务A访问服务B,即得到目标访问结果。
图3是根据本发明其中一实施例的微服务访问装置的结构框图,如图3所示,该微服务访问装置300包括:
获取模块301,用于从服务发现对应的缓存服务中获取目标地址,其中,目标地址由待访问的微服务确定;
第一访问模块302,用于响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,其中,直连地址用于确定待访问的微服务的直连模式原始地址;
第二访问模块303,用于响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,其中,回环地址用于确定待访问的微服务的边车模式编码地址。
可选地,获取模块301还用于:响应于确定边车模式不可用,从服务发现对应的缓存服务中获取待访问的微服务对应的直连地址作为目标地址;响应于确定边车模式可用,从服务发现对应的缓存服务中获取待访问的微服务对应的回环地址作为目标地址。
可选地,获取模块301还用于:检测边车模式的注册状态,确定第一检测结果;响应于第一检测结果对应于边车模式已注册,检测边车模式的开启状态,确定第二检测结果;响应于第二检测结果对应于边车模式已开启,对边车组件进行异常检测,确定第三检测结果;响应于三检测结果对应于边车组件无异常,确定边车模式可用。
可选地,获取模块301还用于:响应于服务发现对应的缓存服务中存在待访问的微服务对应的回环地址,获取待访问的微服务对应的回环地址作为目标地址;响应于服务发现对应的缓存服务中不存在待访问的微服务对应的回环地址,向服务发现对应的远程服务器发送请求消息,以及将远程服务器返回的回环地址存储至服务发现对应的缓存服务,其中,请求消息用于请求从远程服务器中获取预先编码的回环地址。
可选地,在微服务访问装置300中,边车组件包括:第一边车代理服务和第二边车代理服务,其中,第一边车代理服务与微服务访问请求方相关联,第二边车代理服务与待访问的微服务相关联。
可选地,第二访问模块303还用于:利用第一边车代理服务对回环地址进行解析,得到待访问的微服务对应的地址列表;对地址列表进行负载均衡分析,确定目标地址信息;利用第一边车代理服务按照目标地址信息对待访问的微服务进行访问,得到目标访问结果。
本发明的实施例还提供了一种电子设备,包括至少一个处理器以及与至少一个处理器通信连接的存储器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,从服务发现对应的缓存服务中获取目标地址,其中,目标地址由待访问的微服务确定;
S2,响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,其中,直连地址用于确定待访问的微服务的直连模式原始地址;
S3,响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,其中,回环地址用于确定待访问的微服务的边车模式编码地址。
本发明的实施例还提供了一种存储有计算机指令的计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,从服务发现对应的缓存服务中获取目标地址,其中,目标地址由待访问的微服务确定;
S2,响应于目标地址为待访问的微服务对应的直连地址,根据直连地址对待访问的微服务进行访问,得到目标访问结果,其中,直连地址用于确定待访问的微服务的直连模式原始地址;
S3,响应于目标地址为待访问的微服务对应的回环地址,根据回环地址,调用边车组件对待访问的微服务进行访问,得到目标访问结果,其中,回环地址用于确定待访问的微服务的边车模式编码地址。
本发明的实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任一方法实施例中的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种微服务访问方法,包括:
从服务发现对应的缓存服务中获取目标地址,其中,所述目标地址由待访问的微服务确定;
响应于所述目标地址为所述待访问的微服务对应的直连地址,根据所述直连地址对所述待访问的微服务进行访问,得到目标访问结果,其中,所述直连地址用于确定所述待访问的微服务的直连模式原始地址;
响应于所述目标地址为所述待访问的微服务对应的回环地址,根据所述回环地址,调用边车组件对所述待访问的微服务进行访问,得到所述目标访问结果,其中,所述回环地址用于确定所述待访问的微服务的边车模式编码地址;
从所述服务发现对应的缓存服务中获取所述目标地址包括:响应于确定边车模式不可用,从所述服务发现对应的缓存服务中获取所述待访问的微服务对应的所述直连地址作为所述目标地址;响应于确定边车模式可用,从所述服务发现对应的缓存服务中获取所述待访问的微服务对应的所述回环地址作为所述目标地址。
2.根据权利要求1所述的方法,其特征在于,确定所述边车模式可用包括:
检测边车模式的注册状态,确定第一检测结果;
响应于所述第一检测结果对应于边车模式已注册,检测边车模式的开启状态,确定第二检测结果;
响应于所述第二检测结果对应于边车模式已开启,对所述边车组件进行异常检测,确定第三检测结果;
响应于所述第三检测结果对应于边车组件无异常,确定所述边车模式可用。
3.根据权利要求1所述的方法,其特征在于,从所述服务发现对应的缓存服务中获取所述待访问的微服务对应的所述回环地址作为所述目标地址包括:
响应于所述服务发现对应的缓存服务中存在所述待访问的微服务对应的所述回环地址,获取所述待访问的微服务对应的所述回环地址作为所述目标地址;
响应于所述服务发现对应的缓存服务中不存在所述待访问的微服务对应的所述回环地址,向所述服务发现对应的远程服务器发送请求消息,以及将所述远程服务器返回的所述回环地址存储至所述服务发现对应的缓存服务,其中,所述请求消息用于请求从所述远程服务器中获取预先编码的所述回环地址。
4.根据权利要求1所述的方法,其特征在于,所述边车组件包括:第一边车代理服务和第二边车代理服务,其中,所述第一边车代理服务与微服务访问请求方相关联,所述第二边车代理服务与待访问的微服务相关联。
5.根据权利要求4所述的方法,其特征在于,根据所述回环地址,调用所述边车组件对所述待访问的微服务进行访问,得到所述目标访问结果包括:
利用所述第一边车代理服务对所述回环地址进行解析,得到所述待访问的微服务对应的地址列表;
对所述地址列表进行负载均衡分析,确定目标地址信息;
利用所述第二边车代理服务按照所述目标地址信息对所述待访问的微服务进行访问,得到所述目标访问结果。
6.一种微服务访问装置,包括:
获取模块,用于从服务发现对应的缓存服务中获取目标地址,其中,所述目标地址由待访问的微服务确定;
第一访问模块,用于响应于所述目标地址为所述待访问的微服务对应的直连地址,根据所述直连地址对待访问的微服务进行访问,得到目标访问结果,其中,所述直连地址用于确定所述待访问的微服务的直连模式原始地址;
第二访问模块,用于响应于所述目标地址为所述待访问的微服务对应的回环地址,根据所述回环地址,调用边车组件对所述待访问的微服务进行访问,得到目标访问结果,其中,所述回环地址用于确定所述待访问的微服务的边车模式编码地址;
所述获取模块,还用于:响应于确定边车模式不可用,从所述服务发现对应的缓存服务中获取所述待访问的微服务对应的所述直连地址作为所述目标地址;响应于确定边车模式可用,从所述服务发现对应的缓存服务中获取所述待访问的微服务对应的所述回环地址作为所述目标地址。
7.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
8.一种存储有计算机指令的计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210738951.3A CN115242864B (zh) | 2022-06-28 | 2022-06-28 | 微服务访问方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210738951.3A CN115242864B (zh) | 2022-06-28 | 2022-06-28 | 微服务访问方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115242864A CN115242864A (zh) | 2022-10-25 |
CN115242864B true CN115242864B (zh) | 2023-12-05 |
Family
ID=83670854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210738951.3A Active CN115242864B (zh) | 2022-06-28 | 2022-06-28 | 微服务访问方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115242864B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812727B1 (en) * | 2011-06-23 | 2014-08-19 | Amazon Technologies, Inc. | System and method for distributed load balancing with distributed direct server return |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN109451093A (zh) * | 2018-12-13 | 2019-03-08 | 新华三技术有限公司 | 一种环回口地址分配方法及装置 |
CN111031148A (zh) * | 2019-12-11 | 2020-04-17 | 中天通信技术有限公司 | 一种地址解析方法、装置及电子设备和存储介质 |
CN112261090A (zh) * | 2020-09-28 | 2021-01-22 | 成都长虹网络科技有限责任公司 | Web数据处理方法、装置、计算机设备和可读存储介质 |
CN112486698A (zh) * | 2020-11-19 | 2021-03-12 | 山东中创软件商用中间件股份有限公司 | 一种微服务访问方法及相关装置 |
CN112866379A (zh) * | 2021-01-15 | 2021-05-28 | 浪潮云信息技术股份公司 | 微服务的访问方法和装置 |
US11122131B1 (en) * | 2020-11-18 | 2021-09-14 | At&T Intellectual Property I, L.P. | Edge cloud resource location using enhanced DNS service |
CN114363378A (zh) * | 2022-01-14 | 2022-04-15 | 上海交通大学 | 一种面向工业异构网络管理的微服务系统架构和管理方法 |
US11310145B1 (en) * | 2020-08-28 | 2022-04-19 | Juniper Networks, Inc. | Apparatus, system, and method for achieving shortest path forwarding in connection with clusters of active-standby service appliances |
CN114615321A (zh) * | 2022-03-25 | 2022-06-10 | 度小满科技(北京)有限公司 | 流量处理方法和装置 |
-
2022
- 2022-06-28 CN CN202210738951.3A patent/CN115242864B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812727B1 (en) * | 2011-06-23 | 2014-08-19 | Amazon Technologies, Inc. | System and method for distributed load balancing with distributed direct server return |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN109451093A (zh) * | 2018-12-13 | 2019-03-08 | 新华三技术有限公司 | 一种环回口地址分配方法及装置 |
CN111031148A (zh) * | 2019-12-11 | 2020-04-17 | 中天通信技术有限公司 | 一种地址解析方法、装置及电子设备和存储介质 |
US11310145B1 (en) * | 2020-08-28 | 2022-04-19 | Juniper Networks, Inc. | Apparatus, system, and method for achieving shortest path forwarding in connection with clusters of active-standby service appliances |
CN112261090A (zh) * | 2020-09-28 | 2021-01-22 | 成都长虹网络科技有限责任公司 | Web数据处理方法、装置、计算机设备和可读存储介质 |
US11122131B1 (en) * | 2020-11-18 | 2021-09-14 | At&T Intellectual Property I, L.P. | Edge cloud resource location using enhanced DNS service |
CN112486698A (zh) * | 2020-11-19 | 2021-03-12 | 山东中创软件商用中间件股份有限公司 | 一种微服务访问方法及相关装置 |
CN112866379A (zh) * | 2021-01-15 | 2021-05-28 | 浪潮云信息技术股份公司 | 微服务的访问方法和装置 |
CN114363378A (zh) * | 2022-01-14 | 2022-04-15 | 上海交通大学 | 一种面向工业异构网络管理的微服务系统架构和管理方法 |
CN114615321A (zh) * | 2022-03-25 | 2022-06-10 | 度小满科技(北京)有限公司 | 流量处理方法和装置 |
Non-Patent Citations (2)
Title |
---|
A transaction and QOS-aware service selection approach based on genetic algorithm;zhu jun ding;《IEEE transaction on system》;全文 * |
综合提高图书馆资源服务器访问速度;孙文乾;;电脑编程技巧与维护(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115242864A (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020147331A1 (zh) | 一种微服务监控方法及系统 | |
CN103593419B (zh) | 数据查询方法、装置、服务器及系统 | |
JP2006500656A5 (zh) | ||
CN114902622B (zh) | 用于确定模型以数字化地分析输入数据的网络实体 | |
EP2985730A1 (en) | Method and device for partially-upgrading | |
CN109302469A (zh) | 微服务管理方法、装置、计算机设备以及存储介质 | |
CN112506755B (zh) | 日志采集方法、装置、计算机设备和存储介质 | |
CN107395687B (zh) | 设备的监控方法、装置、系统和空调 | |
CN113810408A (zh) | 网络攻击组织的探测方法、装置、设备及可读存储介质 | |
CN101404049B (zh) | 医疗文档中附件的调阅方法和系统 | |
CN115104336A (zh) | 跟踪和公开用于生成分析的数据 | |
CN115242864B (zh) | 微服务访问方法、装置、电子设备及存储介质 | |
CN111259227B (zh) | 用于在多个检索集群之间共享目标检索服务的方法和装置 | |
CN108494870A (zh) | 基于cdn的动态数据加载方法及装置 | |
CN108234631B (zh) | 消息推送平台和消息推送方法 | |
CN108647139B (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN110933070A (zh) | 一种用户识别方法、系统、设备及计算机可读存储介质 | |
CN107566216B (zh) | 一种监控方法、装置及业务系统 | |
CN107483294B (zh) | 监控网络请求的方法及装置 | |
CN112910995B (zh) | 基于多云环境的资源分配的方法、装置、电子设备及介质 | |
CN109348053B (zh) | 电话号码标记处理方法、服务器、终端设备及计算机可读存储介质 | |
CN112711710A (zh) | 多号码终端的追踪方法、系统、服务器和存储介质 | |
CN112486698A (zh) | 一种微服务访问方法及相关装置 | |
CN107590148B (zh) | 一种推广信息的推送方法和系统 | |
CN112541183B (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 |