CN110519379A - 基于微服务的请求处理方法及设备 - Google Patents
基于微服务的请求处理方法及设备 Download PDFInfo
- Publication number
- CN110519379A CN110519379A CN201910810353.0A CN201910810353A CN110519379A CN 110519379 A CN110519379 A CN 110519379A CN 201910810353 A CN201910810353 A CN 201910810353A CN 110519379 A CN110519379 A CN 110519379A
- Authority
- CN
- China
- Prior art keywords
- micro services
- domain name
- request
- service request
- address
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
- H04L61/3025—Domain name generation or assignment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种基于微服务的请求处理方法、基于微服务的请求处理装置、计算机可读介质及电子设备,涉及通信技术领域。该基于微服务的请求处理方法可以包括:根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名;构建所述虚拟域名与所述实际地址之间的映射关系;根据所述映射关系确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务。本发明实施例的技术方案通过地址参数生成虚拟域名,可以利用域名映射确定服务请求对应的目标微服务,操作简单,能够避免人工修改微服务访问路径后造成请求转发错误的问题。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种基于微服务的请求处理方法、基于微服务的请求处理装置、计算机可读介质及电子设备。
背景技术
随着应用云化的日益普及和开源轻量级技术的日渐成熟,大多数应用都运用微服务架构进行开发。
目前,使用微服务开发的场景下,一般会使用前置的接口网关来接收来自服务集群外部的请求,然后再进行路由。由于接口网关的ip和端口都是提前设置好后对外开放的,如果一个新的微服务需要用现有接口网关进行路由,通常通过HTTP请求中的路径部分进行路由。然而,如果多个系统间存在相同的路径就无法通过路径进行路由判断,需要进行人工修改路径,操作繁琐。并且,修改路径后还会造成实际请求路径和最终路由的接口不一致的情况,造成接口网关将对微服务的请求转发错误的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种基于微服务的请求处理方法、微服务请求处理装置、计算机可读介质及电子设备,进而至少在一定程度上克服微服务请求被转发错误的问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种基于微服务的请求处理方法,该方法可以包括:根据微服务的实际地址的地址参数生成所述微服务的虚拟域名;构建所述虚拟域名与所述微服务的实际地址之间的映射规则;根据所述映射规则确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务。
在一示例性实施例中,所述根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名可以包括:将所述微服务的多个地址参数按照预设规则进行组合生成所述微服务对应的虚拟域名。
在一示例性实施例中,所述根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名可以包括:将微服务的协议地址、端口和文件路径通过预定符号连接,获得所述虚拟域名。
在一示例性实施例中,所述根据所述映射关系确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务,包括:通过服务代理接收客户端发送的服务请求,确定所述服务请求的请求头中包含的虚拟域名;根据所述映射关系确定所述虚拟域名对应的实际地址;将所述服务请求转发至所述实际地址,以使所述目标微服务处理所述服务请求。
在一示例性实施例中,将所述服务请求转发至所述实际地址,以使所述目标微服务处理所述服务请求之后,该方法还可以包括:将所述目标微服务处理所述服务请求后的输出数据发送给所述客户端。
在一示例性实施例中,根据所述映射关系确定所述虚拟域名对应的实际地址之前,该方法还可以包括:响应请求头中包含请求域名的服务请求,通过所述请求域名中包含的目标字符串确定所述服务请求的虚拟域名。
在一示例性实施例中,所述构建所述虚拟域名与所述实际地址之间的映射关系可以包括:在所述虚拟域名后添加所述目标字符串获得请求域名,构建所述请求域名与所述实际地址之间的映射关系。
根据本发明实施例的第二方面,提供了一种基于微服务的请求处理装置,包括:域名生成单元,用于根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名;映射构建单元,用于构建所述虚拟域名与所述实际地址之间的映射关系;请求转发单元,用于根据所述映射关系确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务。
在一示例性实施例中,域名生成单元可以用于将所述微服务的多个地址参数按照预设规则进行组合生成所述微服务对应的虚拟域名。
在一示例性实施例中,域名生成单元可以用于将微服务的协议地址、端口和文件路径通过预定符号连接,获得所述虚拟域名。
在一示例性实施例中,请求转发单元可以包括请求接收单元、请求映射单元以及转发确定单元。
其中,请求接收单元,用于通过服务代理接收客户端发送的服务请求,确定所述服务请求的请求头中包含的虚拟域名;请求映射单元,用于根据所述映射关系确定所述虚拟域名对应的实际地址;转发确定单元,用于将所述服务请求转发至所述实际地址,以使所述目标微服务处理所述服务请求。
在一示例性实施例中,该基于微服务的请求处理装置还可以包括输出转发单元。该输出转发单元可以用于将所述目标微服务处理所述服务请求后的输出数据发送给所述客户端。
在一示例性实施例中,该基于微服务的请求处理装置还可以包括请求响应单元。该请求响应单元可以用于响应请求头中包含请求域名的服务请求,通过所述请求域名中包含的目标字符串确定所述服务请求的虚拟域名。
在一示例性实施例中,映射构建单元可以用于在所述虚拟域名后添加所述目标字符串获得请求域名,构建所述请求域名与所述实际地址之间的映射关系。
根据本发明实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的基于微服务的请求处理方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的基于微服务的请求处理方法。
本发明实施例提供的技术方案可以包括以下有益效果:
在本发明的一些实施例所提供的技术方案中,一方面,通过微服务的实际地址中包含的地址参数生成微服务的虚拟域名,不同的微服务生成的虚拟域名不同,并且该虚拟域名可以直接映射到实际地址,从而可以避免微服务路由时由于修改了文件路径而导致转发出错的问题,提高转发的准确率。另一方面,可以利用域名解析获取服务请求中包含的虚拟域名,从而根据虚拟域名与实际地址的映射关系转发对微服务的请求,处理过程简单易于部署;并且,直接通过虚拟域名访问到对应的微服务,能够提高请求处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的实施例的基于微服务的请求处理方法的流程图;
图2示意性示出了根据本发明的另一实施例的基于微服务的请求处理方法的流程图;
图3示意性示出了根据本发明的实施例的基于微服务的请求处理装置的框图;
图4示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本发明实施例中首先提供一种基于微服务的请求处理方法,如图1所示,该方法可以包括以下步骤:
S110.根据微服务的实际地址的地址参数生成所述微服务的虚拟域名;
S120.构建所述虚拟域名与所述实际地址之间的映射规则;
S130.根据所述映射规则确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务。
根据本示例实施方式的基于微服务的请求处理方法,一方面,通过微服务的实际地址中包含的地址参数生成微服务的虚拟域名,不同的微服务生成的虚拟域名不同,并且该虚拟域名可以直接映射到实际地址,从而可以避免微服务路由时由于文件路径相同而导致转发出错的问题,提高转发的准确率。另一方面,通过生成的虚拟域名可以利用域名解析获取服务请求中包含的虚拟域名,从而根据虚拟域名与实际地址的映射关系转发对微服务的请求,处理过程简单易于部署;并且,能够直接通过虚拟域名访问到对应的微服务,提高了请求处理效率。
本示例实施方式的基于微服务的请求处理方法的执行主体可以包括具有计算处理功能的设备,例如服务器、代理服务器、虚拟主机等,也可以其他设备,例如接口网关。下面,对本示例实施方式的基于微服务的请求处理方法的各个步骤的具体实施方式进行详细说明。
对于步骤S110,根据微服务的实际地址的地址参数生成微服务对应的虚拟域名。
其中,微服务可以包括能够完成某种任务的应用程序,或者应用软件中的最小单元模块。并且,微服务也可以包括一种系统架构模式,该系统架构可以将应用分为多个单元,每个单元包含一种服务,每个服务可以采用不同的开发技术,服务与服务之间可以通过API(应用程序编程接口,Application Programming Interface)进行访问。并且,该微服务能够实现各种功能,例如输出数据、数据计算等。
多个微服务可以构成微服务集群,在该微服务集群中每个微服务可以部署在不同的容器中。微服务的地址参数可以包括部署微服务的容器的地址中包含的参数,例如ip、端口号;或者,也可以包括微服务所在的虚拟主机的地址的参数。此外,微服务的地址参数还可以包括保存微服务的应用程序的文件路径,例如/load/text/等。当然,微服务的地址参数还可以包括其他参数,例如微服务采用的传输协议(例如http协议、ftp协议)等。
微服务的实际地址可以指访问微服务时使用的地址,或者微服务的接口,不同的微服务通过不同的实际地址进行访问。微服务的实际地址中可以包含多个地址参数,例如ip、端口号等。将微服务的地址参数可以确定为虚拟域名。多个地址参数可以进行组合得到微服务对应的虚拟域名,例如,将微服务所在的主机的ip加端口号确定为微服务对应的虚拟域名、将微服务所在的ip地址和端口号和文件路径确定为微服务对应的虚拟域名。将地址参数进行组合后得到的虚拟域名可以唯一标识一微服务。并且,多个微服务的地址参数进行组合时可以按照特定的顺序,例如ip为1.1.1.1、端口为80、文件路径为/S1,则可以按照ip、端口、文件路径的顺序进行组合,从而得到虚拟域名为1.1.1.1:80/S1。当然,多个地址参考也可以通过其他方式进行组合生成微服务对应的虚拟域名,例如按照ip地址、端口号的顺序进行组合得到微服务对应的虚拟域名。
示例性实施例中,根据微服务的地址参数生成微服务对应的虚拟域名还可以包括以下步骤:将微服务的协议地址、端口和文件路径通过预定符号连接,获得微服务对应的虚拟域名。举例而言,将微服务的协议地址、端口和文件路径之间可以通过下划线连接,例如1_1_1_1_80_s1;或者也可以将微服务的协议地址、端口和文件路径通过其他程序能够识别的符合连接,例如?、#等,本示例实施方式对此不做特殊限定。
对于步骤S120,构建虚拟域名与微服务实际地址之间的映射关系。
微服务的虚拟域名与实际地址可以一一映射。示例性地,通过数据库可以定义实际地址与虚拟域名之间的一一映射关系,形成实际地址与虚拟域名的映射规则表。通过该映射规则表可以对实际地址进行路由。通过域名解析(Domain Name System,简写:DNS)可以实现虚拟域名与实际地址之间的映射关系。或者,也可以通过其他方式建立映射关系,例如表映射、键值对等。
对于步骤S130,根据映射关系确定服务请求对应的实际地址,已将所述服务请求转发至目标微服务。
其中,服务请求可以指客户端发送的对微服务的请求,该请求可以包括HTTP请求,因此该服务请求可以体现为URL(Uniform Resource Locator,统一资源定位符)。并且,服务请求中可以包括请求头和请求体,请求头中可以包括域名,以及客户端的信息,例如客户端版本、客户端的语言环境等。请求头中还可以包括其他信息,例如请求体的长度。请求体中可以包括客户端请求的数据。
客户端可以通过URL向微服务集群发送服务请求,通过代理服务器可以接收对于该微服务集群的服务请求。代理服务器接收到服务请求后,能够对服务请求进行解析并根据映射关系确定出服务请求对应的实际地址,从而将服务请求转发给集群内部的目标微服务。此外,还可以通过接口网关接收服务请求,接口网关还可以对不属于微服务集群的服务请求进行过滤。
参考图2,示例性实施方式中,步骤S130可以具体包括以下步骤:
S201.通过服务代理接收客户端发送的服务请求,确定所述服务请求的请求头中包含的虚拟域名;
S202.根据所述映射关系确定所述虚拟域名对应的实际地址;
S203.将所述服务请求转发至所述实际地址,以使所述目标微服务处理所述服务请求。
服务代理可以包括能够代替服务器接收客户端请求的程序,例如nginx程序,接口网关等;或者,也可以包括其他具有代理程序的设备,例如代理服务器、虚拟主机等。服务代理可以接收客户端的请求,并且能够将服务器发送给客户端的数据转发至对应的客户端。
来自外部客户端的服务请求被服务代理接收后,可以解析出该服务请求的请求头中包含的虚拟域名,该虚拟域名为服务请求需要调用的目标微服务对应的虚拟域名。然后,通过虚拟域名与实际地址的映射关系,可以确定服务请求的请求头中包含的虚拟域名对应的实际地址,进而对该服务请求进行转发,或者调用集群内部对应的目标微服务处理该服务请求。并且,服务代理还可以将目标微服务对该服务请求处理后的输出数据发送给客户端。具体地,服务请求的请求体中包含了客户端需要的数据的字段,该字段可以为微服务的输入参数,运行目标微服务后获得输出数据,通过服务代理将该输出数据发送给客户端。
为了使来自外部客户端的服务请求被服务代理接收,服务请求中包含请求域名,该请求域名可以包括服务代理的标识信息,该标识信息可以为一目标字符串,例如服务代理的域名、接口地址等。因此,在确定服务请求的请求头中的虚拟域名时,需要先将服务代理的标识信息识别出来。服务代理可以通过通配符域名映射来过滤服务请求,则能够被服务代理响应的请求其域名符合通配符域名的要求。通配符域名可以指包含通配符以及目标字符串的域名。其中,通配符可以表示任何一个或者多个字符,例如“*”、“?”。设置通配符域名映射,可以使得对包含目标字符串以及通配符的域名采用统一的映射规则。举例而言,如果设置通配符域名为*.apps.localdomain.com,则包含的.apps.localdomain.com的域名均采用对该类域名预先设置的映射规则,例如,映射规则可以是将通配符实际所表示字符或者字符串作为域名,如果服务请求为http://1_1_1_1_80_s1.apps.localdomain.com/s1,则可以确定其域名为1_1_1_1_80_s1。
因此,可以通过目标字符串来确定服务请求的请求头中包含的虚拟域名。根据服务代理设置的通配符域名可以确定从通配符域名中去掉目标字符串,得到的通配符所实际表示的字符串为请求头包含的虚拟域名,即步骤S110中确定的微服务对应的虚拟域名。并且,通过接口网关接收客户端的服务请求时还可以对服务请求进行过滤。具体地,接收到客户端发送的服务请求后,判断该服务请求的请求头中是否包含目标字符串,如果包含,则确定通配符表示的虚拟域名,如果不包含,则不响应该服务请求。
此外,可以手动对映射关系进行一一配置,在配置文件中对微服务对应的虚拟域名后添加上目标字符串,得到请求域名,该请求域名可以指客户端发送服务请求时,服务请求的请求头中包含的域名。设置该请求域名与实际地址的映射关系,可以使服务代理在接收到服务请求时,直接根据服务请求的请求头中包含的信息确定请求域名,进而确定请求域名对应的实际地址。例如,微服务的虚拟域名为“1_1_1_1_80_s1”对应的实际地址为“http://1.1.1.1:80/s1”,在配置文件中指定请求头为“1_1_1_1_80_s1.apps.localdomain.com”的对应的实际地址为“http://1.1.1.1:80/s1”。从而,使得通过服务代理接收的服务请求能够被正确地转发到对应的微服务,获得客户端需要的数据。
以下介绍本发明的装置实施例,可以用于执行本发明上述的基于微服务的请求处理方法。如图3所示,该基于微服务的请求处理装置300可以包括域名生成单元310、映射构建单元320以及请求转发单元330。具体地:
域名生成单元310,用于根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名;映射构建单元320,用于构建所述虚拟域名与所述实际地址之间的映射关系;请求转发单元330,用于根据所述映射关系确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务。
在示例性实施方式中,域名生成单元310可以用于将所述微服务的多个地址参数按照预设规则进行组合生成所述微服务对应的虚拟域名。
在示例性实施方式中,域名生成单元310可以用于将微服务的协议地址、端口和文件路径通过预定符号连接,获得所述虚拟域名。
在示例性实施方式中,请求转发单元330可以包括请求接收单元、请求映射单元以及转发确定单元。
其中,请求接收单元,用于通过服务代理接收客户端发送的服务请求,确定所述服务请求的请求头中包含的虚拟域名;请求映射单元,用于根据所述映射关系确定所述虚拟域名对应的实际地址;转发确定单元,用于将所述服务请求转发至所述实际地址,以使所述目标微服务处理所述服务请求。
在示例性实施方式中,该基于微服务的请求处理装置还可以包括输出转发单元。该输出转发单元可以用于将所述目标微服务处理所述服务请求后的输出数据发送给所述客户端。
在示例性实施方式中,该基于微服务的请求处理装置还可以包括请求响应单元。该请求响应单元可以用于响应请求头中包含请求域名的服务请求,通过所述请求域名中包含的目标字符串确定所述服务请求的虚拟域名。
在示例性实施方式中,映射构建单元320可以用于在所述虚拟域名后添加所述目标字符串获得请求域名,构建所述请求域名与所述实际地址之间的映射关系。
由于本发明的示例实施例的基于微服务的请求处理装置的各个功能模块与上述基于微服务的请求处理方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的基于微服务的请求处理方法的实施例。
下面参考图4,其示出了适于用来实现本发明实施例的电子设备的计算机系统400的结构示意图。图4示出的电子设备的计算机系统400仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统操作所需的各种程序和数据。CPU401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的基于微服务的请求处理方法。
例如,所述的电子设备可以实现如图1中所示的:步骤S110,根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名;步骤S120,构建所述虚拟域名与所述实际地址之间的映射关系;步骤S130,根据所述映射关系确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务。
又如,所述的电子设备可以实现如图2所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基于微服务的请求处理方法,其特征在于,包括:
根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名;
构建所述虚拟域名与所述实际地址之间的映射关系;
根据所述映射关系确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务。
2.根据权利要求1所述的方法,其特征在于,所述根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名,包括:
将所述微服务的多个地址参数按照预设规则进行组合生成所述微服务对应的虚拟域名。
3.根据权利要求2所述的方法,其特征在于,所述根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名,包括:
将微服务的协议地址、端口和文件路径通过预定符号连接,获得所述虚拟域名。
4.根据权利要求1所述的方法,其特征在于,所述根据所述映射关系确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务,包括:
通过服务代理接收客户端发送的服务请求,确定所述服务请求的请求头中包含的虚拟域名;
根据所述映射关系确定所述虚拟域名对应的实际地址;
将所述服务请求转发至所述实际地址,以使所述目标微服务处理所述服务请求。
5.根据权利要求4所述的方法,其特征在于,将所述服务请求转发至所述实际地址,以使所述目标微服务处理所述服务请求之后,还包括:
将所述目标微服务处理所述服务请求后的输出数据发送给所述客户端。
6.根据权利要求1所述的方法,其特征在于,根据所述映射关系确定服务请求对应的实际地址之前,还包括:
响应请求头中包含请求域名的服务请求,通过所述请求域名中包含的目标字符串确定所述服务请求的虚拟域名。
7.根据权利要求6所述的方法,其特征在于,所述构建所述虚拟域名与所述实际地址之间的映射关系,包括:
在所述虚拟域名后添加所述目标字符串获得请求域名,构建所述请求域名与所述实际地址之间的映射关系。
8.一种基于微服务的请求处理装置,其特征在于,包括:
域名生成单元,用于根据微服务的实际地址的地址参数生成所述微服务对应的虚拟域名;
映射构建单元,用于构建所述虚拟域名与所述实际地址之间的映射关系;
请求转发单元,用于根据所述映射关系确定服务请求对应的实际地址,以将所述服务请求转发至目标微服务。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的基于微服务的请求处理方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的基于微服务的请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910810353.0A CN110519379A (zh) | 2019-08-29 | 2019-08-29 | 基于微服务的请求处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910810353.0A CN110519379A (zh) | 2019-08-29 | 2019-08-29 | 基于微服务的请求处理方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110519379A true CN110519379A (zh) | 2019-11-29 |
Family
ID=68629181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910810353.0A Pending CN110519379A (zh) | 2019-08-29 | 2019-08-29 | 基于微服务的请求处理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110519379A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478935A (zh) * | 2019-12-16 | 2020-07-31 | 马上消费金融股份有限公司 | 资源访问方法、网间连接装置、系统和装置 |
CN112769835A (zh) * | 2021-01-13 | 2021-05-07 | 网宿科技股份有限公司 | 一种访问请求的发起方法及终端设备 |
CN113055470A (zh) * | 2021-03-10 | 2021-06-29 | 中国建设银行股份有限公司 | 服务请求分发方法和系统 |
CN113285995A (zh) * | 2021-05-18 | 2021-08-20 | 中国人民解放军陆军工程大学 | 一种基于sdn的微服务请求自适应映射分配系统及方法 |
CN113315708A (zh) * | 2021-07-29 | 2021-08-27 | 数字广东网络建设有限公司 | 栅格化网关的实现系统、方法、计算机设备和存储介质 |
CN113381978A (zh) * | 2021-05-12 | 2021-09-10 | 网宿科技股份有限公司 | 一种安全登录方法和装置 |
CN114125051A (zh) * | 2022-01-26 | 2022-03-01 | 飞狐信息技术(天津)有限公司 | 一种动态服务发现的代理方法及装置 |
CN114430410A (zh) * | 2022-01-28 | 2022-05-03 | 中国农业银行股份有限公司 | 基于虚拟域名的系统访问方法、装置及设备 |
CN114584628A (zh) * | 2022-01-25 | 2022-06-03 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、服务器及存储介质 |
CN116170409A (zh) * | 2023-02-21 | 2023-05-26 | 江苏云涌电子科技股份有限公司 | 一种基于虚拟域名的sd-wan网络地址规划系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767838A (zh) * | 2014-01-06 | 2015-07-08 | 三星电子株式会社 | 微服务器、分配mac地址的方法、以及计算机可读记录介质 |
CN106201350A (zh) * | 2016-07-07 | 2016-12-07 | 华为技术有限公司 | 存储数据的方法、存储器和计算机系统 |
WO2017067230A1 (zh) * | 2015-10-21 | 2017-04-27 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
WO2018120988A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 一种应用交互方法、装置、物理机及系统 |
CN109067914A (zh) * | 2018-09-20 | 2018-12-21 | 星环信息科技(上海)有限公司 | Web服务的代理方法、装置、设备及存储介质 |
CN109189386A (zh) * | 2018-07-12 | 2019-01-11 | 新华三云计算技术有限公司 | 一种基于微服务的应用访问方法及装置 |
CN110120946A (zh) * | 2019-04-29 | 2019-08-13 | 武汉理工大学 | 一种Web与微服务的统一认证系统及方法 |
-
2019
- 2019-08-29 CN CN201910810353.0A patent/CN110519379A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104767838A (zh) * | 2014-01-06 | 2015-07-08 | 三星电子株式会社 | 微服务器、分配mac地址的方法、以及计算机可读记录介质 |
WO2017067230A1 (zh) * | 2015-10-21 | 2017-04-27 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
CN106201350A (zh) * | 2016-07-07 | 2016-12-07 | 华为技术有限公司 | 存储数据的方法、存储器和计算机系统 |
WO2018120988A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 一种应用交互方法、装置、物理机及系统 |
CN109189386A (zh) * | 2018-07-12 | 2019-01-11 | 新华三云计算技术有限公司 | 一种基于微服务的应用访问方法及装置 |
CN109067914A (zh) * | 2018-09-20 | 2018-12-21 | 星环信息科技(上海)有限公司 | Web服务的代理方法、装置、设备及存储介质 |
CN110120946A (zh) * | 2019-04-29 | 2019-08-13 | 武汉理工大学 | 一种Web与微服务的统一认证系统及方法 |
Non-Patent Citations (2)
Title |
---|
DMITRY NAMIOT,MANFRED SNEPS-SNEPPE: "On Micro-services Architecture", 《INTERNATIONAL JOURNAL OF OPEA INFORMATION TECHNOLOGIES》 * |
徐长君,林涛: "基于 Nginx 的负载均衡方式优化", 《河北工业大学学报》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478935B (zh) * | 2019-12-16 | 2021-03-30 | 马上消费金融股份有限公司 | 资源访问方法、网间连接装置、系统和装置 |
CN111478935A (zh) * | 2019-12-16 | 2020-07-31 | 马上消费金融股份有限公司 | 资源访问方法、网间连接装置、系统和装置 |
CN112769835A (zh) * | 2021-01-13 | 2021-05-07 | 网宿科技股份有限公司 | 一种访问请求的发起方法及终端设备 |
CN112769835B (zh) * | 2021-01-13 | 2023-04-18 | 网宿科技股份有限公司 | 一种访问请求的发起方法及终端设备 |
CN113055470A (zh) * | 2021-03-10 | 2021-06-29 | 中国建设银行股份有限公司 | 服务请求分发方法和系统 |
CN113381978A (zh) * | 2021-05-12 | 2021-09-10 | 网宿科技股份有限公司 | 一种安全登录方法和装置 |
CN113285995B (zh) * | 2021-05-18 | 2023-06-13 | 中国人民解放军陆军工程大学 | 一种基于sdn的微服务请求自适应映射分配系统及方法 |
CN113285995A (zh) * | 2021-05-18 | 2021-08-20 | 中国人民解放军陆军工程大学 | 一种基于sdn的微服务请求自适应映射分配系统及方法 |
CN113315708A (zh) * | 2021-07-29 | 2021-08-27 | 数字广东网络建设有限公司 | 栅格化网关的实现系统、方法、计算机设备和存储介质 |
CN114584628A (zh) * | 2022-01-25 | 2022-06-03 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、服务器及存储介质 |
CN114584628B (zh) * | 2022-01-25 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、服务器及存储介质 |
CN114125051A (zh) * | 2022-01-26 | 2022-03-01 | 飞狐信息技术(天津)有限公司 | 一种动态服务发现的代理方法及装置 |
CN114430410A (zh) * | 2022-01-28 | 2022-05-03 | 中国农业银行股份有限公司 | 基于虚拟域名的系统访问方法、装置及设备 |
CN114430410B (zh) * | 2022-01-28 | 2024-05-14 | 中国农业银行股份有限公司 | 基于虚拟域名的系统访问方法、装置及设备 |
CN116170409A (zh) * | 2023-02-21 | 2023-05-26 | 江苏云涌电子科技股份有限公司 | 一种基于虚拟域名的sd-wan网络地址规划系统 |
CN116170409B (zh) * | 2023-02-21 | 2023-07-11 | 江苏云涌电子科技股份有限公司 | 一种基于虚拟域名的sd-wan网络地址规划系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519379A (zh) | 基于微服务的请求处理方法及设备 | |
US10942708B2 (en) | Generating web API specification from online documentation | |
CN109634598A (zh) | 一种页面显示方法、装置、设备及存储介质 | |
CN109150978A (zh) | 调试微服务的方法和装置 | |
CN109032760A (zh) | 用于部署应用的方法和装置 | |
CN110324169B (zh) | 一种接口管理的方法和装置 | |
CN109582441A (zh) | 用于提供容器服务的系统、方法和装置 | |
CN109375918A (zh) | 小程序的界面渲染方法、装置、电子设备和存储介质 | |
CN109561171A (zh) | 虚拟私有云服务的配置方法和装置 | |
US20160057207A1 (en) | AUTOMATING CLIENT DEVELOPMENT FOR NETWORK APIs | |
CN109889586A (zh) | 通信处理方法、装置、计算机可读介质及电子设备 | |
CN110198334A (zh) | 基于对象存储服务的访问方法、装置和存储介质 | |
CN108494860A (zh) | Web访问系统、用于客户端的web访问方法和装置 | |
CN110489192A (zh) | 远程通信方法及装置、电子设备 | |
CN110019080A (zh) | 数据访问方法和装置 | |
CN108846753A (zh) | 用于处理数据的方法和装置 | |
CN109117252A (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN110457144A (zh) | 一种实现前端应用的方法、装置、介质和设备 | |
CN110011875A (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN110389711A (zh) | 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品 | |
CN113709810A (zh) | 一种网络服务质量的配置方法、设备和介质 | |
CN110070394A (zh) | 数据处理方法、系统、介质和计算设备 | |
CN107347093A (zh) | 用于分布式服务器系统的配置方法和装置 | |
JP2022077015A (ja) | コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(モノのインターネットデバイスオーケストレーション) | |
CN108399046A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191129 |