CN110138741A - 基于统一管理平台的微服务管理方法、装置和计算机设备 - Google Patents

基于统一管理平台的微服务管理方法、装置和计算机设备 Download PDF

Info

Publication number
CN110138741A
CN110138741A CN201910300245.9A CN201910300245A CN110138741A CN 110138741 A CN110138741 A CN 110138741A CN 201910300245 A CN201910300245 A CN 201910300245A CN 110138741 A CN110138741 A CN 110138741A
Authority
CN
China
Prior art keywords
micro services
call request
specified
communication protocol
preset
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
Application number
CN201910300245.9A
Other languages
English (en)
Other versions
CN110138741B (zh
Inventor
洪灿昆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910300245.9A priority Critical patent/CN110138741B/zh
Publication of CN110138741A publication Critical patent/CN110138741A/zh
Application granted granted Critical
Publication of CN110138741B publication Critical patent/CN110138741B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请揭示了一种基于统一管理平台的微服务管理方法、装置、计算机设备和存储介质,所述方法包括:接收第一微服务对指定微服务的调用请求;若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法;若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。从而减少冗余代码与重复的网络开销。

Description

基于统一管理平台的微服务管理方法、装置和计算机设备
技术领域
本申请涉及到计算机领域,特别是涉及到一种基于统一管理平台的微服务管理方法、装置、计算机设备和存储介质。
背景技术
微服务框架如今越来越流行,用于取代原先单一大型企业应用,以解决复杂度过高,耦合严重等问题。但由于微服务框架会将企业应用分为多个微服务,随着业务的增多,微服务数量与日俱增,这就给微服务的管理带来了极大的麻烦,例如多个微服务之间的相互调用,以及内部微服务与外界的交互。现有技术没有对微服务的统一管理,均是微服务之间直接通信以进行调用,随着微服务的数量增加,内部微服务之间的搜索开销、调用开销都会大大增加,而且杂乱的微服务导致管理成本的上升。另外,现有技术的内部微服务与外部微服务之间的通信难以实现,或是实现每一次通信时均需要针对性处理通信报文以实现信息、参量的映射,这将造成大量的冗余代码与重复的网络开销。
发明内容
本申请的主要目的为提供一种基于统一管理平台的微服务管理方法、装置、计算机设备和存储介质,旨在利用统一管理平台对微服务进行统一管理,从而减少冗余代码与重复的网络开销。
为了实现上述发明目的,本申请提出一种基于统一管理平台的微服务管理方法,包括以下步骤:
接收第一微服务对指定微服务的调用请求;
判断所述第一微服务与所述指定微服务是否属于预设的微服务集群;
若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限;
若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;
若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。
进一步地,所述接收第一微服务对指定微服务的调用请求的步骤之前,包括:
接收所述指定微服务发送的注册信息,所述注册信息包括所述指定微服务的名称、访问URI和是否对所有微服务公开的信息;
接收所述第一微服务对所述指定微服务的查询请求;
判断所述注册信息中的所述是否对所有微服务公开的选项是否为是;
若所述注册信息中的所述是否对所有微服务公开的选项为是,则将所述指定微服务的注册信息暴露给所述第一微服务。
进一步地,所述判断所述第一微服务与所述指定微服务是否属于预设的微服务集群的步骤之后,包括:
若所述第一微服务与所述指定微服务均属于预设的微服务集群,则采用所述调用请求的通信协议,向所述指定微服务转发所述调用请求。
进一步地,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤,包括:
若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息;
若所述调用请求具有身份令牌,根据预设的身份令牌与权限对应关系,判断所述调用请求中的身份令牌是否具有调用所述指定服务的权限;
若所述调用请求中的身份令牌具有调用所述指定服务的权限,则判断所述调用请求的调用参数是否与所述指定微服务的预定参数相匹配;
若所述调用请求的调用参数与所述指定微服务的预定参数相匹配,则判定所述调用请求合法。
进一步地,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤之后,包括:
若所述调用请求不具有身份令牌,或者若所述调用请求中的身份令牌不具有调用所述指定服务的权限,或者若所述调用请求的调用参数与所述指定微服务的预定参数不匹配,则判定所述调用请求不合法;
拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。
进一步地,所述若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同的步骤之后,包括:
若所述调用请求的通信协议与所述指定微服务的预设通信协议相同,则依照所述调用请求的通信协议向所述指定微服务转发所述调用请求;
接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。
进一步地,所述若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求的步骤之后,包括:
统计所述指定微服务的被调用次数、被调用失败次数和被调用平均耗时;
判断所述被调用失败次数÷所述被调用次数的值是否大于预定失败阈值,并判断所述被调用平均耗时是否大于预定耗时阈值;
若所述被调用失败次数÷所述被调用次数的值大于预定失败阈值,或者所述被调用平均耗时大于预定耗时阈值,则判定所述指定微服务的状态异常;
通过预设的邮件、短信或者电话方式执行报警操作。
本申请提供一种基于统一管理平台的微服务管理装置,包括:
调用请求接收单元,用于接收第一微服务对指定微服务的调用请求;
微服务集群判断单元,用于判断所述第一微服务与所述指定微服务是否属于预设的微服务集群;
合法性判断单元,用于若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限;
通信协议判断单元,用于若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;
调用请求转发单元,用于若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
本申请的基于统一管理平台的微服务管理方法、装置、计算机设备和存储介质,采用统一管理平台接收第一微服务对指定微服务的调用请求,根据预设的合法性检验规则检验所述调用请求是否合法,若所述调用请求合法,将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。从而实现了对微服务的统一管理、减少冗余代码与重复的网络开销。
附图说明
图1为本申请一实施例的基于统一管理平台的微服务管理方法的流程示意图;
图2为本申请一实施例的基于统一管理平台的微服务管理装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于统一管理平台的微服务管理方法,包括以下步骤:
S1、接收第一微服务对指定微服务的调用请求;
S2、判断所述第一微服务与所述指定微服务是否属于预设的微服务集群;
S3、若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限;
S4、若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;
S5、若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。
如上述步骤S1所述,统一管理平台接收第一微服务对指定微服务的调用请求。微服务是相对于单体式应用(将所有功能集中在一个应用中)而言,将一个应用分解为小的、互相连接的微服务。一个微服务一般完成某个特定的功能,同时也能调用其他微服务或者被其他微服务调用,从而共同完成某个应用中的所有或者部分功能。现有技术没有对微服务的统一管理,均是微服务之间直接通信以进行调用,随着微服务的数量增加,会带来不便。本申请的统一管理平台指对于微服务进行管理的平台,其中管理包括任意可行方式的管理,例如微服务注册、微服务发现、网关控制等等,微服务注册指接收微服务的注册信息,所述注册信息包括所述微服务的名称、访问URI和是否对所有微服务公开的信息等;微服务发现指主动搜集微服务的信息,包括从数据库、历史调用记录中搜集微服务信息,从而使微服务被发现;网关控制指控制微服务的访问权限,例如控制预定内部微服务是否有权限向外部进行信息通信。所述统一管理平台指能够对多个微服务进行管理的平台(终端、服务器)。
如上述步骤S2所述,判断所述第一微服务与所述指定微服务是否属于预设的微服务集群。其中预设的微服务集群优选为所述统一管理平台直接管理的微服务,也称为内部微服务集群。由于不同微服务集群内的微服务调用要求不同,例如通信协议不一定相同(例如基于HTTP通信协议与基于其他通信协议的微服务之间无法直接调用),所以不同微服务集群之间进行直接互相调用并不可行。因此先判断所述第一微服务与所述指定微服务是否属于预设的微服务集群。其中判断所述第一微服务与所述指定微服务是否属于预设的微服务集群的过程包括:获取所述第一微服务的服务名称与所述指定微服务的服务名称,判断所述第一微服务的服务名称与所述指定微服务的服务名称是否存在预设的注册信息列表(注册信息列表包括在所述统一管理平台中注册的微服务名称,用以表示微服务的身份)中,若所述第一微服务的服务名称与所述指定微服务的服务名称是否存在预设的注册信息列表中,则判定所述第一微服务与所述指定微服务属于预设的微服务集群。
如上述步骤S3所述,若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限。若所述第一微服务不属于预设的微服务集群而所述指定微服务属于预设的微服务集群,表明第一微服务与指定微服务不属于相同的微服务集群。因此需要先检验所述调用请求的合法性,其中检测合法性至少包括验证所述第一微服务的权限。其中检测合法性至少包括验证所述第一微服务的权限的过程包括:判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息。
如上述步骤S4所述,若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同。所述调用请求的通信协议与所述指定微服务的预设通信协议不同,那么根据所述调用请求无法直接发送给所述指定微服务。因此在确定所述调用请求合法之后,先判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同。具体判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同的过程包括:提取所述调用请求(调用请求实质上即是一个信息,也即是报文,而报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,也包含了通信协议信息)中的通信协议部分,将所述通信协议部分与所述指定微服务的预设通信协议进行对比,若相同则判定所述调用请求的通信协议与所述指定微服务的预设通信协议相同。
如上述步骤S5所述,若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。为了将所述调用请求转发给所述指定微服务,应使所述调用请求的通信协议与所述指定微服务的预设通信协议。因此在所述调用请求的通信协议与所述指定微服务的预设通信协议不同的情况下,将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。将所述调用请求的通信协议转换为所述指定微服务的预设通信协议的过程包括:提取所述调用请求中的全部信息,将所述调用请求中的全部信息填入基于所述指定微服务的预设通信协议生成的报文模板中,从而获得转化后的调用请求。进一步地,若所述指定微服务对所述调用请求进行了反馈,所述统一管理平台还接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息发送给所述第一微服务。
在一个实施方式中,所述接收第一微服务对指定微服务的调用请求的步骤S1之前,包括:
S001、接收所述指定微服务发送的注册信息,所述注册信息包括所述指定微服务的名称、访问URI和是否对所有微服务公开的信息;
S002、接收所述第一微服务对所述指定微服务的查询请求;
S003、判断所述注册信息中的所述是否对所有微服务公开的选项是否为是;
S004、若所述注册信息中的所述是否对所有微服务公开的选项为是,则将所述指定微服务的注册信息暴露给所述第一微服务。
如上所述,实现了微服务的注册。微服务集群中的微服务数量一般数量众多,且同一微服务的实例(例如更新版本的微服务即是一个实例)可能有多个,为了方便微服务之间的调用与发明,所述统一管理平台提供了注册功能,从而使微服务在统一管理平台留下注册信息,并使其他微服务能够发现进而调用。其中,所述注册信息包括所述指定微服务的名称、访问URI(统一资源标识符,Uniform Resource Identifier)以及是否对所有微服务公开的选择。在接收所述指定微服务的注册信息之后,接收所述第一微服务对所述指定微服务的查询请求,若所述注册信息中的是否对所有微服务公开的选项为是,表明所述注册信息可以公开,则将所述指定微服务的注册信息暴露给所述第一微服务。从而所述第一微服务可以得到所述指定微服务的注册信息,进行发出调用申请。
在一个实施方式中,所述判断所述第一微服务与所述指定微服务是否属于预设的微服务集群的步骤S2之后,包括:
S21、若所述第一微服务与所述指定微服务均属于预设的微服务集群,则采用所述调用请求的通信协议,向所述指定微服务转发所述调用请求。
如上所述,实现了向所述指定微服务转发所述调用请求。由于所述第一微服务与所述指定微服务均属于预设的微服务集群,在同一微服务集群内都采用相同的通信协议进行互相调用,因此可以肯定所述调用请求的通信协议与所述指定微服务的预设通信协议相同,从而没必要再进行确认所述调用请求的通信协议。因此,直接采用所述调用请求的通信协议,向所述指定微服务转发所述调用请求。
在一个实施方式中,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤S3,包括:
S301、若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息;
S302、若所述调用请求具有身份令牌,根据预设的身份令牌与权限对应关系,判断所述调用请求中的身份令牌是否具有调用所述指定服务的权限;
S303、若所述调用请求中的身份令牌具有调用所述指定服务的权限,则判断所述调用请求的调用参数是否与所述指定微服务的预定参数相匹配;
S304、若所述调用请求的调用参数与所述指定微服务的预定参数相匹配,则判定所述调用请求合法。
如上所述,实现了根据预设的合法性检验规则检验所述调用请求是否合法。合法性检验是指检测所述调用请求是否符合调取的规则,以免采用错误非法的调用微服务。本实施方式的合法性检验包括三步,即身份认证、权限认证、参数认证,具体地包括:判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息;判断所述调用请求中的身份令牌中否具有调用所述指定服务的权限;判断所述调用请求的调用参数是否与所述指定微服务的预定参数相匹配。其中,身份令牌预先生成的过程包括:第一微服务发送到身份认证请求到所述统一管理平台进行认证;统一管理平台发送针对所述第一微服务生成的身份认证信息至第一微服务;第一微服务保存所述身份令牌,并在之后与所述统一管理平台进行交互时均附带所述身份令牌。其中,所述调用请求的调用参数与所述指定微服务的预定参数相匹配,是指所述调用参数不超过所述指定微服务的预定参数规定的范围,其中参数可以为任意参数,例如存储字段长度等。
在一个实施方式中,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤S3之后,包括:
S31、若所述调用请求不具有身份令牌,或者若所述调用请求中的身份令牌不具有调用所述指定服务的权限,或者若所述调用请求的调用参数与所述指定微服务的预定参数不匹配,则判定所述调用请求不合法;
S32、拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。
如上所述,实现了拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。如前述,采用的合法性检验包括三步,即身份认证、权限认证、参数认证。其中,任意一步检验未通过,即能表明不合法,即若所述调用请求不具有身份令牌,或者若所述调用请求中的身份令牌不具有调用所述指定服务的权限,或者若所述调用请求的调用参数与所述指定微服务的预定参数不匹配,则判定所述调用请求不合法。据此,拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。其中,所述判定所述调用请求不合法的理由即是身份认证、权限认证、参数认证三者中未通过的至少之一。
在一个实施方式中,所述若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同的步骤S4之后,包括:
S41、若所述调用请求的通信协议与所述指定微服务的预设通信协议相同,则依照所述调用请求的通信协议向所述指定微服务转发所述调用请求;
S42、接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。
如上所述,实现了将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。其中所述反馈信息包括,同意所述调用请求、拒绝所述调用请求、根据所述调用请求发送的相应信息。在本实施方式中,在确定所述调用请求合法、且所述调用请求的通信协议与所述指定微服务的预设通信协议相同之后,统一管理平台作为所述第一微服务与所述指定微服务的中转,接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。
在一个实施方式中,所述若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求的步骤S5之后,包括:
S51、统计所述指定微服务的被调用次数、被调用失败次数和被调用平均耗时;
S52、判断所述被调用失败次数÷所述被调用次数的值是否大于预定失败阈值,并判断所述被调用平均耗时是否大于预定耗时阈值;
S53、若所述被调用失败次数÷所述被调用次数的值大于预定失败阈值,或者所述被调用平均耗时大于预定耗时阈值,则判定所述指定微服务的状态异常;
S54、通过预设的邮件、短信或者电话方式执行报警操作。
如上所述,实现了判断所述指定微服务的健康状态。其中,所述指定微服务的被调用次数、被调用失败次数和被调用平均耗时,均反应了所述指定微服务的健康状态。所述被调用失败次数÷所述被调用次数表示的是所述指定服务器的调用失败百分比,所述被调用平均耗时代表了所述指定服务器的响应速度,都能反应所述指定微服务的健康状态。若所述被调用失败次数÷所述被调用次数的值大于预定失败阈值,或者所述被调用平均耗时大于预定耗时阈值,则判定所述指定微服务的状态异常,因此通过预设的邮件、短信或者电话方式执行报警操作。其中,预设的邮件、短信或者电话的接收对象已经预先设定,例如为负责相应维护工作的工作人员。
本申请的基于统一管理平台的微服务管理方法,采用统一管理平台接收第一微服务对指定微服务的调用请求,根据预设的合法性检验规则检验所述调用请求是否合法,若所述调用请求合法,将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。从而实现了对微服务的统一管理、减少冗余代码与重复的网络开销。
参照图2,本申请实施例提供一种基于统一管理平台的微服务管理装置,包括:
调用请求接收单元10,用于接收第一微服务对指定微服务的调用请求;
微服务集群判断单元20,用于判断所述第一微服务与所述指定微服务是否属于预设的微服务集群;
合法性判断单元30,用于若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限;
通信协议判断单元40,用于若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;
调用请求转发单元50,用于若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。
如上述单元10所述,统一管理平台接收第一微服务对指定微服务的调用请求。微服务是相对于单体式应用(将所有功能集中在一个应用中)而言,将一个应用分解为小的、互相连接的微服务。一个微服务一般完成某个特定的功能,同时也能调用其他微服务或者被其他微服务调用,从而共同完成某个应用中的所有或者部分功能。现有技术没有对微服务的统一管理,均是微服务之间直接通信以进行调用,随着微服务的数量增加,会带来不便。本申请的统一管理平台指对于微服务进行管理的平台,其中管理包括任意可行方式的管理,例如微服务注册、微服务发现、网关控制等等,微服务注册指接收微服务的注册信息,所述注册信息包括所述微服务的名称、访问URI和是否对所有微服务公开的信息等;微服务发现指主动搜集微服务的信息,包括从数据库、历史调用记录中搜集微服务信息,从而使微服务被发现;网关控制指控制微服务的访问权限,例如控制预定内部微服务是否有权限向外部进行信息通信。所述统一管理平台指能够对多个微服务进行管理的平台(终端、服务器)。
如上述单元20所述,判断所述第一微服务与所述指定微服务是否属于预设的微服务集群。其中预设的微服务集群优选为所述统一管理平台直接管理的微服务,也称为内部微服务集群。由于不同微服务集群内的微服务调用要求不同,例如通信协议不一定相同(例如基于HTTP通信协议与基于其他通信协议的微服务之间无法直接调用),所以不同微服务集群之间进行直接互相调用并不可行。因此先判断所述第一微服务与所述指定微服务是否属于预设的微服务集群。其中判断所述第一微服务与所述指定微服务是否属于预设的微服务集群的过程包括:获取所述第一微服务的服务名称与所述指定微服务的服务名称,判断所述第一微服务的服务名称与所述指定微服务的服务名称是否存在预设的注册信息列表(注册信息列表包括在所述统一管理平台中注册的微服务名称,用以表示微服务的身份)中,若所述第一微服务的服务名称与所述指定微服务的服务名称是否存在预设的注册信息列表中,则判定所述第一微服务与所述指定微服务属于预设的微服务集群。
如上述单元30所述,若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限。若所述第一微服务不属于预设的微服务集群而所述指定微服务属于预设的微服务集群,表明第一微服务与指定微服务不属于相同的微服务集群。因此需要先检验所述调用请求的合法性,其中检测合法性至少包括验证所述第一微服务的权限。其中检测合法性至少包括验证所述第一微服务的权限的过程包括:判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息。
如上述单元40所述,若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同。所述调用请求的通信协议与所述指定微服务的预设通信协议不同,那么根据所述调用请求无法直接发送给所述指定微服务。因此在确定所述调用请求合法之后,先判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同。具体判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同的过程包括:提取所述调用请求(调用请求实质上即是一个信息,也即是报文,而报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,也包含了通信协议信息)中的通信协议部分,将所述通信协议部分与所述指定微服务的预设通信协议进行对比,若相同则判定所述调用请求的通信协议与所述指定微服务的预设通信协议相同。
如上述单元50所述,若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。为了将所述调用请求转发给所述指定微服务,应使所述调用请求的通信协议与所述指定微服务的预设通信协议。因此在所述调用请求的通信协议与所述指定微服务的预设通信协议不同的情况下,将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。将所述调用请求的通信协议转换为所述指定微服务的预设通信协议的过程包括:提取所述调用请求中的全部信息,将所述调用请求中的全部信息填入基于所述指定微服务的预设通信协议生成的报文模板中,从而获得转化后的调用请求。进一步地,若所述指定微服务对所述调用请求进行了反馈,所述统一管理平台还接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息发送给所述第一微服务。
在一个实施方式中,所述装置,包括:
注册信息接收单元,用于接收所述指定微服务发送的注册信息,所述注册信息包括所述指定微服务的名称、访问URI和是否对所有微服务公开的信息;
查询请求接收单元,用于接收所述第一微服务对所述指定微服务的查询请求;
微服务公开判断单元,用于判断所述注册信息中的所述是否对所有微服务公开的选项是否为是;
微服务暴露单元,用于若所述注册信息中的所述是否对所有微服务公开的选项为是,则将所述指定微服务的注册信息暴露给所述第一微服务。
如上所述,实现了微服务的注册。微服务集群中的微服务数量一般数量众多,且同一微服务的实例(例如更新版本的微服务即是一个实例)可能有多个,为了方便微服务之间的调用与发明,所述统一管理平台提供了注册功能,从而使微服务在统一管理平台留下注册信息,并使其他微服务能够发现进而调用。其中,所述注册信息包括所述指定微服务的名称、访问URI(统一资源标识符,Uniform Resource Identifier)以及是否对所有微服务公开的选择。在接收所述指定微服务的注册信息之后,接收所述第一微服务对所述指定微服务的查询请求,若所述注册信息中的是否对所有微服务公开的选项为是,表明所述注册信息可以公开,则将所述指定微服务的注册信息暴露给所述第一微服务。从而所述第一微服务可以得到所述指定微服务的注册信息,进行发出调用申请。
在一个实施方式中,所述装置,包括:
第二调用请求转发单元,用于若所述第一微服务与所述指定微服务均属于预设的微服务集群,则采用所述调用请求的通信协议,向所述指定微服务转发所述调用请求。
如上所述,实现了向所述指定微服务转发所述调用请求。由于所述第一微服务与所述指定微服务均属于预设的微服务集群,在同一微服务集群内都采用相同的通信协议进行互相调用,因此可以肯定所述调用请求的通信协议与所述指定微服务的预设通信协议相同,从而没必要再进行确认所述调用请求的通信协议。因此,直接采用所述调用请求的通信协议,向所述指定微服务转发所述调用请求。
在一个实施方式中,所述合法性判断单元30,包括:
身份令牌判断子单元,用于若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息;
权限判断子单元,用于若所述调用请求具有身份令牌,根据预设的身份令牌与权限对应关系,判断所述调用请求中的身份令牌是否具有调用所述指定服务的权限;
参数判断子单元,用于若所述调用请求中的身份令牌具有调用所述指定服务的权限,则判断所述调用请求的调用参数是否与所述指定微服务的预定参数相匹配;
合法判定子单元,用于若所述调用请求的调用参数与所述指定微服务的预定参数相匹配,则判定所述调用请求合法。
如上所述,实现了根据预设的合法性检验规则检验所述调用请求是否合法。合法性检验是指检测所述调用请求是否符合调取的规则,以免采用错误非法的调用微服务。本实施方式的合法性检验包括三步,即身份认证、权限认证、参数认证,具体地包括:判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息;判断所述调用请求中的身份令牌中否具有调用所述指定服务的权限;判断所述调用请求的调用参数是否与所述指定微服务的预定参数相匹配。其中,身份令牌预先生成的过程包括:第一微服务发送到身份认证请求到所述统一管理平台进行认证;统一管理平台发送针对所述第一微服务生成的身份认证信息至第一微服务;第一微服务保存所述身份令牌,并在之后与所述统一管理平台进行交互时均附带所述身份令牌。其中,所述调用请求的调用参数与所述指定微服务的预定参数相匹配,是指所述调用参数不超过所述指定微服务的预定参数规定的范围,其中参数可以为任意参数,例如存储字段长度等。
在一个实施方式中,所述装置,包括:
不合法判定单元,用于若所述调用请求不具有身份令牌,或者若所述调用请求中的身份令牌不具有调用所述指定服务的权限,或者若所述调用请求的调用参数与所述指定微服务的预定参数不匹配,则判定所述调用请求不合法;
调用请求拒绝单元,用于拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。
如上所述,实现了拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。如前述,采用的合法性检验包括三步,即身份认证、权限认证、参数认证。其中,任意一步检验未通过,即能表明不合法,即若所述调用请求不具有身份令牌,或者若所述调用请求中的身份令牌不具有调用所述指定服务的权限,或者若所述调用请求的调用参数与所述指定微服务的预定参数不匹配,则判定所述调用请求不合法。据此,拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。其中,所述判定所述调用请求不合法的理由即是身份认证、权限认证、参数认证三者中未通过的至少之一。
在一个实施方式中,所述装置,包括:
第三调用请求转发单元,用于若所述调用请求的通信协议与所述指定微服务的预设通信协议相同,则依照所述调用请求的通信协议向所述指定微服务转发所述调用请求;
反馈信息发送单元,用于接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。
如上所述,实现了将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。其中所述反馈信息包括,同意所述调用请求、拒绝所述调用请求、根据所述调用请求发送的相应信息。在本实施方式中,在确定所述调用请求合法、且所述调用请求的通信协议与所述指定微服务的预设通信协议相同之后,统一管理平台作为所述第一微服务与所述指定微服务的中转,接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。
在一个实施方式中,所述装置,包括:
统计单元,用于统计所述指定微服务的被调用次数、被调用失败次数和被调用平均耗时;
阈值判断单元,用于判断所述被调用失败次数÷所述被调用次数的值是否大于预定失败阈值,并判断所述被调用平均耗时是否大于预定耗时阈值;
状态异常判定单元,用于若所述被调用失败次数÷所述被调用次数的值大于预定失败阈值,或者所述被调用平均耗时大于预定耗时阈值,则判定所述指定微服务的状态异常;
报警单元,用于通过预设的邮件、短信或者电话方式执行报警操作。
如上所述,实现了判断所述指定微服务的健康状态。其中,所述指定微服务的被调用次数、被调用失败次数和被调用平均耗时,均反应了所述指定微服务的健康状态。所述被调用失败次数÷所述被调用次数表示的是所述指定服务器的调用失败百分比,所述被调用平均耗时代表了所述指定服务器的响应速度,都能反应所述指定微服务的健康状态。若所述被调用失败次数÷所述被调用次数的值大于预定失败阈值,或者所述被调用平均耗时大于预定耗时阈值,则判定所述指定微服务的状态异常,因此通过预设的邮件、短信或者电话方式执行报警操作。其中,预设的邮件、短信或者电话的接收对象已经预先设定,例如为负责相应维护工作的工作人员。
本申请的基于统一管理平台的微服务管理装置,采用统一管理平台接收第一微服务对指定微服务的调用请求,根据预设的合法性检验规则检验所述调用请求是否合法,若所述调用请求合法,将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。从而实现了对微服务的统一管理、减少冗余代码与重复的网络开销。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于统一管理平台的微服务管理方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于统一管理平台的微服务管理方法。
上述处理器执行上述基于统一管理平台的微服务管理方法,包括以下步骤:接收第一微服务对指定微服务的调用请求;判断所述第一微服务与所述指定微服务是否属于预设的微服务集群;若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限;若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。
在一个实施方式中,所述接收第一微服务对指定微服务的调用请求的步骤之前,包括:接收所述指定微服务发送的注册信息,所述注册信息包括所述指定微服务的名称、访问URI和是否对所有微服务公开的信息;接收所述第一微服务对所述指定微服务的查询请求;判断所述注册信息中的所述是否对所有微服务公开的选项是否为是;若所述注册信息中的所述是否对所有微服务公开的选项为是,则将所述指定微服务的注册信息暴露给所述第一微服务。
在一个实施方式中,所述判断所述第一微服务与所述指定微服务是否属于预设的微服务集群的步骤之后,包括:若所述第一微服务与所述指定微服务均属于预设的微服务集群,则采用所述调用请求的通信协议,向所述指定微服务转发所述调用请求。
在一个实施方式中,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤,包括:若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息;若所述调用请求具有身份令牌,根据预设的身份令牌与权限对应关系,判断所述调用请求中的身份令牌是否具有调用所述指定服务的权限;若所述调用请求中的身份令牌具有调用所述指定服务的权限,则判断所述调用请求的调用参数是否与所述指定微服务的预定参数相匹配;若所述调用请求的调用参数与所述指定微服务的预定参数相匹配,则判定所述调用请求合法。
在一个实施方式中,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤之后,包括:若所述调用请求不具有身份令牌,或者若所述调用请求中的身份令牌不具有调用所述指定服务的权限,或者若所述调用请求的调用参数与所述指定微服务的预定参数不匹配,则判定所述调用请求不合法;拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。
在一个实施方式中,所述若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同的步骤之后,包括:若所述调用请求的通信协议与所述指定微服务的预设通信协议相同,则依照所述调用请求的通信协议向所述指定微服务转发所述调用请求;接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。
在一个实施方式中,所述若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求的步骤之后,包括:统计所述指定微服务的被调用次数、被调用失败次数和被调用平均耗时;判断所述被调用失败次数÷所述被调用次数的值是否大于预定失败阈值,并判断所述被调用平均耗时是否大于预定耗时阈值;若所述被调用失败次数÷所述被调用次数的值大于预定失败阈值,或者所述被调用平均耗时大于预定耗时阈值,则判定所述指定微服务的状态异常;通过预设的邮件、短信或者电话方式执行报警操作。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请的计算机设备,采用统一管理平台接收第一微服务对指定微服务的调用请求,根据预设的合法性检验规则检验所述调用请求是否合法,若所述调用请求合法,将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。从而实现了对微服务的统一管理、减少冗余代码与重复的网络开销。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于统一管理平台的微服务管理方法,包括以下步骤:接收第一微服务对指定微服务的调用请求;判断所述第一微服务与所述指定微服务是否属于预设的微服务集群;若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限;若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。
在一个实施方式中,所述接收第一微服务对指定微服务的调用请求的步骤之前,包括:接收所述指定微服务发送的注册信息,所述注册信息包括所述指定微服务的名称、访问URI和是否对所有微服务公开的信息;接收所述第一微服务对所述指定微服务的查询请求;判断所述注册信息中的所述是否对所有微服务公开的选项是否为是;若所述注册信息中的所述是否对所有微服务公开的选项为是,则将所述指定微服务的注册信息暴露给所述第一微服务。
在一个实施方式中,所述判断所述第一微服务与所述指定微服务是否属于预设的微服务集群的步骤之后,包括:若所述第一微服务与所述指定微服务均属于预设的微服务集群,则采用所述调用请求的通信协议,向所述指定微服务转发所述调用请求。
在一个实施方式中,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤,包括:若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息;若所述调用请求具有身份令牌,根据预设的身份令牌与权限对应关系,判断所述调用请求中的身份令牌是否具有调用所述指定服务的权限;若所述调用请求中的身份令牌具有调用所述指定服务的权限,则判断所述调用请求的调用参数是否与所述指定微服务的预定参数相匹配;若所述调用请求的调用参数与所述指定微服务的预定参数相匹配,则判定所述调用请求合法。
在一个实施方式中,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤之后,包括:若所述调用请求不具有身份令牌,或者若所述调用请求中的身份令牌不具有调用所述指定服务的权限,或者若所述调用请求的调用参数与所述指定微服务的预定参数不匹配,则判定所述调用请求不合法;拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。
在一个实施方式中,所述若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同的步骤之后,包括:若所述调用请求的通信协议与所述指定微服务的预设通信协议相同,则依照所述调用请求的通信协议向所述指定微服务转发所述调用请求;接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。
在一个实施方式中,所述若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求的步骤之后,包括:统计所述指定微服务的被调用次数、被调用失败次数和被调用平均耗时;判断所述被调用失败次数÷所述被调用次数的值是否大于预定失败阈值,并判断所述被调用平均耗时是否大于预定耗时阈值;若所述被调用失败次数÷所述被调用次数的值大于预定失败阈值,或者所述被调用平均耗时大于预定耗时阈值,则判定所述指定微服务的状态异常;通过预设的邮件、短信或者电话方式执行报警操作。
本申请的计算机可读存储介质,采用统一管理平台接收第一微服务对指定微服务的调用请求,根据预设的合法性检验规则检验所述调用请求是否合法,若所述调用请求合法,将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。从而实现了对微服务的统一管理、减少冗余代码与重复的网络开销。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于统一管理平台的微服务管理方法,其特征在于,包括:
接收第一微服务对指定微服务的调用请求;
判断所述第一微服务与所述指定微服务是否属于预设的微服务集群;
若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限;
若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;
若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。
2.根据权利要求1所述的基于统一管理平台的微服务管理方法,其特征在于,所述接收第一微服务对指定微服务的调用请求的步骤之前,包括:
接收所述指定微服务发送的注册信息,所述注册信息包括所述指定微服务的名称、访问URI和是否对所有微服务公开的信息;
接收所述第一微服务对所述指定微服务的查询请求;
判断所述注册信息中的所述是否对所有微服务公开的选项是否为是;
若所述注册信息中的所述是否对所有微服务公开的选项为是,则将所述指定微服务的注册信息暴露给所述第一微服务。
3.根据权利要求1所述的基于统一管理平台的微服务管理方法,其特征在于,所述判断所述第一微服务与所述指定微服务是否属于预设的微服务集群的步骤之后,包括:
若所述第一微服务与所述指定微服务均属于预设的微服务集群,则采用所述调用请求的通信协议,向所述指定微服务转发所述调用请求。
4.根据权利要求1所述的基于统一管理平台的微服务管理方法,其特征在于,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤,包括:
若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则判断所述调用请求是否具有身份令牌,所述身份令牌是所述统一管理平台针对所述第一微服务生成的身份认证信息;
若所述调用请求具有身份令牌,根据预设的身份令牌与权限对应关系,判断所述调用请求中的身份令牌是否具有调用所述指定服务的权限;
若所述调用请求中的身份令牌具有调用所述指定服务的权限,则判断所述调用请求的调用参数是否与所述指定微服务的预定参数相匹配;
若所述调用请求的调用参数与所述指定微服务的预定参数相匹配,则判定所述调用请求合法。
5.根据权利要求4所述的基于统一管理平台的微服务管理方法,其特征在于,所述若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限的步骤之后,包括:
若所述调用请求不具有身份令牌,或者若所述调用请求中的身份令牌不具有调用所述指定服务的权限,或者若所述调用请求的调用参数与所述指定微服务的预定参数不匹配,则判定所述调用请求不合法;
拒绝所述调用请求,并向所述第一微服务发送判定所述调用请求不合法的理由。
6.根据权利要求1所述的基于统一管理平台的微服务管理方法,其特征在于,所述若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同的步骤之后,包括:
若所述调用请求的通信协议与所述指定微服务的预设通信协议相同,则依照所述调用请求的通信协议向所述指定微服务转发所述调用请求;
接收所述指定微服务对所述调用请求的反馈信息,并将所述反馈信息依照所述调用请求的通信协议发送给所述第一微服务。
7.根据权利要求1所述的基于统一管理平台的微服务管理方法,其特征在于,所述若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求的步骤之后,包括:
统计所述指定微服务的被调用次数、被调用失败次数和被调用平均耗时;
判断所述被调用失败次数÷所述被调用次数的值是否大于预定失败阈值,并判断所述被调用平均耗时是否大于预定耗时阈值;
若所述被调用失败次数÷所述被调用次数的值大于预定失败阈值,或者所述被调用平均耗时大于预定耗时阈值,则判定所述指定微服务的状态异常;
通过预设的邮件、短信或者电话方式执行报警操作。
8.一种基于统一管理平台的微服务管理装置,其特征在于,包括:
调用请求接收单元,用于接收第一微服务对指定微服务的调用请求;
微服务集群判断单元,用于判断所述第一微服务与所述指定微服务是否属于预设的微服务集群;
合法性判断单元,用于若所述第一微服务不属于预设的微服务集群,而所述指定微服务属于预设的微服务集群,则根据预设的合法性检验规则检验所述调用请求是否合法,其中所述预设的合法性检验规则至少包括验证所述第一微服务的权限;
通信协议判断单元,用于若所述调用请求合法,则判断所述调用请求的通信协议与所述指定微服务的预设通信协议是否相同;
调用请求转发单元,用于若所述调用请求的通信协议与所述指定微服务的预设通信协议不同,则将所述调用请求的通信协议转换为所述指定微服务的预设通信协议,并依照所述指定微服务的预设通信协议向所述指定微服务转发所述调用请求。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201910300245.9A 2019-04-15 2019-04-15 基于统一管理平台的微服务管理方法、装置和计算机设备 Active CN110138741B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910300245.9A CN110138741B (zh) 2019-04-15 2019-04-15 基于统一管理平台的微服务管理方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910300245.9A CN110138741B (zh) 2019-04-15 2019-04-15 基于统一管理平台的微服务管理方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN110138741A true CN110138741A (zh) 2019-08-16
CN110138741B CN110138741B (zh) 2022-06-17

Family

ID=67569946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910300245.9A Active CN110138741B (zh) 2019-04-15 2019-04-15 基于统一管理平台的微服务管理方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN110138741B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781441A (zh) * 2019-12-31 2020-02-11 帷幄匠心科技(杭州)有限公司 基于微服务化架构的新零售业务中台
CN110781018A (zh) * 2019-10-28 2020-02-11 深圳市思迪信息技术股份有限公司 一种分布式系统服务组件隔离限流防雪崩的方法及装置
CN110995746A (zh) * 2019-12-17 2020-04-10 神州数码融信软件有限公司 异构网络的微服务调用方法及api网关
CN111586135A (zh) * 2020-04-30 2020-08-25 深圳壹账通智能科技有限公司 云部署微服务应用系统及其数据传输方法、装置和设备
CN112214334A (zh) * 2020-09-28 2021-01-12 亚信科技(中国)有限公司 微服务调用方法、装置、电子设备及计算机可读存储介质
CN112416616A (zh) * 2020-11-12 2021-02-26 北京字跳网络技术有限公司 一种微服务调用方法、装置、电子设备及存储介质
CN113472794A (zh) * 2021-07-05 2021-10-01 福州数据技术研究院有限公司 基于微服务的多应用系统权限统一管理方法和计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572603A (zh) * 2008-04-30 2009-11-04 国际商业机器公司 分布式环境中的组成服务的统一访问控制系统及方法
CN101729514A (zh) * 2008-10-23 2010-06-09 华为技术有限公司 一种业务调用的实现方法及装置和系统
CN107124431A (zh) * 2017-06-22 2017-09-01 浙江数链科技有限公司 鉴权方法、装置、计算机可读存储介质和鉴权系统
CN107181675A (zh) * 2017-06-20 2017-09-19 北京奇艺世纪科技有限公司 服务调用方法及装置
CN108199852A (zh) * 2018-04-02 2018-06-22 上海企越信息技术有限公司 一种鉴权方法、鉴权系统和计算机可读存储介质
CN108306917A (zh) * 2017-01-13 2018-07-20 中国移动通信集团江西有限公司 数据处理方法和装置、微服务模块的注册方法及装置
CN109246251A (zh) * 2018-11-13 2019-01-18 杭州数梦工场科技有限公司 一种微服务调用方法、装置、系统、设备及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572603A (zh) * 2008-04-30 2009-11-04 国际商业机器公司 分布式环境中的组成服务的统一访问控制系统及方法
CN101729514A (zh) * 2008-10-23 2010-06-09 华为技术有限公司 一种业务调用的实现方法及装置和系统
CN108306917A (zh) * 2017-01-13 2018-07-20 中国移动通信集团江西有限公司 数据处理方法和装置、微服务模块的注册方法及装置
CN107181675A (zh) * 2017-06-20 2017-09-19 北京奇艺世纪科技有限公司 服务调用方法及装置
CN107124431A (zh) * 2017-06-22 2017-09-01 浙江数链科技有限公司 鉴权方法、装置、计算机可读存储介质和鉴权系统
CN108199852A (zh) * 2018-04-02 2018-06-22 上海企越信息技术有限公司 一种鉴权方法、鉴权系统和计算机可读存储介质
CN109246251A (zh) * 2018-11-13 2019-01-18 杭州数梦工场科技有限公司 一种微服务调用方法、装置、系统、设备及可读存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781018A (zh) * 2019-10-28 2020-02-11 深圳市思迪信息技术股份有限公司 一种分布式系统服务组件隔离限流防雪崩的方法及装置
CN110995746A (zh) * 2019-12-17 2020-04-10 神州数码融信软件有限公司 异构网络的微服务调用方法及api网关
CN110781441A (zh) * 2019-12-31 2020-02-11 帷幄匠心科技(杭州)有限公司 基于微服务化架构的新零售业务中台
CN111586135A (zh) * 2020-04-30 2020-08-25 深圳壹账通智能科技有限公司 云部署微服务应用系统及其数据传输方法、装置和设备
CN112214334A (zh) * 2020-09-28 2021-01-12 亚信科技(中国)有限公司 微服务调用方法、装置、电子设备及计算机可读存储介质
CN112416616A (zh) * 2020-11-12 2021-02-26 北京字跳网络技术有限公司 一种微服务调用方法、装置、电子设备及存储介质
CN112416616B (zh) * 2020-11-12 2023-12-12 北京字跳网络技术有限公司 一种微服务调用方法、装置、电子设备及存储介质
CN113472794A (zh) * 2021-07-05 2021-10-01 福州数据技术研究院有限公司 基于微服务的多应用系统权限统一管理方法和计算机可读存储介质
CN113472794B (zh) * 2021-07-05 2023-08-15 福州数据技术研究院有限公司 基于微服务的多应用系统权限统一管理方法和存储介质

Also Published As

Publication number Publication date
CN110138741B (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
CN110138741A (zh) 基于统一管理平台的微服务管理方法、装置和计算机设备
US10230588B2 (en) Dynamically deployable self configuring distributed network management system using a trust domain specification to authorize execution of network collection software on hardware components
US9578027B1 (en) Multiple data store authentication
US6292900B1 (en) Multilevel security attribute passing methods, apparatuses, and computer program products in a stream
CN101194233B (zh) 测试无线组件应用程序的系统和方法
US8064583B1 (en) Multiple data store authentication
CN104303454B (zh) 认证对无线通信系统中的特定资源的访问授权的方法
US9251211B2 (en) Generation of a query plan for accessing a database
CN101895442B (zh) 可信互联网中的网络质量主动监测方法和系统
CN102498703A (zh) 应用服务器相关的用户数据的管理
CN112788031B (zh) 基于Envoy架构的微服务接口认证系统、方法及装置
EP2219337B1 (en) Method and system for content categorization
CN104135378B (zh) 对物联网网关进行管理控制的方法及物联网网关管控实体
JP4670598B2 (ja) ネットワークシステム、プロキシサーバ、セッション管理方法、及びプログラム
CN110909013B (zh) 业务清单生成方法、装置、设备及计算机可读存储介质
US20100312887A1 (en) Management system for warranting consistency between inter-client communication logs
CN110765484A (zh) 一种征信数据处理方法及电子设备
CN101326786A (zh) 用于分析进入通信装置的通信的方法、检测装置和服务器装置
CN112953745A (zh) 服务调用方法、系统、计算机设备和存储介质
CN110333957A (zh) 远程过程调用rpc服务调用方法、装置和计算机设备
US9692761B2 (en) System and method for controlling a DNS request
EP1993245A1 (en) A system and method for realizing message service
CN104753774A (zh) 一种分布式企业综合接入网关
CN115174592A (zh) 企业级数据请求转发系统及方法
CN114422558A (zh) 基于容器边缘代理的数据报文转换自描述协议mqtt方法

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