一种大容量Redis集构建并处理客户请求的方法和系统与流程


一种大容量redis集构建并处理客户请求的方法和系统
技术领域
1.本发明涉及数据库存储技术领域,特别是涉及一种大容量redis集构建并处理客户请求的方法和系统。


背景技术:



2.redis集是一个由多个主从节点组成的分布式服务器,它具有复制、高可用和分片特性。redis需要将每个节点设置成集模式,这种集模式没有中心节点,可水平扩展,redis集节点间采取gossip协议进行通信。
3.redis集承载大容量存储时需要非常多的节点来承载,由于redis集节点间的通信通过gossip进行交叉广播,当节点超过150个时节点通信会占用大量集资源导致集性能大幅度下降。当集发生故障或者异常时所有该集的用户都将受到影响、故障影响面会大幅度放大。
4.并且当对一个大集(节点超过150)进行扩容或者缩容时,原生redis集会对用户造成比较大的影响;同时扩缩容的效率也比较低,缺乏并行化的能力。如果扩容不增加集节点数,需要增大每个节点的容量。当节点的容量过大会导致一个节点异常时做高可用主从切换的时间不可控,而影响集的可用时间。


技术实现要素:



5.本发明的目的在于避免现有技术中的不足之处而提供一种易扩容、性能好、可靠性好的大容量redis集构建并处理客户请求的方法和系统。
6.一种大容量redis集构建并处理客户请求的方法,用于与客户端进行信息交互,包括以下步骤:a、设置多个通过gossip协议交互信息的集组;b、在所述集组设置三个以上的处理客户请求的集单元;c、在所述客户端和所述集组之间设置代理模块,所述代理模块接收所述客户端请求并将该请求分配至对应所述集组内的对应所述集单元处理、并将处理结果返回给所述客户端。
7.优选地,其中,所述步骤c具体包括:c1、初始化模块对所述集组进行编号并对每个所述集组分配槽位;c2、信息接收模块接收所述客户端的请求;c3、信息处理模块对客户请求进行散列函数计算;c4、取模模块对经散列函数计算的请求结果根据所述集组数量和所述槽位数量分别进行取模运算;c5、请求发送模块根据所述取模模块的取模数将请求发送到对应所述集组的对应所述槽位;c6、所述集单元处理该槽位接收的请求并将结果发送至信息发送模块;c7、所述信息发送模块接收所述集单元返回的处理结果并将其返回所述客户端,返回步骤c2。
8.优选地,上述步骤b还包括如下步骤:在所述集单元设置一对互为主从关系的主服务器和从服务器;所述步骤b之后还包括如下步骤:所述主服务器的状态巡检单元与其他所述主服务器交互工作状态,当发现其中一个所述主服务器故障后,高可选举单元联合其他正常工作的所述主服务器一起推选故障主服务器对应的从服务器接替故障主服务器工
作。
9.优选地,上述步骤c2还包括协议转换单元对所述客户端的请求转换成rediscluster协议;所述步骤c7还包括所述协议转换单元将所述集单元返回的处理结果转换成所述客户端的协议。
10.优选地,上述步骤c2还包括所述监控单元统计所述客户端请求;所述步骤c7还包括所述监控单元统计的所述集单元返回的处理结果。
11.本发明还公开了一种大容量redis集系统,用于与客户端进行信息交互,包括多个通过gossip协议交互信息的集组,每个所述集组设置三个以上用于处理所述客户端发送的请求的集单元,在所述客户端和所述集组之间设置有接收所述客户端请求并将该请求分配至对应所述集组内的对应所述集单元处理、并将处理结果后返回给所述客户端的代理模块。
12.优选地,上述代理模块具体包括:对所述集组进行编号并对每个所述集组分配槽位的初始化模块、接收所述客户端请求的信息接收模块、对所述信息接收模块接收的请求进行散列函数计算的信息处理模块、对经散列函数计算的请求结果根据所述集组数量和所述槽位数量分别进行取模运算的取模模块、根据所述取模模块的取模数将请求发送到对应所述集组的对应所述槽位的请求发送模块、接收所述集单元返回的处理结果并将其返回所述客户端的信息发送模块。
13.优选地,上述集单元包括一对互为主从关系的主服务器和从服务器,所述主服务器还包括与其他所述主服务器交互工作状态的状态巡检单元、当所述状态巡检单元发现其中一个所述主服务器故障后联合其他正常工作的所述主服务器一起推选故障主服务器对应的从服务器接替故障主服务器工作的高可选举单元。
14.优选地,上述代理模块还包括将所述客户端的请求转换成rediscluster协议、并将所述集单元返回的处理结果转换成标准redis协议的协议转换单元。
15.优选地,上述代理模块还设置有统计所述客户端请求和所述集组的处理结果的监控单元。
16.本发明与现有技术相比具有以下优点:本发明的大容量redis集构建并处理客户请求的方法和系统,先设置多个通过gossip协议交互信息的集组,在每个集组设置三个以上的集单元,组成一个超大容量的逻辑集;代理模块接收客户端请求并将该请求分配至对应集组内的对应集单元处理、并将处理结果返回给所述客户端,进而实现与客户端进行信息交互处理。
17.这样创建后的大容量redis集系统,因为每个集组设置三个以上的集单元,redis集系统的容量是改进前的三倍以上。用户只需要根据需要配置每个集组内集单元的数量n,就可以成n倍地增加本发明大容量redis集系统的容量,结构非常简单,容量可以无限扩大,可满足各种对大容量场景下的存储需求,不需要如现有技术那样增加容量时需要一个个地增加大量的单个节点服务器,完美避开了gossip协议在大规模节点下的缺陷。因而本发明的大容量redis集构建并处理客户请求的方法创建的大容量redis集系统,扩容非常方便简单,扩容效率非常高,并行化能力好。
18.又因本发明的大容量redis集系统的各集组是通过gossip协议交互信息,即交互信息的是在每个集组之间进行,而不是如现有技术那样单个节点服务器之间通过
gossip协议交互信息,因而扩容时本发明的大容量redis集系统可通过增加集组内的集单元数量实现,不会如现有技术那样需要增加节点数量,因而不会因节点数量的倍增使得节点间通信占用集资源,不会影响集性能,具备了平滑的扩缩容能力。同时可以将扩缩容影响降至最低,所以本发明的大容量redis集构建并处理客户请求的方法创建的大容量redis集系统性能好。
19.且因为本发明的大容量redis集系统的集组内有三个以上的集单元,当其中一个集单元发生故障或者异常时,还有集组内的其他集单元工作,受影响的只是该集组,不会如现有技术那样同时影响所有redis集的用户,因而本发明的大容量redis集构建并处理客户请求的方法创建的大容量redis集系统抗故障能力强,减少集故障波及范围,将集不可用影响波及面压缩到最小,可靠性好。
20.由上可知,大容量redis集构建并处理客户请求的方法和系统具有易扩容、性能好、可靠性好的优点。
附图说明
21.利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制。
22.图1是本发明的一种大容量redis集构建并处理客户请求的方法的第一种实施方式的流程图;
23.图2是本发明的一种大容量redis集构建并处理客户请求的方法的第二种实施方式的流程图;
24.图3是本发明的一种大容量redis集系统的第一种实施方式的结构示意图;
25.图4是本发明的一种大容量redis集系统的第二种实施方式的结构示意图。
具体实施方式
26.为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
27.作为本发明的一种大容量redis集构建并处理客户请求的方法的第一种实施方式,用于与客户端进行信息交互,如图1所示,包括以下步骤:
28.101、设置多个通过gossip协:议交互信息的集组;
29.102、在集组设置三个以上的处理客户请求的集单元;
30.103、在客户端和集组之间设置代理模块,代理模块接收客户端请求并将该请求分配至对应集组内的对应集单元处理、并将处理结果返回给客户端。
31.gossip协议是一个通信协议,一种传播消息的方式。gossip协议周期性的随机选择一些节点,并把信息传递给这些节点,这些收到信息的节点接下来会做同样的事情,即把这些信息传递给其他一些随机选择的节点。gossip协议的主要用于信息传播和扩散:即把一些发生的事件传播到全世界。它们也被用于数据库复制,信息扩散,集成员身份确认,故障探测等。
32.本发明的大容量redis集构建并处理客户请求的方法用于与客户端进行信息交
互,先设置多个通过gossip协议交互信息的集组,在每个集组设置三个以上的集单元,此时这多个独立的集组构成一个超大容量的逻辑集;代理模块接收客户端请求并将该请求分配至对应集组内的对应集单元处理、并将处理结果返回给客户端,进而实现与客户端进行信息交互处理。
33.这样创建后的大容量redis集系统,因为每个集组设置三个以上的集单元,redis集系统的容量是改进前的三倍以上。用户只需要根据需要配置每个集组内集单元的数量n,就可以成n倍地增加本发明大容量redis集系统的容量,结构非常简单,容量可以无限扩大,可满足各种对大容量场景下的存储需求,不需要如现有技术那样增加容量时需要一个个地增加大量的单个节点服务器,完美避开了gossip协议在大规模节点下的缺陷。因而本发明的大容量redis集构建并处理客户请求的方法创建的大容量redis集系统,扩容非常方便简单,扩容效率非常高,并行化能力好。
34.又因本发明的大容量redis集系统的各集组是通过gossip协议交互信息,即交互信息的是在每个集组之间进行,而不是如现有技术那样单个节点服务器之间通过gossip协议交互信息,因而扩容时本发明的大容量redis集系统可通过增加集组内的集单元数量实现,不会如现有技术那样需要增加节点数量,因而不会因节点数量的倍增使得节点间通信占用集资源,不会影响集性能,具备了平滑的扩缩容能力。同时可以将扩缩容影响降至最低,所以本发明的大容量redis集构建并处理客户请求的方法创建的大容量redis集系统性能好。
35.且因为本发明的大容量redis集系统的集组内有三个以上的集单元,当其中一个集单元发生故障或者异常时,还有集组内的其他集单元工作,受影响的只是该集组,不会如现有技术那样同时影响所有redis集的用户,因而本发明的大容量redis集构建并处理客户请求的方法创建的大容量redis集系统抗故障能力强,减少集故障波及范围,将集不可用影响波及面压缩到最小,可靠性好。
36.作为本发明的一种大容量redis集构建并处理客户请求的方法的第二种实施方式,用于与客户端进行信息交互,如图2所示,包括以下步骤:
37.201、设置多个通过gossip协议交互信息的集组;
38.202、在集组设置三个以上的处理客户请求的集单元,在集单元设置一对互为主从关系的主服务器和从服务器;
39.203、主服务器的状态巡检单元与其他主服务器交互工作状态,当发现其中一个主服务器故障后,高可选举单元联合其他正常工作的主服务器一起推选故障主服务器对应的从服务器接替故障主服务器工作;
40.204、初始化模块对集组进行编号并对每个集组分配槽位;
41.205、信息接收模块接收客户端的请求,协议转换单元对客户端的请求转换成rediscluster协议,监控单元统计客户端请求;
42.206、信息处理模块对客户请求进行散列函数计算;
43.207、取模模块对经散列函数计算的请求结果根据集组数量和槽位数量分别进行取模运算;
44.208、请求发送模块根据取模模块的取模数将请求发送到对应集组的对应槽位;
45.209、集单元处理该槽位接收的请求并将结果发送至信息发送模块;
46.210、信息发送模块接收集单元返回的处理结果,经协议转换单元将集单元返回的处理结果转换成标准redis协议,后将其返回客户端,监控单元统计的集单元返回的处理结果,返回步骤203。
47.本发明的大容量redis集处理客户请求的方法具体为:
48.创建好多个通过gossip协议交互信息的集组、集组内设置的集单元,并在集单元设置一对互为主从关系的主服务器和从服务器,从服务器为主服务器进行冗余备份;为监控各集单元的工作状态,主服务器的状态巡检单元与其他主服务器交互工作状态,即监控各主服务是否正常工作;当发现其中一个主服务器故障后,高可选举单元联合其他正常工作的主服务器一起推选故障主服务器对应的从服务器接替故障主服务器工作,进而该集单元能正常工作,不会影响整个大容量redis集系统的工作。也完美避开了现有技术的因集节点存储过大导致的异常恢复时间(替故障主服务器工作的时间)不可控的问题。
49.初始化模块对集组进行编号并对每个集组分配槽位,即对集组从0、1、2、3
……
n进行编号,每个编号代表一个集组;同时,对每个集组统一分配槽位,槽位的数量根据需要设置,每个槽位具有一个ip地址,当槽位确定后,集单元也确定了。
50.信息接收模块接收客户端key请求,协议转换单元对客户端的请求转换成rediscluster协议,监控单元统计客户端请求;信息处理模块对客户key请求进行散列函数计算。
51.散列函数可以使用系统库提供的函数,也可以编写的离散度高的函数,具体地,散列函数可以为hash函数:crc16(key)%。hash函数可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系。hash算法还具有一个特点,就是很难到逆向规律,hash算法是一个广义的算法,也可以认为是一种思想,使用hash算法可以提高存储空间的利用率,可以提高数据的查询效率,也可以做数字签名来保障数据传递的安全性。
52.取模模块对经散列函数计算的请求结果根据集组数量和槽位数量分别进行取模运算;例如如果集组数量为n个,则hash计算后取模如:crc16(key)%n;如果槽位数量数量为16384个,则hash计算后取模如:crc16(key)%16384。取模后,可以确定key请求落在哪个集组和该集组的具体槽位上。
53.请求发送模块根据取模模块的取模数将请求发送到对应集组的对应槽位;集单元处理该槽位的请求并将结果发送至信息发送模块;信息发送模块接收集单元返回的处理结果,协议转换单元将集单元返回的处理结果转换成客户端的协议,并将其返回客户端,最后信息处理模块继续接收客户端请求,循环进行以上步骤处理客户请求。
54.由以上步骤实现大容量redis集构建并处理客户请求,确保构建大容量redis集系统的基础上,实现了客户端请求的接收、处理和处理结果的返回,处理可靠性高。
55.另外,在步骤205中协议转换单元对客户端的请求转换成rediscluster协议;在步骤210中协议转换单元将集单元返回的处理结果转换成标准redis协议,即rediscluster协议与标准redis协议相互转换,采用标准redis协议接收客户端请求和向客户端返回处理结果。协议转换可以使用开发语言c/c++、rust等底层语言。
56.rediscluster协议为新开发协议,不同开发语言对rediscluster协议支持力度不同,因此不同语言使用rediscluster时都存在不同程度的缺陷。由于各种开发语言对标准
redis协议都有完整的支持,rediscluster协议与标准redis协议相互转换,解决客户端多语言访问的缺陷问题。
57.在步骤205中监控单元统计客户端请求;在步骤210中监控单元统计的集单元返回的处理结果。即通过监控单元统计客户端请求和处理结果,客户可以根据需要调取统计结果,开展各种需要的大数据研究,如统计客户的喜好、频率等。
58.一种大容量redis集系统,如图3所示,用于与客户端30进行信息交互,包括多个通过gossip协议交互信息的集组40,每个集组40设置三个以上用于处理客户端30发送的请求的集单元41,在客户端30和集组40之间设置有接收客户端30请求并将该请求分配至对应集组40内的对应集单元41处理、并将处理结果后返回给客户端30的代理模块50。
59.gossip协议是一个通信协议,一种传播消息的方式。gossip协议周期性的随机选择一些节点,并把信息传递给这些节点,这些收到信息的节点接下来会做同样的事情,即把这些信息传递给其他一些随机选择的节点。gossip协议的主要用于信息传播和扩散:即把一些发生的事件传播到全世界。它们也被用于数据库复制,信息扩散,集成员身份确认,故障探测等。
60.本发明的大容量redis集系统用于与客户端30进行信息交互,设置有多个通过gossip协议交互信息的集组40,在每个集组40设置三个以上的集单元41,此时这多个独立的集组40构成一个超大容量的逻辑集;代理模块50接收客户端30请求并将该请求分配至对应集组40内的对应集单元41处理、并将处理结果返回给客户端30,进而实现与客户端30进行信息交互处理。
61.因为每个集组40设置三个以上的集单元41,redis集系统的容量是改进前的三倍以上。用户只需要根据需要配置每个集组40内集单元41的数量n,就可以成n倍地增加本发明大容量redis集系统的容量,结构非常简单,容量可以无限扩大,可满足各种对大容量场景下的存储需求,不需要如现有技术那样增加容量时需要一个个地增加大量的单个节点服务器,完美避开了gossip协议在大规模节点下的缺陷。因而本发明的大容量redis集系统,扩容非常方便简单,扩容效率非常高,并行化能力好。
62.又因本发明的大容量redis集系统的各集组40是通过gossip协议交互信息,即交互信息的是在每个集组40之间进行,而不是如现有技术那样单个节点服务器之间通过gossip协议交互信息,因而扩容时本发明的大容量redis集系统可通过增加集组40内的集单元41数量实现,不会如现有技术那样需要增加节点数量,因而不会因节点数量的倍增使得节点间通信占用集资源,不会影响集性能,具备了平滑的扩缩容能力。同时可以将扩缩容影响降至最低,所以本发明的大容量redis集系统性能好。
63.且因为本发明的大容量redis集系统的集组40内有三个以上的集单元41,当其中一个集单元41发生故障或者异常时,还有集组40内的其他集单元41工作,受影响的只是该集组40,不会如现有技术那样同时影响所有redis集的用户,因而本发明的大容量redis集系统抗故障能力强,减少集故障波及范围,将集不可用影响波及面压缩到最小,可靠性好。
64.较佳地,如图4所示,代理模块50具体包括:对集组40进行编号并对每个集组40分配槽位的初始化模块51、接收客户端30请求的信息接收模块52、对信息接收模块52接
收的请求进行散列函数计算的信息处理模块53、对经散列函数计算的请求结果根据集组40数量和槽位数量分别进行取模运算的取模模块54、根据取模模块54的取模数将请求发送到对应集组40的对应槽位的请求发送模块55、接收集单元41返回的处理结果并将其返回客户端30的信息发送模块56。
65.创建好多个通过gossip协议交互信息的集组40、集组40内设置的集单元41,初始化模块51对集组40进行编号并对每个集组40分配槽位,即对集组40从0、1、2、3
……
n进行编号,每个编号代表一个集组40;同时,对每个集组40统一分配槽位,槽位的数量根据需要设置,每个槽位具有一个ip地址,当槽位确定后,集单元41也确定了。
66.信息接收模块52接收客户端30key请求,信息处理模块53对客户key请求进行散列函数计算。
67.散列函数可以使用系统库提供的函数,也可以编写的离散度高的函数,具体地,散列函数可以为hash函数crc16(key)%。hash函数可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系。hash算法还具有一个特点,就是很难到逆向规律,hash算法是一个广义的算法,也可以认为是一种思想,使用hash算法可以提高存储空间的利用率,可以提高数据的查询效率,也可以做数字签名来保障数据传递的安全性。
68.取模模块54对经散列函数计算的请求结果根据集组40数量和槽位数量分别进行取模运算;例如如果集组40数量为n个,则hash计算后取模如:crc16(key)%n;如果槽位数量数量为16384个,则hash计算后取模如:crc16(key)%16384。取模后,可以确定key请求落在哪个集组40和该集组40的具体槽位上。
69.请求发送模块55根据取模模块54的取模数将请求发送到对应集组40的对应槽位;集单元41处理该槽位的请求并将结果发送至信息发送模块56;信息发送模块56接收集单元41返回的处理结果,并将其返回客户端30,进而完成了与客户信息的交互。
70.较佳地,如图4所示,集单元41包括一对互为主从关系的主服务器42和从服务器43,主服务器42还包括与其他主服务器42交互工作状态的状态巡检单元44、当状态巡检单元44发现其中一个主服务器42故障后联合其他正常工作的主服务器42一起推选故障主服务器42对应的从服务器43接替故障主服务器42工作的高可选举单元45。
71.在集单元41设置一对互为主从关系的主服务器42和从服务器43,从服务器43为主服务器42进行冗余备份;为监控各集单元41的工作状态,主服务器42的状态巡检单元44与其他主服务器42交互工作状态,即监控各主服务是否正常工作;当发现其中一个主服务器42故障后,高可选举单元45联合其他正常工作的主服务器42一起推选故障主服务器42对应的从服务器43接替故障主服务器42工作,进而该集单元41能正常工作,不会影响整个大容量redis集系统的工作。也完美避开了现有技术的因集节点存储过大导致的异常恢复时间(替故障主服务器42工作的时间)不可控的问题。
72.较佳地,如图4所示,代理模块50还包括将客户端30的请求转换成rediscluster协议、并将集单元41返回的处理结果转换成标准redis协议的协议转换单元57。
73.即rediscluster协议与标准redis协议相互转换,采用标准redis协议接收客户端30请求和向客户端30返回处理结果。协议转换可以使用开发语言c/c++、rust等底层语言。
74.rediscluster协议为新开发协议,不同开发语言对rediscluster协议支持力度不同,因此不同语言使用rediscluster时都存在不同程度的缺陷。由于各种开发语言对标准
redis协议都有完整的支持,rediscluster协议与标准redis协议相互转换,解决客户端30多语言访问的缺陷问题。
75.较佳地,如图4所示,代理模块50还设置有统计客户端30请求和集组40的处理结果的监控单元58。即通过监控单元58统计客户端30请求和处理结果,客户可以根据需要调取统计结果,开展各种需要的大数据研究,如统计客户的喜好、频率等。
76.最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

技术特征:


1.一种大容量redis集构建并处理客户请求的方法,用于与客户端进行信息交互,其特征在于,包括以下步骤:a、设置多个通过gossip协议交互信息的集组;b、在所述集组设置三个以上的处理客户请求的集单元;c、在所述客户端和所述集组之间设置代理模块,所述代理模块接收所述客户端请求并将该请求分配至对应所述集组内的对应所述集单元处理、并将处理结果返回给所述客户端。2.根据权利要求1所述的一种大容量redis集构建并处理客户请求的方法,其特征在于,其中,所述步骤c具体包括:c1、初始化模块对所述集组进行编号并对每个所述集组分配槽位;c2、信息接收模块接收所述客户端的请求;c3、信息处理模块对客户请求进行散列函数计算;c4、取模模块对经散列函数计算的请求结果根据所述集组数量和所述槽位数量分别进行取模运算;c5、请求发送模块根据所述取模模块的取模数将请求发送到对应所述集组的对应所述槽位;c6、所述集单元处理该槽位接收的请求并将结果发送至信息发送模块;c7、所述信息发送模块接收所述集单元返回的处理结果并将其返回所述客户端,返回步骤c2。3.根据权利要求2所述的一种大容量redis集构建并处理客户请求的方法,其特征在于,所述步骤b还包括如下步骤:在所述集单元设置一对互为主从关系的主服务器和从服务器;所述步骤b之后还包括如下步骤:所述主服务器的状态巡检单元与其他所述主服务器交互工作状态,当发现其中一个所述主服务器故障后,高可选举单元联合其他正常工作的所述主服务器一起推选故障主服务器对应的从服务器接替故障主服务器工作。4.根据权利要求3所述的一种大容量redis集构建并处理客户请求的方法,其特征在于:所述步骤c2还包括协议转换单元对所述客户端的请求转换成rediscluster协议;所述步骤c7还包括所述协议转换单元将所述集单元返回的处理结果转换成所述客户端的协议。5.根据权利要求4所述的一种大容量redis集构建并处理客户请求的方法,其特征在于:所述步骤c2还包括所述监控单元统计所述客户端请求;所述步骤c7还包括所述监控单元统计的所述集单元返回的处理结果。6.一种大容量redis集系统,用于与客户端进行信息交互,其特征在于,包括多个通过gossip协议交互信息的集组,每个所述集组设置三个以上用于处理所述客户端发送的请求的集单元,在所述客户端和所述集组之间设置有接收所述客户端请求并将该请求分配至对应所述集组内的对应所述集单元处理、并将处理结果后返回给所述客户端的代理模块。7.根据权利要求6所述的一种大容量redis集系统,其特征在于,所述代理模块具体包括:对所述集组进行编号并对每个所述集组分配槽位的初始化模块、接收所述客户端
请求的信息接收模块、对所述信息接收模块接收的请求进行散列函数计算的信息处理模块、对经散列函数计算的请求结果根据所述集组数量和所述槽位数量分别进行取模运算的取模模块、根据所述取模模块的取模数将请求发送到对应所述集组的对应所述槽位的请求发送模块、接收所述集单元返回的处理结果并将其返回所述客户端的信息发送模块。8.根据权利要求7所述的一种大容量redis集系统,其特征在于,所述集单元包括一对互为主从关系的主服务器和从服务器,所述主服务器还包括与其他所述主服务器交互工作状态的状态巡检单元、当所述状态巡检单元发现其中一个所述主服务器故障后联合其他正常工作的所述主服务器一起推选故障主服务器对应的从服务器接替故障主服务器工作的高可选举单元。9.根据权利要求8所述的一种大容量redis集系统,其特征在于:所述代理模块还包括将所述客户端的请求转换成rediscluster协议、并将所述集单元返回的处理结果转换成标准redis协议的协议转换单元。10.根据权利要求9所述的一种大容量redis集系统,其特征在于:所述代理模块还设置有统计所述客户端请求和所述集组的处理结果的监控单元。

技术总结


一种大容量Redis集构建并处理客户请求的方法,用于与客户端进行信息交互,包括以下步骤:a、设置多个通过Gossip协议交互信息的集组;b、在集组设置三个以上的处理客户请求的集单元;c、在客户端和集组之间设置代理模块,代理模块接收客户端请求并将该请求分配至对应集组内的对应集单元处理、并将处理结果返回给客户端。本发明还公开了一种大容量Redis集系统。本发明的大容量Redis集构建并处理客户请求的方法和系统具有易扩容、性能好、可靠性好的优点。可靠性好的优点。可靠性好的优点。


技术研发人员:

蔡朋

受保护的技术使用者:

深圳依时货拉拉科技有限公司

技术研发日:

2022.09.23

技术公布日:

2022/12/22

本文发布于:2024-09-23 10:24:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/44993.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:集群   所述   单元   客户端
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议