The present invention provides a cluster access method and device, which is applied to the proxy server. The method first receives the target request for the target cluster sent by the target client, and determines the primary node corresponding to the target request from each main node of the target cluster, and determines the first main node. Whether the point is in the inactivation state; if so, the second main nodes are determined from the primary node outside the first master node in the target cluster; the target request is sent to the second master node to make the second master node sound the target request; if not, the target request is sent to the first master node, so that the first master node is sent to the primary node. The first master node responds to the target request. In the scheme provided in the embodiment of the invention, the proxy server will not send the target request to the first master node in the invalid state, and avoid the problem of the collapse of the proxy server when the main node is inactive in the cluster.
【技术实现步骤摘要】
一种集群访问方法及装置
本专利技术涉及计算机
,特别是涉及一种集群访问方法及装置。
技术介绍
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户端与集群相互作用时,集群像是一个独立的服务器,对外提供统一的服务。集群由多个节点构成,节点包括主节点和从节点,对于无中心主节点的集群,集群中的各个主节点在整个集群中拥有相同的地位,每个主节点都可以负责处理一部分客户端请求。集群访问系统可以包括客户端、代理服务器以及集群,客户端访问集群的过程可以如下:客户端向代理服务器发送请求,代理服务器首先会确定该请求对应的主节点,然后直接将该请求发送给所确定的主节点,该主节点响应上述请求。例如,对于redis(一种开源的Key-Value(键值)数据库)集群,代理服务器中可以记录有每个主节点与哈希值的对应关系,代理服务器在接收到客户端发送的请求后,可以计算获得该请求中的键值对应的哈希值,然后根据上述对应关系,确定该请求所对应的主节点,最后,将该请求发送给所确定的主节点。虽然通常情况应用上述方式能够实现集群访问,但是,当代理服务器所确定的主节点为失活的主节点时,代理服务器将请求发送给该失活的主节点后,按照TCP/IP协议(TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议),代理服务器会接收到连接拒绝(ConnectionRefused)信息,由于客户端的数量是巨大的,如果代理服务器将大量的请求发送给失活的主节点,即会造成代理服务器的崩溃,进一步造成整个集群 ...
【技术保护点】
1.一种集群访问方法,其特征在于,应用于代理服务器,所述方法包括:接收目标客户端发送的用于访问目标集群的目标请求;从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点;判断所述第一主节点是否处于失活状态;如果是,从所述目标集群中除所述第一主节点外的各个主节点中,确定第二主节点;向所述第二主节点发送所述目标请求,以使得所述第二主节点响应所述目标请求;如果否,向所述第一主节点发送所述目标请求,以使得所述第一主节点响应所述目标请求。
【技术特征摘要】
1.一种集群访问方法,其特征在于,应用于代理服务器,所述方法包括:接收目标客户端发送的用于访问目标集群的目标请求;从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点;判断所述第一主节点是否处于失活状态;如果是,从所述目标集群中除所述第一主节点外的各个主节点中,确定第二主节点;向所述第二主节点发送所述目标请求,以使得所述第二主节点响应所述目标请求;如果否,向所述第一主节点发送所述目标请求,以使得所述第一主节点响应所述目标请求。2.根据权利要求1所述的方法,其特征在于,所述目标请求包含有目标键值,所述从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点的步骤,包括:计算获得所述目标键值对应的目标哈希值;从所述目标集群的各个主节点中,确定路由表中对应所述目标哈希值的主节点为所述目标请求对应的第一主节点,其中,所述路由表中存储有哈希值与主节点的对应关系。3.根据权利要求2所述的方法,其特征在于,在所述向所述第二主节点发送所述目标请求的步骤之后,所述方法还包括:接收针对于所述目标请求的请求成功信息;在发送所述请求成功信息的主节点为所述第二主节点的情况下,更新所述路由表中对应所述目标哈希值的主节点为所述第二主节点。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述判断所述第一主节点是否处于失活状态的步骤,包括:根据记录有处于失活状态的主节点的失活列表,判断所述第一主节点是否处于失活状态。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收对应所述目标请求的反馈信息,作为第一反馈信息;判断所述第一反馈信息是否为连接拒绝信息;如果是,将第三主节点记录到所述失活列表中,其中,所述第三主节点为:发送所述第一反馈信息的主节点。6.根据权利要求4所述的方法,其特征在于,所述失活列表通过以下方式更新:向所述目标集群中的每个主节点发送状态探测信息;接收对应每个状态探测信息的反馈信息,作为第二反馈信息;将属于连接拒绝信息的第二反馈信息对应的主节点更新到所述失活列表中。7.一种集群访问装置,其特征在于,应用于代理服务器,所述装置包括:第一接收模块,用于接收目标客户端发送的...
【专利技术属性】
技术研发人员:申航,
申请(专利权)人:北京金山云网络技术有限公司,北京金山云科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。