CN107483538B - 一种在微服务集群的节点上处理访问请求包的方法和装置 - Google Patents

一种在微服务集群的节点上处理访问请求包的方法和装置 Download PDF

Info

Publication number
CN107483538B
CN107483538B CN201710547119.4A CN201710547119A CN107483538B CN 107483538 B CN107483538 B CN 107483538B CN 201710547119 A CN201710547119 A CN 201710547119A CN 107483538 B CN107483538 B CN 107483538B
Authority
CN
China
Prior art keywords
service port
access request
request packet
port identifier
target service
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
Application number
CN201710547119.4A
Other languages
English (en)
Other versions
CN107483538A (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.)
Qingdao Hisense Media Network Technology Co Ltd
Original Assignee
Qingdao Hisense Media Network Technology 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 Qingdao Hisense Media Network Technology Co Ltd filed Critical Qingdao Hisense Media Network Technology Co Ltd
Priority to CN201710547119.4A priority Critical patent/CN107483538B/zh
Publication of CN107483538A publication Critical patent/CN107483538A/zh
Application granted granted Critical
Publication of CN107483538B publication Critical patent/CN107483538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及通信技术领域,尤其涉及一种在微服务集群的节点上处理访问请求包的方法和装置,用于实现在不增加硬件成本的情况下,提高微服务集群内服务的访问性能。本发明实施例中,接收内网客户端发送的访问请求包,内网客户端与节点的子网掩码相同;根据访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,并以目标服务端口标识更新访问请求包中携带的虚服务端口标识;向目标服务端口标识所标识的目标服务端口发送更新后的访问请求包。因此,本发明实施例不需要集群入口代理转发内网客户端的访问请求包,进而可以实现在不增加硬件成本的情况下,提高微服务集群内服务的访问性能。

Description

一种在微服务集群的节点上处理访问请求包的方法和装置
技术领域
本发明实施例涉及云计算技术领域,尤其涉及一种在微服务集群的节点上处理访问请求包的方法和装置。
背景技术
在传统服务应用向云计算微服务集群迁移过程中,由于生产环境已经部署很多服务应用,很难一次将整个生产环境迁移到云计算微服务集群内,一部分服务应用由于自身原因无法迁移到集群内,而存在于集群外。而出于微服务集群安全性考虑,微服务集群内外网络要彼此隔离,因此,微服务集群外的客户端并不能直接访问集群内服务。微服务集群外的客户端包括内网客户端和外网客户端;外网客户端指的是与微服务集群不在一个网络内、且在集群外的客户端;内网客户端指的是与微服务集群在一个网络内、且在集群外的客户端。
现有技术中,微服务集群外的客户端访问集群内业务时,内网客户端和外网客户端均通过Nginx、HAProxy等开源代理软件作为集群入口代理,也就是说,集群入口代理需要转发内网客户端和外网客户端发送的所有的请求,这种通过集群入口代理集中转发的模式很容易成为***瓶颈,比如集群入口代理负载过高,造成整个产品***性能下降,影响到整个微服务集群内服务的访问。为了解决***瓶颈,现有技术中对集群入口代理本身要做冗余部署,前面再加一层负载均衡设备,这样就会增加网络复杂度及硬件成本。
因此,亟需一种在微服务集群的节点上处理访问请求包的方法,实现在不增加硬件成本的情况下,提高微服务集群内服务的访问性能。
发明内容
本发明实施例提供一种在微服务集群的节点上处理访问请求包的方法和装置,实现在不增加硬件成本的情况下,提高微服务集群内服务的访问性能。
本发明实施例提供一种在微服务集群的节点上处理访问请求包的方法,包括:接收内网客户端发送的访问请求包,所述内网客户端与所述节点的子网掩码相同;根据所述访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,并以所述目标服务端口标识更新所述访问请求包中携带的虚服务端口标识;向所述目标服务端口标识所标识的目标服务端口发送更新后的访问请求包。
本发明实施例提供一种在微服务集群的节点上处理访问请求包的装置,包括转发模块;所述转发模块包括:接收单元,用于接收内网客户端发送的访问请求包;其中,所述内网客户端与所述节点的子网掩码相同;处理单元,用于根据所述访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,并以所述目标服务端口标识更新所述访问请求包中携带的虚服务端口标识;发送单元,向所述目标服务端口标识所标识的目标服务端口发送更新后的访问请求包。
本发明实施例由于接收内网客户端发送的访问请求包,所述内网客户端与所述节点的子网掩码相同;根据所述访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,并以所述目标服务端口标识更新所述访问请求包中携带的虚服务端口标识;向所述目标服务端口标识所标识的目标服务端口发送更新后的访问请求包。本发明实施例提供的方法并不像现有技术中通过集群入口代理接收内网客户端的访问请求包,因此可以减少集群入口代理转发访问请求的负载。如此,可以实现在不增加硬件成本的情况下,提高微服务集群内服务的访问性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为本发明实施例提供的一种访问微服务集群内服务的***架构示意图;
图2为本发明实施例提供的一种在微服务集群的节点上处理访问请求包的方法流程示意图;
图3为本发明实施例提供的另一种在微服务集群的第一节点上处理访问请求包的方法流程示意图;
图4为本发明实施例提供的一种在微服务集群的节点上处理访问请求包的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
图1示例性示出了本发明实施例适用的一种访问微服务集群内服务的***架构示意图。
本发明实施例中的访问微服务集群内服务的***架构包括微服务集群、内网客户端和外网客户端,微服务集群包括至少一个节点,用于处理集群外的访问请求包。如图1所示,该微服务集群内服务访问***架构100包括:微服务集群中的注册中心110、集群入口代理120、节点130、节点140、节点150,微服务集群外的内网客户端160,以及外网客户端170。其中,节点130包括服务器实例131、转发模块132和接入端桥133;节点140包括服务器实例141、转发模块142和接入端桥143;节点150包括服务器实例151、转发模块152和接入端桥153。
本发明实施例中,微服务集群中的节点在同一子网内,将微服务集群中的节点所在的子网称为内网,将除节点所在的子网之外的所有子网称为外网。微服务集群中的注册中心110、集群入口代理120、节点130、节点140、节点150和微服务集群外的内网客户端160处于内网中,外网客户端170处于外网中。由于外网和内网被隔开,所以处于外网的外网客户端170需要通过集群入口代理120访问微服务集群中的服务器实例,而且处于内网的微服务集群外的内网客户端也不能直接访问微服务集群中的服务器实例。
在微服务集群内服务访问***架构100中,各个网络设备的连接关系如下:注册中心110连接节点130、节点140和节点150。可选地,一方面,注册中心110连接节点130中的服务器实例131、节点140中的服务器实例141、节点150中的服务器实例151。注册中心110通过接收服务器实例131、服务器实例141和服务器实例151发起的注册请求和心跳请求,维护服务器实例列表、每个服务器实例对应的节点列表,并为每个节点上运行的服务器实例分配虚服务端口;一个虚服务端口对应M个服务器实例,其中M为自然数。每个节点上包括至少一个实服务端口;一个实服务端口连接N个服务器实例,其中N为自然数。另一方面,注册中心110连接节点130中的接入端桥133、节点140中的接入端桥143、节点150中的接入端桥153。接入端桥133、接入端桥143、接入端桥153周期性的从注册中心获取每个服务器实例对应的虚服务端口标识,以及每个服务器实例对应的实服务端口标识,针对节点130、节点140和节点150中的每个节点,该节点上的接入端桥根据获取的虚服务端口标识和服务器实例映射关系,以及实服务端口标识和服务器实例的映射关系,实时更新该节点上的实服务端口标识和虚服务端口标识的第一映射关系。
集群入口代理120,一方面连接处于外网的外网客户端170,接收外网客户端170的发送的第二访问请求包。另一方面,集群入口代理120连接微服务集群内的节点130、节点140和节点150。可选的,集群入口代理120分别连接节点130中的服务器实例131、节点140中的服务器实例141和节点150中的服务器实例151。集群入口代理120将接收到的第二访问请求包转发至微服务集群内的服务器实例,由服务器实例进行处理。
内网客户端160连接节点130、节点140和节点150;可选的,内网客户端160分别连接节点130中的转发模块132、节点140中的转发模块142、节点150中的转发模块152。内网客户端160向各个节点上的转发模块发送第一访问请求包,针对节点130、节点140和节点150中的每个节点,该节点上的转发模块接收到访问请求后,将访问请求发送至该节点上的服务器实例,由服务器实例进行处理。
图2示例性示出了本发明实施例提供的一种在微服务集群的节点上处理访问请求包的方法流程示意图。
基于图1所示的***架构,如图2所示,本发明实施例提供的在微服务集群的节点上处理访问请求包的方法,包括以下步骤:
步骤201:接收内网客户端发送的访问请求包;其中,内网客户端与节点的子网掩码相同;
步骤202:根据访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,并以目标服务端口标识更新访问请求包中携带的虚服务端口标识;
步骤203:向目标服务端口标识所标识的目标服务端口发送更新后的访问请求包。
本发明实施例中,微服务集群中的节点在同一子网内,将微服务集群中的节点所在的子网称为内网,将除节点所在的子网之外的所有子网称为外网。上述步骤201中,内网客户端为与节点在同一子网内的客户端。
上述步骤202中,更新访问请求包中携带的虚服务端口标识的方式有多种。本发明实施例提供一种可选的更新方式为,先删除访问请求包中的虚服务端口标识,再添加目标服务端口标识。本发明实施例还提供一种可选的更新方式为直接在虚服务端口标识的位置,用目标服务端口替代虚服务端口标识。
本发明实施例由于接收内网客户端发送的访问请求包,内网客户端与节点的子网掩码相同;根据访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,并以目标服务端口标识更新访问请求包中携带的虚服务端口标识;向目标服务端口标识所标识的目标服务端口发送更新后的访问请求包。本发明实施例提供的方法并不像现有技术中通过集群入口代理接收内网客户端的访问请求包,因此可以减少集群入口代理转发访问请求的负载。如此,可以实现在不增加硬件成本的情况下,提高微服务集群内服务的访问性能。
本发明实施例中,微服务集群中的节点除了处理内网客户端发送的访问请求包,还处理外网客户端发送的访问请求包。其中,外网客户端为与节点不在同一子网内的客户端。为了区分内网客户端和外网客户端发送的访问请求包,在本发明实施例中,将内网客户端发送的访问请求包称为第一访问请求包,将外网客户端发送的访问请求包称为第二访问请求包。其中,“第一”和“第二”只是为了区分两种类型的客户端发送的访问请求包,并不具有数量的限定意义。
具体实施例中,外网客户端通过集群入口代理转发第二访问请求包至微服务集群内的节点,微服务集群内的节点处理第二访问请求包的方法与现有技术相同,在此不再赘述。下面主要介绍微服务集群内的节点如何处理内网客户端发送的第一访问请求包。
一种可选的实施方式中,以目标服务端口标识更新第一访问请求包中携带的虚服务端口标识包括:接收以传输层协议传输的第一访问请求包后,在第一访问请求包中查找虚服务端口标识的位置;在该位置处删除虚服务端口标识后,增设目标服务端口标识。如此,本发明实施例提供一种更新后第一访问请求包中的目标服务端口标识的具体方式,便于转发模块根据更新后第一访问请求处理更新后第一访问请求。
可选地,针对微服务集群包括的至少一个节点中的任一个节点,每个节点上的包括转发模块和实服务端口。一种可选的实现方式为:转发模块可以为内核集成的IP信息包过滤***(Iptables),本方案利用了它的转发功能来处理内网客户端发送的第一访问请求包。
转发模块(Iptables)接收到第一访问请求包之后,根据转发模块中存储的第一映射关系,对第一访问请求包进行处理,比如,确定将第一访问请求发送至哪个实服务端口。其中,第一映射关系包括虚服务端口标识和实服务端口标识的映射关系。
一种可选的实施方式中,根据第一访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,包括:将第一访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识进行匹配;当第一访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识匹配成功时,从包含在第一映射关系中的虚服务端口标识跳转至与虚服务端口标识映射的目标服务端口标识。也就是说,该目标服务端口标识即为第一映射关系中的与第一访问请求包中的携带的虚服务端口标识映射的实服务端口。之后,转发模块向虚服务端口标识映射的目标服务端口标识所标识的目标服务端口发送更新后的第一访问请求包。
本领域技术人员应该了解,现有技术中的集群入口代理采用的Nginx、HAProxy等,主要工作在网络7层之上,在接收到数据包之后,需要经过负载均衡器、4层处理、7层处理,之后到达后端服务器。所以,现有技术中的数据包转发以及处理效率较低,而且对CPU、内存、IO等资源要求较高。而本发明实施例中直接利用内核模块Iptables/Netfilter转发内网客户端的第一访问请求包,不需要经过任何负载均衡器处理,直接转发经过的处理环节更少,所以本发明实施例比现有技术中采用集群入口代理转发第一访问请求包的转发效率高。
具体实施例中,节点上包括至少一个实服务端口,每个实服务端口都有一个预设标识。在从第一映射关系中确定出目标服务端口之后,转发模块向目标服务端口标识所标识的目标服务端口发送更新后的第一访问请求包,其中一种可选的实施方式为:转发模块向节点上包括的每个实服务端口发送更新后的第一访问请求包。之后,每个接收到更新后第一访问请求包的实服务端口,将自身的预设标识与第一访问请求包中的目标服务端口进行匹配,若匹配失败,则该实服务端口并不是目标服务端口,该实服务端口将更新后第一访问请求包丢弃;若匹配成功,则该实服务端口就是目标服务端口,该实服务端口继续处理更新后第一访问请求。一种可选的实施方式中,目标服务端口接收更新后的第一访问请求包;当更新后的第一访问请求包中携带的目标服务端口标识与目标服务端口的预设标识匹配成功时,向与目标服务端口子网掩码相同的服务器实例发送更新后的第一访问请求包中的请求数据,且服务器实例与节点的子网掩码不同。
本发明实施例中,微服务集群中还包括至少一个与目标服务端口子网掩码相同的服务器实例。也就是说,向与目标服务端口子网掩码相同的服务器实例发送更新后的第一访问请求包中的请求数据,至少包括以下两种情况。
第一种情况,与目标服务端口子网掩码相同的服务器实例只有一个,举个例子,比如更新后第一访问请求包中的目标服务端口标识为32,若与该目标服务端口标识32的目标服务端口子网掩码相同的一个服务器实例为服务器实例3,则目标服务端口接收到包括目标服务端口标识为32的更新后第一访问请求包之后,将该更新后第一访问请求包中的请求数据发送至服务器实例3。
第二种情况,与目标服务端口子网掩码相同的服务器实例有多个,举个例子,比如更新后第一访问请求包中的目标服务端口标识为51,若与该目标服务端口标识51的目标服务端口子网掩码相同的服务器实例有三个,分别为:服务器实例4、服务器实例5和服务器实例6。目标服务端口接收到包括目标服务端口标识为51的更新后第一访问请求包时,将该更新后第一请求发送至与该目标服务端口标识51的目标服务端的子网掩码相同的服务器实例4、服务器实例5和服务器实例6中的一个。一种可选的发送方式为:目标服务端口可按固定的先后顺序,给与该目标服务端口的子网掩码相同的三个服务器实例发送更新后第一访问请求包中的请求数据。比如,目标服务端口将收到的第一个更新后的第一访问请求包中的请求数据发送给服务器实例4,将收到的第二个更新后的第一访问请求包中的请求数据发送给服务器实例5,将收到的第三个更新后的第一访问请求包中的请求数据发送给服务器实例6,将收到的第四个更新后的第一访问请求包中的请求数据发送给服务器实例4,以此类推。
一种可选的实施方式中,微服务集群还包括注册中心,微服务集群中的每个服务器实例启动之后,会自动向注册中心发送注册请求。服务器实例在注册之后,会定时向注册中心发送心跳请求,告知注册中心本服务器实例在线(存活)。注册中心通过接收服务器实例发起的注册请求和心跳请求,维护节点列表、服务器实例列表等,并为服务器实例分配虚服务端口。
举个例子,比如,在第一周期内,微服务集群中包括3个节点,分别为节点A、节点B和节点C。其中,节点A中包括服务器实例1、服务器实例2、服务器实例3,节点B中包括服务器实例4,节点C中包括服务器实例5、服务器实例6,该微服务集群中共包括6个服务器实例。在***实际运行过程中,比如第二周期,可能出现注册中心在超过预设时长未收到节点A的服务器实例2的心跳请求,节点A的服务器实例2可能失效,此时需要将注册中心维护的服务器实例列表中服务器实例2去掉。也可能注册中心接收到节点B中服务器实例7发送的注册请求,说明节点B增加了一个服务器实例7,此时需要将注册中心维护的服务器实例列表添加服务器实例7。
本发明实施例中,注册中心接收到微服务集群中包括服务器实例的注册消息之后,在注册中心动态的更新以下信息:微服务集群中每个节点上包括服务器实例列表、以及服务器实例和虚端服务端口标识的第二映射关系。
可选地,微服务集群中的每个节点还包括接入端桥。一种可选的实施方式中,接入端桥为可实现更新转发模块(Iptables)上的第一映射关系的应用程序。本发明实施例提供的微服务集群内服务访问方法还包括:周期性接收在注册中心中更新的第二映射关系;根据更新的第二映射关系更新第一映射关系。如此,部署在每个节点上的接入端桥可以及时的从注册中心获取上述更新的第二映射关系,进而及时更新Iptables上存储的第一映射关系,可以避免因微服务集群中的服务器实例列表的动态变化(比如缩容、扩容,挂掉等),而导致找不到正确的目标服务端口对应的服务器实例处理内网客户端发送的第一访问请求包的情况。
举个例子,以微服务集群中包括节点A为例,节点A上包括5个实服务端口,实服务端口标识分别为a、b、c、d、e。在第一周期,节点A中包括服务器实例1、服务器实例2、服务器实例3。注册中心为服务器实例1、服务器实例2分配虚服务端口的标识为20,为服务器实例3分配虚服务端口的标识为22。第一周期转发模块的第一映射关系为:虚端口标识20映射实服务端口a,虚端口标识22映射实服务端口c。根据第一周期的转发模块存储的第一映射关系处理第一访问请求包包括:将第一访问请求包中携带的虚服务端口标识20更新为实服务端口a。
在第二周期,节点A中扩容了一个服务器实例4,连接实服务端口标识d,注册中心为服务器实例4分配虚服务端口标识为31。第二周期,节点A上的接入端桥更新转发模块存储的第一映射关系,在第一映射关系中添加虚服务端口标识31和实服务端口标识d的映射关系。更新后第一映射关系为:虚端口标识20映射实服务端口a,虚端口标识22映射实服务端口c,虚服务端口标识31映射实服务端口标识d。
若第二周期节点A上的第一映射关系不更新,有可能出现以下问题:比如,在第二周期转发模块接收到携带虚服务端口标识为31的第一访问请求包,但是未找到目标服务端口,导致节点A无法处理该第一访问请求包。而本发明实施例提供的方案在第二周期更新了第一映射关系,可以避免接收到虚服务端口标识为31的第一访问请求包时无法及时处理的问题。
为了更清楚的介绍上述方法流程,本发明实施例提供以下示例。
图3示例性示出了本发明实施例提供的另一种在微服务集群的第一节点上处理访问请求包的方法流程示意图,基于图1所示的***架构,第一节点包括接入端桥、目标服务端口、转发模块等。如图3所示,本发明实施例提供的另一种在微服务集群的第一节点上处理访问请求包的方法,包括以下步骤:
步骤301:接入端桥从注册中心周期性获取第二映射关系;
步骤302:接入端桥比对当前周期获取的第二映射关系和前一周期获取的第二映射关系是否相同;若是,则执行步骤303;若否,则执行步骤304;
步骤303:接入端桥不更新转发模块上存储的第一映射关系;之后,执行步骤305;
步骤304:接入端桥根据当前周期获取的第二映射关系,更新转发模块上的第一映射关系;之后,执行步骤305;
步骤305:转发模块在当前周期接收内网客户端发送的第一访问请求包;内网客户端与节点的子网掩码相同;
步骤306:转发模块将第一访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识进行匹配;其中,第一映射关系包括虚服务端口标识和实服务端口标识的映射关系;
步骤307:第一访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识是否匹配成功;若是,则执行步骤308;若否,则执行步骤309;
步骤308:从包含在第一映射关系中的虚服务端口标识跳转至与虚服务端口标识映射的目标服务端口标识;之后,执行步骤310;
步骤309:丢弃第一访问请求包;之后,结束;
步骤310:转发模块向目标服务端口标识所标识的目标服务端口发送更新后的第一访问请求包;
步骤311:目标服务端口接收所述更新后的第一访问请求包;
步骤312:目标服务端口确定更新后的第一访问请求包中携带的目标服务端口标识与目标服务端口的预设标识匹配成功;若是,则执行步骤313;若否,则执行步骤314;
步骤313:目标服务端口向与目标服务端口子网掩码相同的服务器实例发送更新后的第一访问请求包中的请求数据,;服务器实例与节点的子网掩码不同;
步骤314:丢弃更新后第一访问请求包;之后,结束。
上述步骤314之后,若内网客户端在预设时长内未接收到第一访问请求包的处理数据,则向第二节点发送第一访问请求包,第二节点处理第一访问请求包的流程和第一节点的处理流程相同,第二节点为微服务集群中除第一节点之外的任一个节点。
第一节点接收内网客户端发送的第一访问请求包,以及外网客户端发送的第二访问请求包之后,主要的处理流程包括以下两个方面:一方面,第一节点接收内网客户端发送的第一访问请求包,通过与目标服务端口的子网掩码相同的服务器实例处理第一访问请求包,得到第一处理数据之后,将第一处理数据发送至节点上的转发模块,通过转发模块发送至内网客户端。另一方面,第一节点上的服务器实例在接收到集群入口代理转发的第二访问请求包,处理第二访问请求包得到第二处理数据之后,将第二处理数据发送至集群入口代理,通过集群入口代理发送至外网客户端。
本发明实施例一方面,由于微服务集群中的节点,接收内网客户端发送的第一访问请求包,并不像现有技术中通过集群入口代理接收内网客户端的访问请求包,因此可以减少集群入口代理转发访问请求的负载;另一方面,由于微服务集群中的节点处理所述第一访问请求包得到第一处理数据,并将所述第一处理数据发送至内网客户端,并不像现有技术中通过集群入口代理向内网客户端转发处理数据,因此可以减少集群入口代理转发处理数据的负载;如此,本发明实施例不需要集群入口代理转发内网客户端的第一访问请求包,可以实现在不增加硬件成本的情况下,提高微服务集群内服务的访问性能。
基于以上实施例以及相同构思,图4为本申请实施例提供的一种处理访问请求包的装置结构示意图。
如图4所示,该装置400还可以为芯片或电路,比如可设置于微服务集群的节点上的芯片或电路。该装置400可以对应上述方法中的节点,还可以对应上述图1中的130、140、150中的任一个。该装置400可以实现如上图2中所示的任一项或任多项对应的方法中终端设备所执行的步骤。该装置400可以包括转发模块410。其中转发模块410包括接收单元411、处理单元412和发送单元413。可选地,该装置400还可以包括目标服务端口520和接入端桥530。
接收单元,用于接收内网客户端发送的访问请求包;其中,所述内网客户端与所述节点的子网掩码相同;处理单元,用于根据所述访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,并以所述目标服务端口标识更新所述访问请求包中携带的虚服务端口标识;发送单元,向所述目标服务端口标识所标识的目标服务端口发送更新后的访问请求包。
本发明实施例由于接收内网客户端发送的访问请求包,所述内网客户端与所述节点的子网掩码相同;根据所述访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,并以所述目标服务端口标识更新所述访问请求包中携带的虚服务端口标识;向所述目标服务端口标识所标识的目标服务端口发送更新后的访问请求包。本发明实施例提供的方法并不像现有技术中通过集群入口代理接收内网客户端的访问请求包,因此可以减少集群入口代理转发访问请求的负载。如此,可以实现在不增加硬件成本的情况下,提高微服务集群内服务的访问性能。
可选地,所述处理单元,用于将所述访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识进行匹配;其中,所述第一映射关系包括虚服务端口标识和实服务端口标识的映射关系;当所述访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识匹配成功时,从包含在第一映射关系中的虚服务端口标识跳转至与虚服务端口标识映射的目标服务端口标识。
可选地,所述节点还包括目标服务端口,用于接收所述更新后的访问请求包;当所述更新后的访问请求包中携带的所述目标服务端口标识与所述目标服务端口的预设标识匹配成功时,向与所述目标服务端口子网掩码相同的服务器发送所述更新后的访问请求包中的请求数据,且所述服务器与所述节点的子网掩码不同。
可选地,所述处理单元,用于接收以传输层协议传输的所述访问请求包后,从所述访问请求包中查找虚服务端口标识的位置;在所述位置删除所述虚服务端口标识后,增设目标服务端口标识。
可选地,接入端桥,用于周期性接收在注册中心中更新的第二映射关系;根据所述更新后的第二映射关系更新所述第一映射关系;所述第二映射关系包括虚服务端口标识和服务器实例的映射关系。
该装置所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
应理解,以上各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(MO)等)、光介质(例如,CD、DVD、BD、HVD等)、或者半导体介质(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(Solid State Disk,SSD))等。
本领域内的技术人员应明白,本发明实施例可提供为方法、***、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种在微服务集群的节点上处理访问请求包的方法,其特征在于,包括:
通过转发模块接收内网客户端发送的第一访问请求包,并接收来自集群入口代理的第二访问请求包,所述第二访问请求包为外网客户端发送至所述集群入口代理,所述内网客户端与所述节点的子网掩码相同,所述外网客户端与所述节点的子网掩码不同;其中,所述转发模块为内核集成的IP信息包过滤***;
根据所述第一访问请求包中携带的虚服务端口标识和第一映射关系,确定出目标服务端口标识,并以所述目标服务端口标识更新所述第一访问请求包中携带的虚服务端口标识;所述第一映射关系包括虚服务端口标识和实服务端口标识的映射关系;所述第一映射关系是通过接入端桥更新至所述转发模块;
向所述目标服务端口标识所标识的目标服务端口发送更新后的第一访问请求包。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一访问请求包中携带的虚服务端口标识,确定出目标服务端口标识,包括:
将所述第一访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识进行匹配;其中,所述第一映射关系包括虚服务端口标识和实服务端口标识的映射关系;
当所述第一访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识匹配成功时,从包含在第一映射关系中的虚服务端口标识跳转至与虚服务端口标识映射的目标服务端口标识。
3.如权利要求1-2任一项所述的方法,其特征在于,所述向所述目标服务端口标识所标识的目标服务端口发送更新所述目标服务端口标识后得到的第一访问请求包之后,还包括:
所述目标服务端口接收所述更新后的第一访问请求包;
当所述更新后的第一访问请求包中携带的所述目标服务端口标识与所述目标服务端口的预设标识匹配成功时,向与所述目标服务端口子网掩码相同的服务器实例发送所述更新后的第一访问请求包中的请求数据,且所述服务器实例与所述节点的子网掩码不同。
4.如权利要求3所述的方法,其特征在于,所述以所述目标服务端口标识更新所述第一访问请求包中携带的虚服务端口标识,包括:
接收以传输层协议传输的所述第一访问请求包后,在所述第一访问请求包中查找虚服务端口标识的位置;
在所述位置删除所述虚服务端口标识后,增设目标服务端口标识。
5.如权利要求2或4所述的方法,其特征在于,所述方法还包括:
周期性接收在注册中心中更新的第二映射关系;
根据所述更新的第二映射关系更新所述第一映射关系;所述第二映射关系包括虚服务端口标识和服务器实例的映射关系。
6.一种在微服务集群的节点上处理访问请求包的装置,其特征在于,包括转发模块;所述转发模块包括:
接收单元,用于接收内网客户端发送的第一访问请求包,并接收来自集群入口代理的第二访问请求包,所述第二访问请求包为外网客户端发送至所述集群入口代理;其中,所述内网客户端与所述节点的子网掩码相同,所述外网客户端与所述节点的子网掩码不同;其中,所述转发模块为内核集成的IP信息包过滤***;
处理单元,用于根据所述第一访问请求包中携带的虚服务端口标识和第一映射关系,确定出目标服务端口标识,并以所述目标服务端口标识更新所述第一访问请求包中携带的虚服务端口标识;所述第一映射关系包括虚服务端口标识和实服务端口标识的映射关系;所述第一映射关系是通过接入端桥更新至所述转发模块;
发送单元,向所述目标服务端口标识所标识的目标服务端口发送更新后的第一访问请求包。
7.如权利要求6所述的装置,其特征在于,所述处理单元,用于:
将所述第一访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识进行匹配;其中,所述第一映射关系包括虚服务端口标识和实服务端口标识的映射关系;
当所述第一访问请求包中携带的虚服务端口标识与包含在第一映射关系中的虚服务端口标识匹配成功时,从包含在第一映射关系中的虚服务端口标识跳转至与虚服务端口标识映射的目标服务端口标识。
8.如权利要求6-7任一项所述的装置,其特征在于,所述节点还包括目标服务端口,用于:
接收所述更新后的第一访问请求包;
当所述更新后的第一访问请求包中携带的所述目标服务端口标识与所述目标服务端口的预设标识匹配成功时,向与所述目标服务端口子网掩码相同的服务器发送所述更新后的第一访问请求包中的请求数据,且所述服务器与所述节点的子网掩码不同。
9.如权利要求8所述的装置,其特征在于,所述处理单元,用于:
接收以传输层协议传输的所述第一访问请求包后,从所述第一访问请求包中查找虚服务端口标识的位置;
在所述位置删除所述虚服务端口标识后,增设目标服务端口标识。
10.如权利要求7或9所述的装置,其特征在于,所述节点还包括接入端桥,用于:
周期性接收在注册中心中更新的第二映射关系;
根据所述更新后的第二映射关系更新所述第一映射关系;所述第二映射关系包括虚服务端口标识和服务器实例的映射关系。
CN201710547119.4A 2017-07-06 2017-07-06 一种在微服务集群的节点上处理访问请求包的方法和装置 Active CN107483538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710547119.4A CN107483538B (zh) 2017-07-06 2017-07-06 一种在微服务集群的节点上处理访问请求包的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710547119.4A CN107483538B (zh) 2017-07-06 2017-07-06 一种在微服务集群的节点上处理访问请求包的方法和装置

Publications (2)

Publication Number Publication Date
CN107483538A CN107483538A (zh) 2017-12-15
CN107483538B true CN107483538B (zh) 2021-01-01

Family

ID=60595673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710547119.4A Active CN107483538B (zh) 2017-07-06 2017-07-06 一种在微服务集群的节点上处理访问请求包的方法和装置

Country Status (1)

Country Link
CN (1) CN107483538B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833462A (zh) * 2018-04-13 2018-11-16 中国科学院信息工程研究所 一种面向微服务的自注册服务发现的***及方法
CN108712464A (zh) * 2018-04-13 2018-10-26 中国科学院信息工程研究所 一种面向集群微服务高可用的实现方法
CN108664343B (zh) * 2018-05-09 2022-08-23 顺丰科技有限公司 一种微服务的有状态调用方法及装置
CN110880091A (zh) * 2018-09-05 2020-03-13 易保网络技术(上海)有限公司 一种微服务的流程处理方法和设备
CN109302469A (zh) * 2018-09-26 2019-02-01 平安科技(深圳)有限公司 微服务管理方法、装置、计算机设备以及存储介质
CN111431956B (zh) * 2019-01-10 2022-07-05 阿里巴巴集团控股有限公司 跨网络的服务访问方法、设备、***及存储介质
CN112055039B (zh) * 2019-06-06 2022-07-26 阿里巴巴集团控股有限公司 数据访问方法、装置、***及计算设备
US11082526B2 (en) 2019-08-19 2021-08-03 International Business Machines Corporation Optimizing large parameter passing in a service mesh
CN113472823B (zh) * 2020-03-30 2023-06-27 深圳Tcl数字技术有限公司 一种服务器访问方法、装置、智能终端及存储介质
CN114422510B (zh) * 2020-10-13 2024-04-30 腾讯科技(深圳)有限公司 业务处理方法及装置
CN112615849B (zh) * 2020-12-15 2022-04-26 平安科技(深圳)有限公司 微服务访问方法、装置、设备及存储介质
CN113806104A (zh) * 2021-08-02 2021-12-17 北京房江湖科技有限公司 接口访问请求处理方法、api网关、服务器及***
CN113590236B (zh) * 2021-08-03 2023-10-31 聚好看科技股份有限公司 一种服务器及微服务声明式接口超时配置方法
CN114465895A (zh) * 2022-03-03 2022-05-10 上海微盟企业发展有限公司 一种基于微服务的请求分发方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011140028A1 (en) * 2010-05-03 2011-11-10 Brocade Communications Systems, Inc. Virtual cluster switching
CN102420867A (zh) * 2011-12-01 2012-04-18 浪潮电子信息产业股份有限公司 一种基于实时负载均衡机制的集群存储入口解析方法
CN102469110A (zh) * 2010-11-01 2012-05-23 英业达股份有限公司 应用于一集群***的负载均衡方法
CN103051529A (zh) * 2012-12-20 2013-04-17 华为技术有限公司 一种报文的处理方法和装置
CN104579973A (zh) * 2014-12-24 2015-04-29 北京华为数字技术有限公司 一种虚拟集群中的报文转发方法和装置
CN105721566A (zh) * 2016-01-29 2016-06-29 华为技术有限公司 一种端口重定向的方法、服务器和***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995287B2 (en) * 2011-12-09 2015-03-31 Brocade Communication Systems, Inc. AMPP active profile presentation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011140028A1 (en) * 2010-05-03 2011-11-10 Brocade Communications Systems, Inc. Virtual cluster switching
CN102986172A (zh) * 2010-05-03 2013-03-20 博科通讯***有限公司 虚拟集***换
CN102469110A (zh) * 2010-11-01 2012-05-23 英业达股份有限公司 应用于一集群***的负载均衡方法
CN102420867A (zh) * 2011-12-01 2012-04-18 浪潮电子信息产业股份有限公司 一种基于实时负载均衡机制的集群存储入口解析方法
CN103051529A (zh) * 2012-12-20 2013-04-17 华为技术有限公司 一种报文的处理方法和装置
CN104579973A (zh) * 2014-12-24 2015-04-29 北京华为数字技术有限公司 一种虚拟集群中的报文转发方法和装置
CN105721566A (zh) * 2016-01-29 2016-06-29 华为技术有限公司 一种端口重定向的方法、服务器和***

Also Published As

Publication number Publication date
CN107483538A (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
CN107483538B (zh) 一种在微服务集群的节点上处理访问请求包的方法和装置
US20180367997A1 (en) 5g dynamic slice and network identity instantiation, termination, and access management system and method
EP3353952B1 (en) Managing groups of servers
CN114025021B (zh) 一种跨Kubernetes集群的通信方法、***、介质和电子设备
CN106991008B (zh) 一种资源锁管理方法、相关设备及***
CN109155939B (zh) 一种负载迁移方法、装置及***
WO2018118265A1 (en) Technologies for management of lookup tables
CN113302898A (zh) 将客户机-设备对等互联的虚拟路由控制器
JP2012533129A (ja) 仮想ネットワークの高性能で自動化された管理方法及びシステム
TW201541919A (zh) 可縮放位址解析之技術
WO2019029310A1 (zh) 网络管理方法和***
US10382924B2 (en) M2M node management method and apparatus, and computer storage medium
EP3780885A1 (en) Method, apparatus and system for establishing subflows of multipath connection
WO2021139304A1 (zh) 一种多云互联的方法及设备
US10764234B2 (en) Method and system for host discovery and tracking in a network using associations between hosts and tunnel end points
US10454884B2 (en) Terminal and multicast address distribution server
US11108854B2 (en) Peer-to-peer network for internet of things resource allocation operation
CN114650281B (zh) 基于复杂网络的文件下载方法、装置、设备及存储介质
US20160191368A1 (en) Information processing device, method, and medium
CN108494748B (zh) 一种通信方法、装置及存储介质
KR101984846B1 (ko) 객체 이동성을 제공하는 통신 방법 및 장치
CN108574587B (zh) 分布式设备的容量更新方法及装置
CN114153607A (zh) 跨节点边缘计算负载均衡方法、设备、可读存储介质
US20200341968A1 (en) Differential Update of Local Cache from Central Database
WO2021087865A1 (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