CN110417777A - 一种优化的微服务间通信的方法及装置 - Google Patents
一种优化的微服务间通信的方法及装置 Download PDFInfo
- Publication number
- CN110417777A CN110417777A CN201910690826.8A CN201910690826A CN110417777A CN 110417777 A CN110417777 A CN 110417777A CN 201910690826 A CN201910690826 A CN 201910690826A CN 110417777 A CN110417777 A CN 110417777A
- Authority
- CN
- China
- Prior art keywords
- micro services
- host node
- micro
- groups list
- corresponding ternary
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种优化的微服务间通信的方法及装置,其中方法包括:第一主机节点获取位于所述第一主机节点中的第一微服务实例;所述第一主机节点确定所述第一微服务实例所属的第一微服务;所述第一主机节点根据所述第一微服务确定所述第一微服务对应的三元组列表;所述第一微服务对应的三元组列表包括至少一个三元组,每个三元组包括微服务的访问方、微服务的被访问方以及访问端口;所述第一微服务对应的三元组列表包括每个三元组的微服务的访问方均为所述第一微服务;所述第一主机节点根据所述第一微服务对应的三元组列表确定所述第一微服务实例的访问策略。
Description
技术领域
本发明涉及通信领域,尤其涉及一种优化的微服务间通信的方法及装置。
背景技术
随着容器等轻量级高效率虚拟化技术的兴起,云计算正向着“云原生”(CloudNative)的方向发展。为了能更好地发挥云原生平台的弹性能力,业务也需要进行“微服务”化的改造,变身为真正的“云原生应用”。当前最流行的云原生计算平台是容器编排引擎(Kubernetes,K8S),以及基于Kubernetes之上的服务网格(Service Mesh,SM)。在K8S中,每个大业务是以一系列的微服务进行部署的,每个微服务中包含数量不等的实例。
现有技术中,同一业务的微服务间通信,通常是对被访问的微服务的虚拟IP地址做访问策略匹配进行的。这种通信方式在微服务数量少的情况下是可行的,但当微服务数量很多时,将会产生大量的访问策略表项,极易影响到系统整体的查询性能与效率。
因此,现有技术中微服务在数量很多的情况下相互通信产生大量的访问策略表项导致影响到系统整体的查询性能与效率是一个亟待解决的问题。
发明内容
本申请实施例提供一种优化的微服务间通信的方法及装置,解决了现有技术中微服务在数量很多的情况下相互通信产生大量的访问策略表项导致影响到系统整体的查询性能与效率的问题。
本申请实施例提供的一种优化的微服务间通信的方法,具体包括:
第一主机节点获取位于所述第一主机节点中的第一微服务实例;
所述第一主机节点确定所述第一微服务实例所属的第一微服务;
所述第一主机节点根据所述第一微服务确定所述第一微服务对应的三元组列表;所述第一微服务对应的三元组列表包括至少一个三元组,每个三元组包括微服务的访问方、微服务的被访问方以及访问端口;所述第一微服务对应的三元组列表包括每个三元组的微服务的访问方均为所述第一微服务;
所述第一主机节点根据所述第一微服务对应的三元组列表确定所述第一微服务实例的访问策略。
一种可能的实现方式,所述第一主机节点确定所述第一微服务实例所属的第一微服务之后,还包括:
所述第一主机节点向服务器发送所述第一微服务;
接收所述服务器返回的所述第一微服务对应的三元组列表。
一种可能的实现方式,还包括:
所述第一主机节点获取位于所述第一主机节点中的第二微服务实例;
当所述第二微服务实例所属的微服务是所述第一微服务时;
所述第一主机节点不需要向所述服务器发送所述第一微服务;
所述第一主机节点根据所述第一微服务对应的三元组列表确定所述第二微服务实例的访问策略。
一种可能的实现方式,还包括:
所述第一主机节点中的所述第一微服务实例被删除时,当查询所述第一微服务实例所属的所述第一微服务在所述第一主机节点中无其他实例;
删除所述第一微服务对应的三元组列表;
所述第一主机节点删除所述第一微服务实例的访问策略。
一种可能的实现方式,还包括:
所述第一主机节点中新增第三微服务实例,当查询所述第三微服务实例所属的第二微服务在所述第一主机节点中无其他实例;
所述第一主机节点根据所述第二微服务确定所述第二微服务对应的三元组列表;
所述第一主机节点根据所述第二微服务对应的三元组列表确定所述第三微服务实例的访问策略。
一种可能的实现方式,还包括:
所述第一主机节点中的所述第一微服务实例被删除时,当查询所述第一微服务实例所属的所述第一微服务在所述第一主机节点中有其他实例;
保持所述第一主机节点根据所述第一微服务对应的三元组列表确定所属所述第一微服务的其他实例的访问策略。
一种可能的实现方式,还包括:
所述第一主机节点中新增第三微服务实例,当查询所述第三微服务实例所属的第二微服务在所述第一主机节点中有其他实例;
保持所述第一主机节点根据所述第二微服务对应的三元组列表确定所述第三微服务实例的访问策略。
本申请实施例提供的一种优化的微服务间通信的装置,具体包括:
获取单元,用于获取位于所述第一主机节点中的第一微服务实例;
确定单元,用于确定所述第一微服务实例所属的第一微服务;根据所述第一微服务确定所述第一微服务对应的三元组列表;所述第一微服务对应的三元组列表包括至少一个三元组,每个三元组包括微服务的访问方、微服务的被访问方以及访问端口;所述第一微服务对应的三元组列表包括每个三元组的微服务的访问方均为所述第一微服务;
还用于根据所述第一微服务对应的三元组列表确定所述第一微服务实例的访问策略。
一种可能的实现方式,所述确定单元,还用于:
所述第一主机节点向服务器发送所述第一微服务;
接收所述服务器返回的所述第一微服务对应的三元组列表。
一种可能的实现方式,还包括:
所述第一主机节点获取位于所述第一主机节点中的第二微服务实例;
当所述第二微服务实例所属的微服务是所述第一微服务时;
所述第一主机节点不需要向所述服务器发送所述第一微服务;
所述第一主机节点根据所述第一微服务对应的三元组列表确定所述第二微服务实例的访问策略。
一种可能的实现方式,还包括:
所述第一主机节点中的所述第一微服务实例被删除时,当查询所述第一微服务实例所属的所述第一微服务在所述第一主机节点中无其他实例;
删除所述第一微服务对应的三元组列表;
所述第一主机节点删除所述第一微服务实例的访问策略。
一种可能的实现方式,还包括:
所述第一主机节点中新增第三微服务实例,当查询所述第三微服务实例所属的第二微服务在所述第一主机节点中无其他实例;
所述第一主机节点根据所述第二微服务确定所述第二微服务对应的三元组列表;
所述第一主机节点根据所述第二微服务对应的三元组列表确定所述第三微服务实例的访问策略。
一种可能的实现方式,还包括:
所述第一主机节点中的所述第一微服务实例被删除时,当查询所述第一微服务实例所属的所述第一微服务在所述第一主机节点中有其他实例;
保持所述第一主机节点根据所述第一微服务对应的三元组列表确定所属所述第一微服务的其他实例的访问策略。
一种可能的实现方式,还包括:
所述第一主机节点中新增第三微服务实例,当查询所述第三微服务实例所属的第二微服务在所述第一主机节点中有其他实例;
保持所述第一主机节点根据所述第二微服务对应的三元组列表确定所述第三微服务实例的访问策略。
本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,使得计算机执行上述任一种可能的设计中的方法。
本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,使得计算机执行上述任一种可能的设计中的方法。
利用本发明提供的一种优化的微服务间通信的方法及装置,具有以下有益效果:通过优化微服务间通信的访问策略,从而提升微服务间通信时的整体查询性能与效率。
附图说明
图1为现有技术的实施例中云POS业务的微服务访问关系拓扑图;
图2为现有技术的实施例中云POS业务的微服务实例在主机上的分布图;
图3为本申请实施例提供的一种优化的微服务间通信的方法的流程图;
图4为本申请实施例提供的一种优化的微服务间通信的方法的微服务访问关系拓扑图;
图5为本申请实施例提供的一种优化的微服务间通信的方法的装置示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
现有技术中,当前最流行的云原生计算平台是K8S,以及基于K8S之上的服务网格。在K8S中,每个大业务是以一系列的微服务进行部署的,每个微服务中包含数量不等的实例,K8S的微服务间通信的策略匹配主要依靠网络包过滤管理(IPtables)或者网络虚拟服务(IP Virtual Server,IPVS)来实现。以IPtables为例,如果要访问某个微服务下所属的某个实例,那么只要在主机上存在这个微服务所属的业务下的任一实例,都要在该台主机上配置这个业务的所有微服务下的所有实例的访问规则。
举例来说,图1为现有技术的实施例中云POS业务的微服务访问关系拓扑图,如图所示,以云销售终端(point of sale,POS)业务为例,该业务有3个微服务,分别是微服务1:网络服务器APACHE、微服务2:云POS支付系统以及微服务3:云POS数据库。微服务1有4个实例,实例的虚拟地址分别为1.1、1.2、1.3和1.4;微服务2有3个实例,实例的虚拟地址分别为2.1、2.2和2.3;微服务3有3个实例,实例的虚拟地址分别为3.1、3.2、3.3。
这些微服务的实例分布在两台主机上,分别是主机1和主机2,如图2所示,图中为现有技术的实施例中云POS业务的微服务实例在主机上的分布图,可以看出,主机1上存储有微服务1的3个实例和微服务3的1个实例;主机2上存储有微服务1的1个实例、微服务2的3个实例和微服务3的2个实例。按照现有技术的微服务间通信方式,不论访问云POS业务下的任一微服务的任一实例,都需要在主机1和主机2上配置所有实例的访问策略,也就是3+4+3=10条策略,配置好的访问策略中同一微服务下的任一实例是以等概率的规则指向最终访问的那个实例,以伪代码表示如下:
vip=1,port=any–>ip=1.1,prob=1/4;(表示访问1号微服务的任何实例,以1/4的概率转到实际地址1.1,以下类同)
vip=1,port=any–>ip=1.2,prob=1/4;
vip=1,port=any–>ip=1.3,prob=1/4;
vip=1,port=any–>ip=1.4,prob=1/4;
vip=2,port=any–>ip=2.1,prob=1/3;
vip=2,port=any–>ip=2.2,prob=1/3;
vip=2,port=any–>ip=2.3,prob=1/3;
vip=3,port=any–>ip=3.1,prob=1/3;
vip=3,port=any–>ip=3.2,prob=1/3;
vip=3,port=any–>ip=3.3,prob=1/3;
从上述举例可以看出,当一个业务中存在有多个微服务,并且每个微服务的实例数量都很多时,在主机上的表项策略数目将变得极为庞大,不仅占用存储空间,同时也会影响查询效率。因此微服务间通信时的访问规则表项的排布有待进一步优化。与此同时,现有技术的访问策略的安全粒度也不够精细。当前的实现方式中,同一个业务下的所有微服务之间的网络默认都可以互访,并未做到精细化的访问控制,造成风险敞口变大,不易管控安全风险。
图3为本申请实施例提供的一种优化的微服务间通信的方法的流程图,具体步骤下面将详细描述。
步骤301:第一主机节点获取位于所述第一主机节点中的第一微服务实例;
步骤302:所述第一主机节点确定所述第一微服务实例所属的第一微服务;
步骤303:所述第一主机节点根据所述第一微服务确定所述第一微服务对应的三元组列表;
所述第一微服务对应的三元组列表包括至少一个三元组,每个三元组包括微服务的访问方、微服务的被访问方以及访问端口;所述第一微服务对应的三元组列表包括每个三元组的微服务的访问方均为所述第一微服务;
步骤304:所述第一主机节点根据所述第一微服务对应的三元组列表确定所述第一微服务实例的访问策略。
具体的,在步骤301之前,用户在服务器上注册微服务间的互访信息,具体如图4所示,图4为本申请实施例提供的一种优化的微服务间通信的方法的微服务访问关系拓扑图,根据微服务之间的访问拓扑图,将图中的每条有向边转换为三元组,并向系统注册。每个三元组按逻辑表示为(in,jn,pn),其中,in为第一键值,表示微服务的访问方;jn为第二键值,表示所述微服务的被访问方;pn为第三键值,表示in访问jn时的端口;举例来说,图中的微服务1通过端口3336访问微服务2的三元组表示为(1,2,3336),微服务2通过端口6001访问微服务3的三元组表示为(2,3,6001)。
步骤301-步骤302,通过这两步骤,在第一主机节点上确定第一微服务实例所属的第一微服务,这里以一个微服务实例为例,若第一主机节点上有多个微服务实例,则遍历第一主机节点上其它的微服务实例,按照所属微服务的对应关系,得到第一主机节点上包含的所有微服务的列表。
在步骤303之前,第一主机节点向服务器发送第一微服务,查询到第一微服务对应的三元组列表后,第一主机节点接收服务器返回的第一微服务对应的三元组列表。当第一主机节点中有第二微服务实例,当第二微服务实例所属的微服务是第一微服务时,第一主机节点不需要向服务器发送所述第一微服务进行查询,根据已查询到的第一微服务对应的三元组列表即可。
步骤303中第一微服务对应的三元组列表是按照用户在服务器上注册的微服务间的互访信息得到的,举例来说,同一业务下的微服务有10个,分别是微服务1、微服务2直到微服务10;微服务1有3个实例,分别是实例1、实例2和实例3,用户在服务器上注册的微服务间的互访关系中,涉及微服务1的关系有(1,2,3336)和(1,3,3306),其中第一主机节点上有微服务1下的实例1,则微服务1对应的三元组列表有2个三元组,即当微服务1作为访问方的(1,2,3336)和(1,3,3306)。
步骤304中,在第一主机节点上的三元组列表已确定后,因为三元组列表是微服务间的逻辑关系的表示,当在微服务间通信时,需要将三元组列表通过规则分发引擎转换为网络通信时可识别并执行的网络访问策略,比如,当前最流行的云原生计算平台是K8S,以及基于K8S之上的服务网格。在K8S中,每个大业务是以一系列的微服务进行部署的,每个微服务中包含数量不等的实例,K8S的微服务间通信的策略匹配主要依靠网络包过滤管理(IPtables)或者网络虚拟服务(IP Virtual Server,IPVS)来实现,对应于这里的三元组列表,也即需要转换为IPtables或者IPVS的访问策略进行配置。
上述的步骤301-步骤304完成了现有技术中访问策略优化的工作,并且是在主机节点上没有发生实例变化的情况下,而当主机节点上有实例发生变化时,详细情况如下描述。
当主机节点上因存储空间等原因需要删除实例时,具体步骤如下。
步骤305:所述第一主机节点中的所述第一微服务实例被删除时,当查询所述第一微服务实例所属的所述第一微服务在所述第一主机节点中无其他实例;删除所述第一微服务对应的三元组列表;所述第一主机节点删除所述第一微服务实例的访问策略。
步骤306:所述第一主机节点中的所述第一微服务实例被删除时,当查询所述第一微服务实例所属的所述第一微服务在所述第一主机节点中有其他实例;保持所述第一主机节点根据所述第一微服务对应的三元组列表确定所属所述第一微服务的其他实例的访问策略。
其中,步骤305中,举例来说,第一微服务有3个实例,分别是实例1、实例2和实例3,其中实例1存储在第一主机节点上,实例2和实例3存储在第二主机节点上,实例1所属的第一微服务的访问策略按三元组表示是(1,2,3336)和(1,3,3306),在实例1被删除的情况下,第一主机节点上已不存在第一微服务下的任一实例,这时就需要删除第一主机节点上的访问策略中涉及第一微服务的三元组列表(1,2,3336)和(1,3,3306)。
步骤305的情况是,第一主机节点中的第一微服务实例被删除时,查询到第一微服务实例所属的第一微服务在第一主机节点中无其他实例;另一种情况就是步骤306中的第一主机节点中的第一微服务实例被删除时,查询到第一微服务实例所属的第一微服务在第一主机节点中有其他实例。
举例来说,第一微服务有3个实例,分别是实例1、实例2和实例3,其中实例1和实例2存储在第一主机节点上,实例3存储在第二主机节点上,实例1所属的第一微服务的访问策略按三元组表示是(1,2,3336)和(1,3,3306),在实例1被删除的情况下,第一主机节点上仍存在第一微服务下的实例2,这时就不需要做删除第一微服务的访问策略操作,继续保持第一主机节点上第一微服务的访问策略即可。
步骤305-306是从主机节点上有实例删除的角度展开,下面的步骤307-308则是从主机节点上有实例新增的角度展开,具体步骤如下。
步骤307:所述第一主机节点中新增第三微服务实例,当查询所述第三微服务实例所属的第二微服务在所述第一主机节点中无其他实例;所述第一主机节点根据所述第二微服务确定所述第二微服务对应的三元组列表;所述第一主机节点根据所述第二微服务对应的三元组列表确定所述第三微服务实例的访问策略。
步骤308:所述第一主机节点中新增第三微服务实例,当查询所述第三微服务实例所属的第二微服务在所述第一主机节点中有其他实例;保持所述第一主机节点根据所述第二微服务对应的三元组列表确定所述第三微服务实例的访问策略。
其中,步骤307中,举例来说,第二微服务有3个实例,分别是实例1、实例2和实例3,其中实例1存储在第二主机节点上,实例2和实例3存储在第三主机节点上,第二微服务的访问策略按三元组表示是(2,3,6001),可以看出第二微服务的任一实例都不存在于第一主机节点,当出于主机间存储空间优化的考虑,将实例3从第三主机节点移出并新增至第一主机节点时,这时就需要新增第一主机节点上的访问策略中涉及第二微服务的三元组列表(2,3,6001)。
步骤307的情况是,第一主机节点中新增第三微服务实例,当查询第三微服务实例所属的第二微服务在第一主机节点中无其他实例;另一种情况就是步骤308中的第一主机节点中新增第三微服务实例,当查询第三微服务实例所属的第二微服务在第一主机节点中有其他实例。
举例来说,第二微服务有3个实例,分别是实例1、实例2和实例3,其中实例1存储在第一主机节点上,实例2和实例3存储在第三主机节点上,第二微服务的访问策略按三元组表示是(2,3,6001),当出于主机间存储空间优化的考虑,将实例3从第三主机节点移出并新增至第一主机节点时,第一主机节点上仍存在第二微服务下的实例1,这时就不需要做新增第二微服务的访问策略操作,继续保持第一主机节点上第二微服务的访问策略即可。
结合图1中现有技术的实施例中云POS业务来说明本申请实施例中一种优化的微服务间通信的方法,如图中所示,3个微服务间的访问关系按三元组表示有(1,2,80)和(2,3,3306),结合图2中云POS业务的微服务实例在主机上的分布,其中,主机1上存储有微服务1的3个实例和微服务3的1个实例;主机2上存储有微服务1的1个实例、微服务2的3个实例和微服务3的2个实例,按照三元组列表对应的访问策略来配置主机1和主机2中的微服务实例,具体分别如下:
主机1上,只需要配置访问微服务2的策略:
vip=2,port=80–>ip=2.1,prob=1/3;
vip=2,port=80–>ip=2.2,prob=1/3;
vip=2,port=80–>ip=2.3,prob=1/3;
主机2上,只需要配置访问微服务2以及访问微服务3的策略:
vip=2,port=80–>ip=2.1,prob=1/3;
vip=2,port=80–>ip=2.2,prob=1/3;
vip=2,port=80–>ip=2.3,prob=1/3;
vip=3,port=3306–>ip=3.1,prob=1/3;
vip=3,port=3306–>ip=3.2,prob=1/3;
vip=3,port=3306–>ip=3.3,prob=1/3;
可以看出,主机1的访问策略数量减少到3条,主机2的访问策略数量减少到6条,都较现有技术中在主机1和主机2上分别配置10条访问策略的数据有较大幅度减少,而且访问策略的粒度更加细化,在优化访问策略的同时也提升了微服务间通信的安全性。
图5为本申请实施例提供的一种优化的微服务间通信的方法的装置示意图,包括获取单元501和确定单元502,详细描述如下。
获取单元,用于获取位于所述第一主机节点中的第一微服务实例;
确定单元,用于确定所述第一微服务实例所属的第一微服务;根据所述第一微服务确定所述第一微服务对应的三元组列表;所述第一微服务对应的三元组列表包括至少一个三元组,每个三元组包括微服务的访问方、微服务的被访问方以及访问端口;所述第一微服务对应的三元组列表包括每个三元组的微服务的访问方均为所述第一微服务;
还用于根据所述第一微服务对应的三元组列表确定所述第一微服务实例的访问策略。
最后应说明的是:本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种优化的微服务间通信的方法,其特征在于,包括:
第一主机节点获取位于所述第一主机节点中的第一微服务实例;
所述第一主机节点确定所述第一微服务实例所属的第一微服务;
所述第一主机节点根据所述第一微服务确定所述第一微服务对应的三元组列表;所述第一微服务对应的三元组列表包括至少一个三元组,每个三元组包括微服务的访问方、微服务的被访问方以及访问端口;所述第一微服务对应的三元组列表包括每个三元组的微服务的访问方均为所述第一微服务;
所述第一主机节点根据所述第一微服务对应的三元组列表确定所述第一微服务实例的访问策略。
2.如权利要求1所述的方法,其特征在于,所述第一主机节点确定所述第一微服务实例所属的第一微服务之后,还包括:
所述第一主机节点向服务器发送所述第一微服务;
接收所述服务器返回的所述第一微服务对应的三元组列表。
3.如权利要求1所述的方法,其特征在于,还包括:
所述第一主机节点获取位于所述第一主机节点中的第二微服务实例;
当所述第二微服务实例所属的微服务是所述第一微服务时;
所述第一主机节点不需要向所述服务器发送所述第一微服务;
所述第一主机节点根据所述第一微服务对应的三元组列表确定所述第二微服务实例的访问策略。
4.如权利要求1所述的方法,其特征在于,还包括:
所述第一主机节点中的所述第一微服务实例被删除时,当查询所述第一微服务实例所属的所述第一微服务在所述第一主机节点中无其他实例;
删除所述第一微服务对应的三元组列表;
所述第一主机节点删除所述第一微服务实例的访问策略。
5.如权利要求1所述的方法,其特征在于,还包括:
所述第一主机节点中新增第三微服务实例,当查询所述第三微服务实例所属的第二微服务在所述第一主机节点中无其他实例;
所述第一主机节点根据所述第二微服务确定所述第二微服务对应的三元组列表;
所述第一主机节点根据所述第二微服务对应的三元组列表确定所述第三微服务实例的访问策略。
6.如权利要求1所述的方法,其特征在于,还包括:
所述第一主机节点中的所述第一微服务实例被删除时,当查询所述第一微服务实例所属的所述第一微服务在所述第一主机节点中有其他实例;
保持所述第一主机节点根据所述第一微服务对应的三元组列表确定所属所述第一微服务的其他实例的访问策略。
7.如权利要求1所述的方法,其特征在于,还包括:
所述第一主机节点中新增第三微服务实例,当查询所述第三微服务实例所属的第二微服务在所述第一主机节点中有其他实例;
保持所述第一主机节点根据所述第二微服务对应的三元组列表确定所述第三微服务实例的访问策略。
8.一种优化的微服务间通信的装置,其特征在于,包括:
获取单元,用于获取位于所述第一主机节点中的第一微服务实例;
确定单元,用于确定所述第一微服务实例所属的第一微服务;根据所述第一微服务确定所述第一微服务对应的三元组列表;所述第一微服务对应的三元组列表包括至少一个三元组,每个三元组包括微服务的访问方、微服务的被访问方以及访问端口;所述第一微服务对应的三元组列表包括每个三元组的微服务的访问方均为所述第一微服务;
还用于根据所述第一微服务对应的三元组列表确定所述第一微服务实例的访问策略。
9.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至7中任意一项所述的方法被执行。
10.一种存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至7中任意一项所述的方法被执行。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910690826.8A CN110417777B (zh) | 2019-07-29 | 2019-07-29 | 一种优化的微服务间通信的方法及装置 |
US17/596,420 US11683316B2 (en) | 2019-07-29 | 2020-07-17 | Method and device for communication between microservices |
PCT/CN2020/102847 WO2021017907A1 (zh) | 2019-07-29 | 2020-07-17 | 一种优化的微服务间通信的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910690826.8A CN110417777B (zh) | 2019-07-29 | 2019-07-29 | 一种优化的微服务间通信的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417777A true CN110417777A (zh) | 2019-11-05 |
CN110417777B CN110417777B (zh) | 2021-05-14 |
Family
ID=68363923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910690826.8A Active CN110417777B (zh) | 2019-07-29 | 2019-07-29 | 一种优化的微服务间通信的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11683316B2 (zh) |
CN (1) | CN110417777B (zh) |
WO (1) | WO2021017907A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021017907A1 (zh) * | 2019-07-29 | 2021-02-04 | 中国银联股份有限公司 | 一种优化的微服务间通信的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806609B (zh) * | 2024-02-28 | 2024-05-10 | 中国人民公安大学 | 一种基于知识图谱和微服务的生成式低代码开发系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135203A (zh) * | 2017-04-05 | 2017-09-05 | 北京明朝万达科技股份有限公司 | 一种终端访问控制策略优化的方法及系统 |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
US20180241643A1 (en) * | 2017-02-17 | 2018-08-23 | Dell Products L.P. | Placement of application services in converged infrastructure information handling systems |
CN108965442A (zh) * | 2018-07-23 | 2018-12-07 | 珠海宏桥高科技有限公司 | 一种微服务架构服务分发系统及模式优化方法 |
CN109032567A (zh) * | 2018-07-06 | 2018-12-18 | 航天星图科技(北京)有限公司 | 一种微服务环境中的服务开发和运行方法及其模型 |
CN109254859A (zh) * | 2018-09-12 | 2019-01-22 | 中国人民解放军国防科技大学 | 一种多层控制的自适应微服务系统 |
US20190058714A1 (en) * | 2017-08-15 | 2019-02-21 | Gigamon Inc. | Dynamic Decryption of Suspicious Network Traffic Based on Certificate Validation |
CN109408207A (zh) * | 2018-09-20 | 2019-03-01 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489275B2 (en) * | 2016-10-20 | 2019-11-26 | Cisco Technology, Inc. | Agentless distributed monitoring of microservices through a virtual switch |
CN109818902B (zh) * | 2017-11-21 | 2021-08-17 | 中国电信股份有限公司 | 业务自动部署方法、服务调度管理模块以及epg平台 |
CN109995713B (zh) * | 2017-12-30 | 2020-11-27 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN108833462A (zh) | 2018-04-13 | 2018-11-16 | 中国科学院信息工程研究所 | 一种面向微服务的自注册服务发现的系统及方法 |
US10896084B2 (en) * | 2018-05-02 | 2021-01-19 | International Business Machines Corporation | Isolating service issues in a microservice architecture |
CN110417777B (zh) | 2019-07-29 | 2021-05-14 | 中国银联股份有限公司 | 一种优化的微服务间通信的方法及装置 |
-
2019
- 2019-07-29 CN CN201910690826.8A patent/CN110417777B/zh active Active
-
2020
- 2020-07-17 WO PCT/CN2020/102847 patent/WO2021017907A1/zh active Application Filing
- 2020-07-17 US US17/596,420 patent/US11683316B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
US20180241643A1 (en) * | 2017-02-17 | 2018-08-23 | Dell Products L.P. | Placement of application services in converged infrastructure information handling systems |
CN107135203A (zh) * | 2017-04-05 | 2017-09-05 | 北京明朝万达科技股份有限公司 | 一种终端访问控制策略优化的方法及系统 |
US20190058714A1 (en) * | 2017-08-15 | 2019-02-21 | Gigamon Inc. | Dynamic Decryption of Suspicious Network Traffic Based on Certificate Validation |
CN109032567A (zh) * | 2018-07-06 | 2018-12-18 | 航天星图科技(北京)有限公司 | 一种微服务环境中的服务开发和运行方法及其模型 |
CN108965442A (zh) * | 2018-07-23 | 2018-12-07 | 珠海宏桥高科技有限公司 | 一种微服务架构服务分发系统及模式优化方法 |
CN109254859A (zh) * | 2018-09-12 | 2019-01-22 | 中国人民解放军国防科技大学 | 一种多层控制的自适应微服务系统 |
CN109408207A (zh) * | 2018-09-20 | 2019-03-01 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
刘一田,林亭君,刘士进: ""柔性微服务安全访问控制框架"", 《计算机系统应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021017907A1 (zh) * | 2019-07-29 | 2021-02-04 | 中国银联股份有限公司 | 一种优化的微服务间通信的方法及装置 |
US11683316B2 (en) | 2019-07-29 | 2023-06-20 | China Unionpay Co., Ltd. | Method and device for communication between microservices |
Also Published As
Publication number | Publication date |
---|---|
US11683316B2 (en) | 2023-06-20 |
WO2021017907A1 (zh) | 2021-02-04 |
US20220311773A1 (en) | 2022-09-29 |
CN110417777B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427766B (zh) | 一种请求处理方法、装置和代理服务器 | |
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
JP2018088293A (ja) | 単一テナント及び複数テナント環境を提供するデータベースシステム | |
US20220391260A1 (en) | Method and Apparatus for Creating Container, Device, Medium, and Program Product | |
CN108664516A (zh) | 查询优化方法及相关装置 | |
EP3076307A1 (en) | Method and device for responding to a request, and distributed file system | |
CN108572991A (zh) | 数据库处理方法、装置和存储介质 | |
CN105677904B (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
US20220043675A1 (en) | Graph computing method and apparatus | |
WO2014094421A1 (zh) | 数据处理方法和虚拟机管理平台 | |
CN114077680B (zh) | 一种图数据的存储方法、系统及装置 | |
CN110392882A (zh) | 在包括虚拟化网络功能的网络中批量创建被管功能 | |
CN106933891A (zh) | 访问分布式数据库的方法和分布式数据服务的装置 | |
CN104866976A (zh) | 面向多租户的管理信息系统 | |
CN105302536A (zh) | MapReduce应用的相关参数的配置方法和装置 | |
CN109471725A (zh) | 资源分配方法、装置和服务器 | |
CN110417777A (zh) | 一种优化的微服务间通信的方法及装置 | |
CN103294799B (zh) | 一种数据并行批量导入只读查询系统的方法及系统 | |
CN110019444A (zh) | 一种操作请求处理方法、装置、设备及系统 | |
CN107257356B (zh) | 一种基于超图分割的社交用户数据优化放置方法 | |
US11762932B2 (en) | Spatial search using key-value store | |
CN107547382B (zh) | 一种邻居关系发现方法和装置 | |
US11435926B2 (en) | Method, device, and computer program product for managing storage system | |
CN114640678A (zh) | 基于SR-IOV的Pod管理方法、设备及介质 | |
TW202315360A (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 |