CN105915583A - 一种启动服务集群的方法及服务集群 - Google Patents
一种启动服务集群的方法及服务集群 Download PDFInfo
- Publication number
- CN105915583A CN105915583A CN201610184154.XA CN201610184154A CN105915583A CN 105915583 A CN105915583 A CN 105915583A CN 201610184154 A CN201610184154 A CN 201610184154A CN 105915583 A CN105915583 A CN 105915583A
- Authority
- CN
- China
- Prior art keywords
- service
- cluster
- subprogram
- service cluster
- node
- 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
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- 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/131—Protocols for games, networked simulations or virtual reality
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种启动服务集群的方法及服务集群,服务集群至少包括:多个子程序服务集群,每个子程序服务集群包括至少一个服务节点,方法包括:在接收到用户的服务请求时,确定完成用户的服务请求的目标子程序服务集群;获取目标子程序服务集群的当前状态,目标子程序服务集群的当前状态包括目标子程序服务集群中当前启动的服务节点的数量;当目标子程序服务集群当前没有启动的服务节点时,启动目标子程序服务集群。本申请不用预先将整个服务集群启动,而是根据具体的访问需求对服务集群中的子程序服务集群进行启动,即整个服务集群的架构是可调整,这使得服务集群节点的利用率大大提高,服务集群的功耗大大降低。
Description
技术领域
本发明涉及互联网及云计算技术领域,尤其涉及一种启动服务集群的方法及服务集群。
背景技术
随着互联网和云计算技术的不断发展,越来越多的服务需要使用集群服务来更好的满足用户的需求。一方面,服务集群化使用户可以得到更好的用户体验,例如访问速度快,同时,服务集群化可以在同一时间为更多的用户提供服务;另一方面,服务集群化可以提高系统的可用性,减少系统故障对业务造成的危害。
然而,现实应用中往往会存在如下场景:在很多情况下,用户的访问会在特定的时间段内有大量的请求,而在部分时间段内基本没有请求或者只有少数请求。为了保证系统可以在访问量峰值时保持高可用,后台服务的集群需要一直保持运行。
对于一个大型的应用服务而言,一方面,持续维护一系列的集群服务不仅加大了运维工作的难度,还极大的降低了服务器的利用率,另一方面,在服务集群启动时,各个服务所占的系统资源的比例,集群中节点数量都是之前已经确定好的,一旦服务启动集群的架构固定,在服务运行状态下,根据具体的访问需求对服务集群进行动态调整是比较困难的。
发明内容
有鉴于此,本发明提供了一种启动服务集群的方法及服务集群,用于解决现有技术中服务集群运维难度大、服务器利用率较低以及服务集群无法动态调整的问题,其技术方案如下:
一种启动服务集群的方法,所述服务集群包括:多个子程序服务集群,每个子程序服务集群包括至少一个服务节点,所述方法包括:
在接收到用户的服务请求时,确定完成所述用户的服务请求的目标子程序服务集群,所述目标子程序服务集群为所述服务集群中的至少一个子程序服务集群;
获取所述目标子程序服务集群的当前状态,所述目标子程序服务集群的当前状态包括所述目标子程序服务集群中当前启动的服务节点的数量;
当所述目标子程序服务集群当前没有启动的服务节点时,启动所述目标子程序服务集群。
其中,每个所述子程序服务集群对应一容器且设置于所述容器中;
则所述在接收到用户的服务请求时,确定完成所述用户的服务请求的目标子程序服务集群,包括:
在接收到所述用户的服务请求时,从多个容器中确定目标容器;
将所述目标容器中的子程序服务集群确定为完成所述服务请求的目标子程序服务集群;
则当所述目标子程序服务集群当前没有启动的服务节点时,启动所述目标子程序服务集群具体为:通过启动所述目标容器以使所述标子程序服务集群启动。
当所述目标子程序服务集群当前没有启动的服务节点时,启动所述目标子程序服务集群,包括:
当所述目标子程序服务集群当前没有启动的服务节点时,依据当前用户的服务请求的数量确定所述目标子程序服务集群中需要启动的服务节点的数量并启动。
优选地,所述方法还包括:
当所述目标子程序服务集群有已启动的服务节点时,依据当前用户的服务请求的数量以及所述目标子程序服务集群中已启动的服务节点的数量确定是否需要启动新的服务节点;
当需要启动所述新的服务节点时,启动所述新的服务节点以使当前已启动的服务节点的服务能力满足所述用户的服务请求。
优选地,所述方法还包括:
在所述目标程序服务集群完成所有的所述用户的服务请求之后,如果在预设时间段内未接收到用户针对所述目标程序服务集群的新的服务请求,则关闭所述目标程序服务集群。
优选地,所述方法还包括:
当所述目标子程序服务集群中启动的服务节点的数量多于当前用户请求的服务所需的服务节点的数量时,关闭所述目标子程序服务集群中的至少一个服务节点。
优选地,所述方法还包括:
在接收到所述用户的服务请求之前,预先启动所述目标程序服务集群中的部分服务节点。
一种服务集群,所述服务集群包括:控制单元和多个子程序服务集群,每个子程序服务集群包括至少一个服务节点,
所述控制单元,用于在接收到用户的服务请求时,确定完成所述用户的服务请求的目标子程序服务集群,并获取所述目标子程序服务集群的当前状态,在所述目标子程序服务集群当前没有启动的服务节点时,向所述目标子程序服务集群发送启动指令;
所述目标子程序服务集群,用于在接收到所述启动指令时进行启动。
其中,每个所述子程序服务集群对应一容器且设置于所述容器中;
所述控制单元,具体用于在接收到所述用户的服务请求时,通过所述服务请求确定目标容器,并将向所述目标容器发送所述启动指令,以使所述目标容器在接收到所述启动指令时启动所述目标子程序服务集群。
其中,所述控制单元,具体用于当所述目标子程序服务集群当前没有启动的服务节点时,依据当前用户的服务请求的数量确定所述目标子程序服务集群中需要启动的服务节点,并向所述需要启动的服务节点发送启动指令,以使所述需要启动的服务节点启动。
优选地,所述控制单元,还用于当所述目标子程序服务集群有已启动的服务节点时,依据当前用户的服务请求的数量以及所述目标子程序服务集群中已启动的服务节点的数量确定是否需要启动新的服务节点,当需要启动所述新的服务节点时,向所述新的服务节点发送启动指令,以使所述新的服务节点启动。
优选地,所述控制单元,还用于在所述目标程序服务集群完成所有的所述用户的服务请求之后,如果在预设时间段内未接收到用户针对所述目标程序服务集群的新的服务请求,则向所述目标程序服务集群发送关闭指令,以使所述目标程序服务集群中的所有服务节点关闭。
优选地,所述控制单元,还用于当所述目标子程序服务集群中启动的服务节点的数量多于当前用户请求的服务所需的服务节点的数量时,向所述目标子程序服务集群中的至少一个服务节点发送关闭指令,以使所述至少一个服务节点关闭。
优选地,所述控制单元,还用于在接收到所述用户的服务请求之前,向所述目标程序服务集群中的部分服务节点发送启动指令以使所述部分服务节点预先启动。
上述技术方案具有如下有益效果:
本发明提供的启动服务集群的方法及服务集群,在接收到用户的服务请求时,首先从多个子程序服务集群中确定出完成用户的服务请求的子程序服务集群作为目标子程序服务集群,并在目标子程序服务集群的当前状态指示目标子程序服务集群未启动时,控制目标子程序服务集群启动。即,本发明提供的启动服务集群的方法及服务集群,不用预先将所有的服务集群节点启动,而是根据具体的访问需求对服务集群中的子程序服务集群进行启动,即整个服务集群的架构是可调整,这使得服务集群节点的利用率大大提高,服务集群的功耗大大降低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的启动服务集群的方法的一流程示意图;
图2为本发明实施例提供的启动服务集群的方法的另一流程示意图;
图3为本发明实施例提供的服务集群的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种启动服务集群的方法,其中,服务集群包括:多个子程序服务集群,每个子程序服务集群包括至少一个服务节点,请参阅图1,示出了该方法的流程示意图,该方法可以包括:
步骤S101:在接收到用户的服务请求时,确定完成用户的服务请求的目标子程序服务集群。
其中,目标子程序服务集群为服务集群中的至少一个子程序服务集群。
步骤S102:获取目标子程序服务集群的当前状态。
其中,目标子程序服务集群的当前状态包括目标子程序服务集群中当前启动的服务节点的数量。
步骤S103:当目标子程序服务集群当前没有启动的服务节点时,启动目标子程序服务集群。
在本实施例中,当目标子程序服务集群当前没有启动的服务节点时,启动目标子程序服务集群的方式有多种,在一种可能的实现方式中,将目标子程序服务集群中的所有服务节点都启动。示例性的,目标子程序服务集群中有5个服务节点,那么将这5个服务节点全部启动。
在上述实现方式中,如果用户的服务请求的数量较少,可能会存在部分空闲的服务节点,比较浪费服务资源。示例性的,当前服务请求只需要3个服务节点进行服务即可,那么另外两个服务节点即为多余的服务节点。
为了避免上述情况的发生,在另一种较优选的实现方式中,依据当前用户的服务请求的数量确定目标子程序服务集群中需要启动的服务节点的数量并启动。示例性的,目标子程序服务集群中有5个服务节点,当前服务请求只需要3个服务节点进行服务即可,那么启动目标子程序服务集群中的3个服务节点,另外两个服务节点不启动。
本发明实施例提供的启动服务集群的方法,在接收到用户的服务请求时,从多个子程序服务集群中确定出完成用户的服务请求的子程序服务集群作为目标子程序服务集群,并在目标子程序服务集群的当前状态指示目标子程序服务集群未启动时,控制目标子程序服务集群启动。即,本发明实施例提供的启动服务集群的方法使得,不用预先将整个服务集群启动,而是根据具体的访问需求对服务集群中的子程序服务集群进行启动,即整个服务集群的架构是可调整,这使得服务集群节点的利用率大大提高,服务集群的功耗大大降低。
请参阅图2,示出了本发明实施例提供的另一种启动服务集群的方法,其中,服务集群包括多个子程序服务集群,每个子程序服务集群包括至少一个服务节点,该方法可以包括:
步骤S201:在接收到用户的服务请求时,确定完成用户的服务请求的目标子程序服务集群。
其中,目标子程序服务集群为服务集群中的至少一个子程序服务集群。
步骤S202:获取目标子程序服务集群的当前状态。
其中,目标子程序服务集群的当前状态包括目标子程序服务集群中当前启动的服务节点的数量。
步骤S203:判断目标子程序服务集群当前是否有启动的服务节点,如果目标子程序服务集群当前没有启动的服务节点,则执行步骤S204a,否则执行步骤S204b和步骤S205。
如果标子程序服务集群的当前状态指示目标子程序服务集群中当前启动的服务节点的数量为0,那么表明目标子程序服务集群当前没有启动的服务节点,否则表明目标子程序服务集群当前有启动的服务节点。
步骤S204a:启动目标子程序服务集群。
步骤S204b:依据当前用户的服务请求的数量以及目标子程序服务集群中已启动的服务节点的数量确定是否需要启动新的服务节点。
步骤S205:当需要启动新的服务节点时,启动新的服务节点以使当前已启动的服务节点的服务能力满足用户的服务请求。
示例性的,目标子程序服务集群有5个服务节点,其中有2个服务节点已启动。如果当前用户的服务请求量较大,2个服务节点的服务能力已经无法满足当前用户的服务请求时,则启动新的服务节点。需要启动新的服务节点的数量依据当前用户的服务请求量确定,例如,还需要再启动3个服务节点才能满足用户的服务请求,那么将剩余的3个服务节点启动。
本发明实施例提供的启动服务集群的方法,在接收到用户的服务请求时,首先从多个子程序服务集群中确定出完成用户的服务请求的子程序服务集群作为目标子程序服务集群,并在目标子程序服务集群的当前状态指示目标子程序服务集群未启动时,控制目标子程序服务集群启动,在目标子程序服务集群的当前状态指示目标子程序服务集群已启动时,依据当前用户的服务请求的数量以及目标子程序服务集群中已启动的服务节点的数量确定是否需要启动新的服务节点,并在需要启动新的服务节点时进行启动。即,本发明实施例提供的启动服务集群的方法不用预先将整个服务集群启动,而是根据具体的访问需求对服务集群中的子程序服务集群进行启动,还可根据具体的访问需求对子程序服务集群中的服务节点进行启动,即整个服务集群的架构是可调整,这使得服务集群节点的利用率大大提高,服务集群的功耗大大降低。
在一种可能的实现方式中,上述任一实施例中的每个子程序服务集群对应一容器且设置于容器中,容器使得子程序服务集群作为一个整体,彼此独立。
示例性的,利用docker容器将服务集群容器化,获得多个docker容器,每个docker容器中设置由至少一个服务节点组成的子程序服务集群。每个docker容器为服务集群的一个服务集群节点。通过控制docker容器的数量可控制服务集群的大小。通过使用docker容器可实现服务集群的虚拟化,从而可以动态调整服务集群的架构。
则上述实施例提供的方法中,在接收到用户的服务请求时,确定完成用户的服务请求的目标子程序服务集群,包括:在接收到用户的服务请求时,从多个容器中确定目标容器;将目标容器中的子程序服务集群确定为完成服务请求的目标子程序服务集群。
则当目标子程序服务集群当前没有启动的服务节点时,启动目标子程序服务集群具体为:通过启动目标容器以使目标子程序服务集群启动。
具体的,可通过服务请求的访问接口确定目标容器,访问接口和容器存在关联关系,当接收到用户的服务请求时,通过该服务请求的访问接口即可确定与该访问接口关联的容器,与访问接口关联的容器即为目标容器,目标容器中的子程序服务集群即为完成服务请求的子程序服务集群。
对于某些子程序服务集群而言,用户的服务请求可能是阶段性的,例如,在某个时间段内,访问量特别大,而在某个时间段没有服务请求,如果在没有服务请求时,仍然使子程序服务集群处于启动状态,势必会降低整个服务集群的利用率、增加功耗。为了解决上述问题,上述任一实施例提供的方法还可以包括:在目标程序服务集群完成所有的用户的服务请求之后,如果在预设时间段内未接收到用户针对目标程序服务集群的新的服务请求,则关闭目标程序服务集群。
上述任一实施例提供的方法还可以包括:当目标子程序服务集群中启动的服务节点的数量多于当前用户请求的服务所需的服务节点的数量时,关闭目标子程序服务集群中的至少一个服务节点。
示例性的,目标子程序服务集群有5个服务节点,当前用户的服务请求量较大,5个节点全部处于服务状态,过了一段时间,用户的服务请求量减少,只需要2个服务节点服务即可,3个服务节点空闲,则可将3个空闲的服务节点关闭。
由此可见,服务集群中各个子程序服务集群中的服务节点是动态调节的,用户的服务请求量较大时,启动服务节点以使服务能力满足用户的服务请求,当用户的服务请求量减少时,关闭空闲的服务节点以降低功耗。
上述任一实施例提供的方法还可以包括:在接收到用户的服务请求之前,预先启动目标程序服务集群中的部分服务节点。
用户对于各个子程序服务集群的响应时间的容忍性是不同的。对于用户所能忍受的响应时间较长的程序,对应的子程序服务集群中的服务节点可以不启动,也可启动较少的服务节点,当接收到用户的访问请求时,再按需启动该子程序服务集群中的服务节点。但是对于用户所能容忍的响应时间较小的程序,为了能够保证快速响应用户的服务请求,则要预先启动一定数量的服务节点。
示例性的,服务集群中一个子程序服务集群负责用户登录认证,显然,用户对这个服务的实时性要求比较高,用户点完登录就需要迅速判断是否为合法用户。因此,需要预先启动一定数量的服务节点,如果预先不启动而在有用户登录时才启动,用户登录时就会发现登录响应较慢,导致用户体验差。
示例性的,服务集群中某个子程序服务集群负责文件下载,用户对这个服务的实时性要求可能不是很高。下载一个文件可能需要几分钟或者几十秒。在这种情况下,启动服务集群时,可只启动该子程序服务集群中数量较少的服务节点,或者,一个服务节点也不启动,在接收到用户的服务请求时,再按需启动服务节点。对于下载文件可能需要几分钟或者几十秒,因此,即使加上系统启动节点的时间比如几秒或者几百毫秒对于用户来说体验不会差很多。
本发明实施例还提供了一种服务集群,请参阅图3,示出了该服务集群的结构示意图,该服务集群可以包括:控制单元301和多个子程序服务集群302,每个子程序服务集群302包括至少一个服务节点。
控制单元301,用于在接收到用户的服务请求时,确定完成所述用户的服务请求的目标子程序服务集群,并获取所述目标子程序服务集群的当前状态,在所述目标子程序服务集群当前没有启动的服务节点时,向所述目标子程序服务集群发送启动指令。
目标子程序服务集群,用于在接收到启动指令时进行启动。
本发明实施例提供的服务集群,控制单元在接收到用户的服务请求时,首先从多个子程序服务集群中确定出完成用户的服务请求的子程序服务集群作为目标子程序服务集群,并目标子程序服务集群的当前状态指示目标子程序服务集群未启动时,控制目标子程序服务集群启动。即,本发明实施例提供的服务集群不用预先将所有子程序服务集群启动,而是根据具体的访问需求对服务集群中的子程序服务集群进行启动,即整个服务集群的架构是可调整,这使得服务集群节点的利用率大大提高,服务集群的功耗大大降低。
在上述实施例中,每个所述子程序服务集群对应一容器且设置于所述容器中。
则控制单元301,具体用于在接收到用户的服务请求时,通过服务请求确定目标容器,并将向目标容器发送启动指令,以使目标容器在接收到启动指令时启动目标子程序服务集群。
在上述实施例中,控制单元301,具体用于当目标子程序服务集群当前没有启动的服务节点时,依据当前用户的服务请求的数量确定目标子程序服务集群中需要启动的服务节点,并向需要启动的服务节点发送启动指令,以使需要启动的服务节点启动。
在上述实施例中,控制单元301,还用于当目标子程序服务集群有已启动的服务节点时,依据当前用户的服务请求的数量以及目标子程序服务集群中已启动的服务节点的数量确定是否需要启动新的服务节点,当需要启动所述新的服务节点时,向新的服务节点发送启动指令,以使新的服务节点启动。
对于某些子程序服务集群而言,用户的服务请求可能是阶段性的,例如,在某个时间段内,访问量特别大,而在某个时间段没有服务请求,如果在没有服务请求时,仍然使子程序服务集群处于启动状态,势必会降低整个服务集群的利用率、增加功耗。
为了解决上述问题,上述实施例中的控制单元301,还用于在目标程序服务集群完成所有的用户的服务请求之后,如果在预设时间段内未接收到用户针对目标程序服务集群的新的服务请求,则向目标程序服务集群发送关闭指令,以使目标程序服务集群中的所有服务节点关闭。
在上述实施例中,控制单元301,还用于当目标子程序服务集群中启动的服务节点的数量多于当前用户请求的服务所需的服务节点的数量时,向目标子程序服务集群中的至少一个服务节点发送关闭指令,以使至少一个服务节点关闭。
在上述实施例中,控制单元301,还用于在接收到用户的服务请求之前,向目标程序服务集群中的部分服务节点发送启动指令以使部分服务节点预先启动。
在一种可能的实现方式中,控制单元可由守护单元和引导单元实现。其中,守护单元接收用户的服务请求,获取各个子程序服务集群的状态,确定需要启动或关闭的服务节点,而引导单元负责服务节点的启动或关闭,即在服务子单元确定出需要启动或关闭的服务节点之后,向需要启动或关闭的服务节点发送启动或关闭指令。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (14)
1.一种启动服务集群的方法,其特征在于,所述服务集群包括:多个子程序服务集群,每个子程序服务集群包括至少一个服务节点,所述方法包括:
在接收到用户的服务请求时,确定完成所述用户的服务请求的目标子程序服务集群,所述目标子程序服务集群为所述服务集群中的至少一个子程序服务集群;
获取所述目标子程序服务集群的当前状态,所述目标子程序服务集群的当前状态包括所述目标子程序服务集群中当前启动的服务节点的数量;
当所述目标子程序服务集群当前没有启动的服务节点时,启动所述目标子程序服务集群。
2.根据权利要求1所述的方法,其特征在于,每个所述子程序服务集群对应一容器且设置于所述容器中;
则所述在接收到用户的服务请求时,确定完成所述用户的服务请求的目标子程序服务集群,包括:
在接收到所述用户的服务请求时,从多个容器中确定目标容器;
将所述目标容器中的子程序服务集群确定为完成所述服务请求的目标子程序服务集群;
则当所述目标子程序服务集群当前没有启动的服务节点时,启动所述目标子程序服务集群具体为:通过启动所述目标容器以使所述标子程序服务集群启动。
3.根据权利要求1或2所述的方法,其特征在于,当所述目标子程序服务集群当前没有启动的服务节点时,启动所述目标子程序服务集群,包括:
当所述目标子程序服务集群当前没有启动的服务节点时,依据当前用户的服务请求的数量确定所述目标子程序服务集群中需要启动的服务节点的数量并启动。
4.根据权利1或2所述的方法,其特征在于,所述方法还包括:
当所述目标子程序服务集群有已启动的服务节点时,依据当前用户的服务请求的数量以及所述目标子程序服务集群中已启动的服务节点的数量确定是否需要启动新的服务节点;
当需要启动所述新的服务节点时,启动所述新的服务节点以使当前已启动的服务节点的服务能力满足所述用户的服务请求。
5.根据权利1或2所述的方法,其特征在于,所述方法还包括:
在所述目标程序服务集群完成所有的所述用户的服务请求之后,如果在预设时间段内未接收到用户针对所述目标程序服务集群的新的服务请求,则关闭所述目标程序服务集群。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述目标子程序服务集群中启动的服务节点的数量多于当前用户请求的服务所需的服务节点的数量时,关闭所述目标子程序服务集群中的至少一个服务节点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到所述用户的服务请求之前,预先启动所述目标程序服务集群中的部分服务节点。
8.一种服务集群,其特征在于,所述服务集群包括:控制单元和多个子程序服务集群,每个子程序服务集群包括至少一个服务节点,
所述控制单元,用于在接收到用户的服务请求时,确定完成所述用户的服务请求的目标子程序服务集群,并获取所述目标子程序服务集群的当前状态,在所述目标子程序服务集群当前没有启动的服务节点时,向所述目标子程序服务集群发送启动指令;
所述目标子程序服务集群,用于在接收到所述启动指令时进行启动。
9.根据权利要求8所述的服务集群,其特征在于,每个所述子程序服务集群对应一容器且设置于所述容器中;
所述控制单元,具体用于在接收到所述用户的服务请求时,通过所述服务请求确定目标容器,并将向所述目标容器发送所述启动指令,以使所述目标容器在接收到所述启动指令时启动所述目标子程序服务集群。
10.根据权利要求8或9所述的服务集群,其特征在于,所述控制单元,具体用于当所述目标子程序服务集群当前没有启动的服务节点时,依据当前用户的服务请求的数量确定所述目标子程序服务集群中需要启动的服务节点,并向所述需要启动的服务节点发送启动指令,以使所述需要启动的服务节点启动。
11.根据权利要求8或9所述的服务集群,其特征在于,所述控制单元,还用于当所述目标子程序服务集群有已启动的服务节点时,依据当前用户的服务请求的数量以及所述目标子程序服务集群中已启动的服务节点的数量确定是否需要启动新的服务节点,当需要启动所述新的服务节点时,向所述新的服务节点发送启动指令,以使所述新的服务节点启动。
12.根据权利要求8或9所述的服务集群,其特征在于,所述控制单元,还用于在所述目标程序服务集群完成所有的所述用户的服务请求之后,如果在预设时间段内未接收到用户针对所述目标程序服务集群的新的服务请求,则向所述目标程序服务集群发送关闭指令,以使所述目标程序服务集群中的所有服务节点关闭。
13.根据权利要求11所述的服务集群,其特征在于,所述控制单元,还用于当所述目标子程序服务集群中启动的服务节点的数量多于当前用户请求的服务所需的服务节点的数量时,向所述目标子程序服务集群中的至少一个服务节点发送关闭指令,以使所述至少一个服务节点关闭。
14.根据权利要求8所述的服务集群,其特征在于,所述控制单元,还用于在接收到所述用户的服务请求之前,向所述目标程序服务集群中的部分服务节点发送启动指令以使所述部分服务节点预先启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610184154.XA CN105915583B (zh) | 2016-03-28 | 2016-03-28 | 一种启动服务集群的方法及服务集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610184154.XA CN105915583B (zh) | 2016-03-28 | 2016-03-28 | 一种启动服务集群的方法及服务集群 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915583A true CN105915583A (zh) | 2016-08-31 |
CN105915583B CN105915583B (zh) | 2020-05-26 |
Family
ID=56744919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610184154.XA Active CN105915583B (zh) | 2016-03-28 | 2016-03-28 | 一种启动服务集群的方法及服务集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915583B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603678A (zh) * | 2016-12-21 | 2017-04-26 | 济南浪潮高新科技投资发展有限公司 | 一种采用Docker容器实现网格化分布式存储的方法 |
CN106844092A (zh) * | 2016-12-09 | 2017-06-13 | 武汉烽火信息集成技术有限公司 | 一种自动恢复掉电的MariaDB Galera Cluster的方法 |
CN106897076A (zh) * | 2017-03-24 | 2017-06-27 | 长沙趣动文化科技有限公司 | 游戏服务提供及运行方法、装置 |
CN107995286A (zh) * | 2017-11-30 | 2018-05-04 | 平安科技(深圳)有限公司 | 基于dubbo平台的服务自动启停方法、服务器及存储介质 |
CN108183473A (zh) * | 2017-12-13 | 2018-06-19 | 国网上海市电力公司 | 一种集群电动汽车参与辅助服务市场的优化投标方法 |
CN110138732A (zh) * | 2019-04-03 | 2019-08-16 | 平安科技(深圳)有限公司 | 访问请求的响应方法、装置、设备及存储介质 |
CN111143069A (zh) * | 2019-12-27 | 2020-05-12 | 杭州数梦工场科技有限公司 | 服务管理方法、装置、电子设备、存储介质 |
CN114500300A (zh) * | 2022-01-07 | 2022-05-13 | 支付宝(杭州)信息技术有限公司 | 服务注册处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604039A (zh) * | 2003-09-17 | 2005-04-06 | 国际商业机器公司 | 用于管理计算环境中的请求的执行的方法和系统 |
US20090089406A1 (en) * | 2007-09-30 | 2009-04-02 | Sun Microsystems, Inc. | Virtual cluster based upon operating system virtualization |
CN102137128A (zh) * | 2010-01-27 | 2011-07-27 | 腾讯科技(深圳)有限公司 | 一种集群服务的负载均衡方法和装置 |
CN103051551A (zh) * | 2011-10-13 | 2013-04-17 | 中兴通讯股份有限公司 | 一种分布式系统及其自动维护方法 |
CN103580902A (zh) * | 2012-08-07 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种计算机信息系统及其动态容灾方法 |
-
2016
- 2016-03-28 CN CN201610184154.XA patent/CN105915583B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604039A (zh) * | 2003-09-17 | 2005-04-06 | 国际商业机器公司 | 用于管理计算环境中的请求的执行的方法和系统 |
US20090089406A1 (en) * | 2007-09-30 | 2009-04-02 | Sun Microsystems, Inc. | Virtual cluster based upon operating system virtualization |
CN102137128A (zh) * | 2010-01-27 | 2011-07-27 | 腾讯科技(深圳)有限公司 | 一种集群服务的负载均衡方法和装置 |
CN103051551A (zh) * | 2011-10-13 | 2013-04-17 | 中兴通讯股份有限公司 | 一种分布式系统及其自动维护方法 |
CN103580902A (zh) * | 2012-08-07 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种计算机信息系统及其动态容灾方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844092A (zh) * | 2016-12-09 | 2017-06-13 | 武汉烽火信息集成技术有限公司 | 一种自动恢复掉电的MariaDB Galera Cluster的方法 |
CN106603678A (zh) * | 2016-12-21 | 2017-04-26 | 济南浪潮高新科技投资发展有限公司 | 一种采用Docker容器实现网格化分布式存储的方法 |
CN106897076A (zh) * | 2017-03-24 | 2017-06-27 | 长沙趣动文化科技有限公司 | 游戏服务提供及运行方法、装置 |
CN107995286A (zh) * | 2017-11-30 | 2018-05-04 | 平安科技(深圳)有限公司 | 基于dubbo平台的服务自动启停方法、服务器及存储介质 |
CN107995286B (zh) * | 2017-11-30 | 2021-03-02 | 平安科技(深圳)有限公司 | 基于dubbo平台的服务自动启停方法、服务器及存储介质 |
CN108183473A (zh) * | 2017-12-13 | 2018-06-19 | 国网上海市电力公司 | 一种集群电动汽车参与辅助服务市场的优化投标方法 |
CN110138732A (zh) * | 2019-04-03 | 2019-08-16 | 平安科技(深圳)有限公司 | 访问请求的响应方法、装置、设备及存储介质 |
CN111143069A (zh) * | 2019-12-27 | 2020-05-12 | 杭州数梦工场科技有限公司 | 服务管理方法、装置、电子设备、存储介质 |
CN114500300A (zh) * | 2022-01-07 | 2022-05-13 | 支付宝(杭州)信息技术有限公司 | 服务注册处理方法及装置 |
CN114500300B (zh) * | 2022-01-07 | 2024-04-05 | 支付宝(杭州)信息技术有限公司 | 服务注册处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105915583B (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915583A (zh) | 一种启动服务集群的方法及服务集群 | |
CN103259874B (zh) | 应用程序的跨系统运行方法、系统及云端服务器 | |
CN108399094B (zh) | 一种应用的部署方法、其部署装置及边缘数据中心 | |
US8881151B2 (en) | Control of Java resource runtime usage | |
CN103620578A (zh) | 经由网络分割的本地云计算 | |
CN103034527B (zh) | 混合虚拟化云计算资源优化控制方法与系统 | |
CN106095526A (zh) | 虚拟服务器集群及其服务器的部署方法、装置以及系统 | |
CN104011685A (zh) | 一种虚拟机系统的资源管理方法、虚拟机系统和装置 | |
CN105447110A (zh) | 一种数据库集群批量快速加载数据的方法及加载系统 | |
US11468329B2 (en) | Techniques to manage training or trained models for deep learning applications | |
CN105978938A (zh) | 一种业务处理设备的业务状态确定方法及调度设备 | |
CN109960579B (zh) | 一种调整业务容器的方法及装置 | |
CN104572179B (zh) | 一种基础设施即服务软件升级方法和装置 | |
CN105262604A (zh) | 虚拟机迁移方法及设备 | |
CN106682198B (zh) | 一种实现自动化部署数据库的方法和装置 | |
CN108933675B (zh) | 会议资源的分配方法、装置及存储介质 | |
CN105407059A (zh) | 一种应用于SCSI目标器的QoS调度器及调度方法 | |
CN104468756A (zh) | PaaS平台中实现负载分配的方法和装置 | |
CN105591964A (zh) | 一种用于互联网系统的过载保护装置和方法 | |
CN106576068A (zh) | 一种软件安全验证方法、设备及系统 | |
CN104168213A (zh) | 二层互联网络中数据报文处理方法、装置及网络设备 | |
CN105897826A (zh) | 云平台服务创建方法及系统 | |
CN105933136B (zh) | 一种资源调度方法及系统 | |
CN104461719A (zh) | 一种面向分区操作系统的虚中断扩展方法 | |
CN104954158A (zh) | 一种连接管理方法及连接池控制设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |