分布式缓存系统及缓存集群的管理方法技术方案

技术编号:15794713 阅读:126 留言:0更新日期:2017-07-10 09:36
本发明专利技术提供一种分布式缓存系统及缓存集群的管理方法。该系统包括:多个服务器和缓存web管理器,缓存web管理器用于:分配缓存集群,为缓存集群中的缓存节点分配标识并存储,并在分配缓存集群时向服务器发送启动命令。服务器用于:接收缓存web管理器发送的启动命令,根据启动命令启动服务器上的缓存进程,从缓存web管理器获取服务器上的所有缓存节点的标识,检测所有缓存节点的存活状态,若检测到一缓存节点没有存活,立即重新启动服务器上的缓存进程。本发明专利技术提供的分布式缓存系统及缓存集群的管理方法,可实现缓存集群的分配更加便捷,缓存进程的启动不需要人工操作,某一缓存进程宕掉时,可自行恢复,也不需要人工操作,更加方便。

【技术实现步骤摘要】
分布式缓存系统及缓存集群的管理方法
本专利技术涉及通信
,尤其涉及一种分布式缓存系统及缓存集群的管理方法。
技术介绍
随着各公司web站点访问量的上升,web站点的性能作为影响用户体验的关键因素,遇到越来越多的挑战,单纯的扩容机器已经不能满足需求。缓存作为提高数据访问性能的重要技术,在web站点中的应用越来越广泛。然而,随着各公司缓存技术使用的推广,缓存集群的自动化分配、可靠性保证、高效管理变得越来越重要。Memcached是一种分布式内存对象缓存系统,用于动态网页应用以减轻数据库负载,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高网站的访问速度。现有的Memcached缓存系统中,包括Memcached客户端和服务器,一个服务器上有多个缓存节点,每个缓存节点为独立的Memcached缓存进程,多个缓存节点组成缓存集群,当有缓存业务申请时,通过管理员手动启动服务器上的缓存进程,Memcached客户端中预先在配置文件中配置并存储缓存集群以及缓存集群中的缓存节点列表,当Memcached客户端接收到缓存访问请求时,由Memcached客户端根据一致性哈希算法将该缓存访问请求分发到其中一个缓存节点上。现有的缓存系统存在以下缺陷:服务器上的缓存进程需要通过管理员手动启动,在某一缓存进程宕掉时,也需要通过管理员手动重启恢复,很不方便,在缓存集群中的服务器比较多的情况下,这种缺点更为突出。
技术实现思路
本专利技术提供一种分布式缓存系统及缓存集群的管理方法,以解决现有的缓存系统中缓存进程需要人工启动以及在缓存进程宕掉时需要人工重启的问题。第一方面,本专利技术提供一种分布式缓存系统,包括:多个服务器和缓存web管理器;其中,所述缓存web管理器用于:分配缓存集群,为缓存集群中的缓存节点分配标识并存储,并在分配缓存集群时向所述服务器发送启动命令;所述服务器用于:接收所述缓存web管理器发送的所述启动命令,根据所述启动命令启动所述服务器上的缓存进程,从所述缓存web管理器获取所述服务器上的所有缓存节点的标识,检测所有缓存节点的存活状态,若检测到一缓存节点没有存活,立即重新启动所述服务器上的缓存进程。进一步地,还包括:配置中心和客户端,所述配置中心用于:在所述缓存web管理器分配缓存集群或者更新缓存集群中的缓存节点后,将缓存集群的配置信息存储在所述配置中心的内存中,所述配置信息包括:配置生成或更改的时间戳、集群标识ID、所述集群ID对应的缓存集群的缓存节点列表和所述客户端请求所述配置信息的周期;接收所述客户端周期性发送的请求所述配置信息的命令,读取所述内存,返回所述配置信息给所述客户端;所述客户端用于:向所述配置中心周期性发送请求所述配置信息的命令,接收所述配置中心返回的所述配置信息。进一步地,所述缓存web管理器还用于:在更新缓存集群中的缓存节点之前,更改所述客户端请求所述配置信息的周期。进一步地,所述客户端具体用于:首次向所述配置中心发送请求所述配置信息的命令时,若请求失败,则从所述客户端的本地配置文件中读取缓存节点列表,再发起与读取的缓存节点列表中的缓存节点的连接;接着按照预设周期向所述配置中心发送请求所述配置信息的命令,接收到所述配置中心返回的所述配置信息后,若检测到所述配置信息中的配置生成或更改的时间戳发生变化,则更新所述客户端一致性哈希环中的缓存节点列表,并将所述配置信息更新到所述客户端的本地配置文件中,发起与更新后的缓存节点列表中的缓存节点的连接。进一步地,所述缓存web管理器还用于:检测到一服务器宕机后,将发生宕机的服务器上的所有缓存节点迁移至其它空闲服务器。进一步地,所述缓存web管理器还用于:检测缓存集群中每个缓存节点的状态,在确定缓存节点状态异常时,发起报警。第二方面,本专利技术提供一种缓存集群的管理方法,包括:缓存web管理器分配缓存集群,为缓存集群中的缓存节点分配标识并存储,并在分配缓存集群时向服务器发送启动命令;所述服务器接收到所述缓存web管理器发送的所述启动命令后,根据所述启动命令启动所述服务器上的缓存进程;所述服务器从所述缓存web管理器获取所述服务器上的所有缓存节点的标识,检测所有缓存节点的存活状态,若检测到一缓存节点没有存活,立即重新启动所述服务器上的缓存进程。进一步地,还包括:所述缓存web管理器更新缓存集群中的缓存节点;配置中心在所述缓存web管理器分配缓存集群或者更新缓存集群中的缓存节点后,将缓存集群的配置信息存储在所述配置中心的内存中,所述配置信息包括:配置生成或更改的时间戳、集群标识ID、所述集群ID对应的缓存集群的缓存节点列表和客户端请求所述配置信息的周期;所述客户端向所述配置中心周期性发送请求所述配置信息的命令;所述配置中心接收到所述请求所述配置信息的命令后,读取所述内存,返回所述配置信息给所述客户端;所述客户端接收所述配置中心返回的所述配置信息。进一步地,所述缓存web管理器在更新缓存集群中的缓存节点之前,还包括:所述缓存web管理器更改所述客户端请求所述配置信息的周期。进一步地,所述客户端向所述配置中心周期性发送请求所述配置信息的命令,包括:所述客户端首次向所述配置中心发送请求所述配置信息的命令时,若请求失败,则从所述客户端的本地配置文件中读取缓存节点列表,再发起与读取的缓存节点列表中的缓存节点的连接;接着所述客户端按照预设周期向所述配置中心发送请求所述配置信息的命令;所述客户端接收所述配置中心返回的所述配置信息之后,还包括:检测所述配置信息中的配置生成或更改的时间戳是否发生变化,若是,则更新所述客户端一致性哈希环中的缓存节点列表,并将所述配置信息更新到所述客户端的本地配置文件中,发起与更新后的缓存节点列表中的缓存节点的连接。进一步地,还包括:所述缓存web管理器检测到一服务器宕机后,将发生宕机的服务器上的所有缓存节点迁移至其它空闲服务器。进一步地,还包括:所述缓存web管理器检测缓存集群中每个缓存节点的状态,在确定缓存节点状态异常时,发起报警。本专利技术提供的分布式缓存系统及缓存集群的管理方法,通过缓存web管理器分配缓存集群,为缓存集群中的缓存节点分配标识并存储,并在分配缓存集群时向服务器发送启动命令,服务器在接收到启动命令后,启动服务器上的缓存进程,这样可实现缓存集群的分配更加便捷,缓存进程的启动不需要人工操作。且通过服务器从缓存web管理器获取该服务器上的所有缓存节点的标识,检测所有缓存节点的存活状态,若检测到一缓存节点没有存活,立即重新启动该服务器上的缓存进程,进而可实现某一缓存进程宕掉时,可自行恢复,也不需要人工操作,更加方便。附图说明为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术分布式缓存系统实施例一的结构示意图;图2为本专利技术分布式缓存系统实施例二的结构示意图;图3为本专利技术缓存集群的管理方法实施例一的流程图;图4为本专利技术缓存集群的管理方法实施例二的流程图;图5为本专利技术缓存集群的管理方法中动态扩容的处理过程示意图。本文档来自技高网...
分布式缓存系统及缓存集群的管理方法

【技术保护点】
一种分布式缓存系统,其特征在于,包括:多个服务器和缓存web管理器;其中,所述缓存web管理器用于:分配缓存集群,为缓存集群中的缓存节点分配标识并存储,并在分配缓存集群时向所述服务器发送启动命令;所述服务器用于:接收所述缓存web管理器发送的所述启动命令,根据所述启动命令启动所述服务器上的缓存进程,从所述缓存web管理器获取所述服务器上的所有缓存节点的标识,检测所有缓存节点的存活状态,若检测到一缓存节点没有存活,立即重新启动所述服务器上的缓存进程。

【技术特征摘要】
1.一种分布式缓存系统,其特征在于,包括:多个服务器和缓存web管理器;其中,所述缓存web管理器用于:分配缓存集群,为缓存集群中的缓存节点分配标识并存储,并在分配缓存集群时向所述服务器发送启动命令;所述服务器用于:接收所述缓存web管理器发送的所述启动命令,根据所述启动命令启动所述服务器上的缓存进程,从所述缓存web管理器获取所述服务器上的所有缓存节点的标识,检测所有缓存节点的存活状态,若检测到一缓存节点没有存活,立即重新启动所述服务器上的缓存进程。2.根据权利要求1所述的系统,其特征在于,还包括:配置中心和客户端,所述配置中心用于:在所述缓存web管理器分配缓存集群或者更新缓存集群中的缓存节点后,将缓存集群的配置信息存储在所述配置中心的内存中,所述配置信息包括:配置生成或更改的时间戳、集群标识ID、所述集群ID对应的缓存集群的缓存节点列表和所述客户端请求所述配置信息的周期;接收所述客户端周期性发送的请求所述配置信息的命令,读取所述内存,返回所述配置信息给所述客户端;所述客户端用于:向所述配置中心周期性发送请求所述配置信息的命令,接收所述配置中心返回的所述配置信息。3.根据权利要求2所述的系统,其特征在于,所述缓存web管理器还用于:在更新缓存集群中的缓存节点之前,更改所述客户端请求所述配置信息的周期。4.根据权利要求2所述的系统,其特征在于,所述客户端具体用于:首次向所述配置中心发送请求所述配置信息的命令时,若请求失败,则从所述客户端的本地配置文件中读取缓存节点列表,再发起与读取的缓存节点列表中的缓存节点的连接;接着按照预设周期向所述配置中心发送请求所述配置信息的命令,接收到所述配置中心返回的所述配置信息后,若检测到所述配置信息中的配置生成或更改的时间戳发生变化,则更新所述客户端一致性哈希环中的缓存节点列表,并将所述配置信息更新到所述客户端的本地配置文件中,发起与更新后的缓存节点列表中的缓存节点的连接。5.根据权利要求1-4任一项所述的系统,其特征在于,所述缓存web管理器还用于:检测到一服务器宕机后,将发生宕机的服务器上的所有缓存节点迁移至其它空闲服务器。6.根据权利要求1-4任一项所述的系统,其特征在于,所述缓存web管理器还用于:检测缓存集群中每个缓存节点的状态,在确定缓存节点状态异常时,发起报警。7.一种缓存集群的管理方法,其特征在于,包括...

【专利技术属性】
技术研发人员:姜中明刘丹文立家
申请(专利权)人:五八同城信息技术有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1