×

cluster集群 redis c

cluster集群(redis cluster集群 怎么选举的)

admin admin 发表于2022-09-03 18:39:58 浏览157 评论0

抢沙发发表评论

本文目录

redis cluster集群 怎么选举的


1)Redis集群是一个可以在多个Redis节点之间进行数据共享的设施(installation)。
2)Redis集群不支持那些需要同时处理多个键的Redis命令,因为执行这些命令需要在多个Redis节点之间移动数据,并且在高负载的情况下,这些命令将降低Redis集群的性能,并导致不可预测的行为。
3)Redis集群通过分区(partition)来提供一定程度的可用性(availability):即使集群中有一部份分节点失效或者无法进行通讯,集群也可以继续处理命令请求。

如何控制GBase 8a MPP Cluster 集群的数据同步并行度


GBase 8a MPP Cluster集群的fevent同步由gc_recover组件调度和控制。可按照下面方式调整gc_recover组件的配置参数,实现同步并行度的控制。
gc_recover.conf配置 recover_thread_num参数定时重读功能已经测试完毕,结果如下:
1、 recover_thread_num参数的有效值域为[1~50],未配置此参数,或者配置值不在该值域范围时,重新启动gcrecover时会启动21个线程;
2、recover_thread_num参数配置为1时,重新启动gcrecover时会启动12个线程,之后可以修改recover_thread_num参数,仅在修改的值大于当前值时会生效,10s以内基本就会生效,最长不超过1分钟;
3、recover_thread_num参数有效时,gcrecove的线程数为recover_thread_num+11
4、gcrecove的线程数最小为12,即recover_thread_num=1时
5、gcrecove的线程数最大为61,即recover_thread_num=50时
6、运行中的gcrecover,其线程数只能增,不能减;减少gcrecover的线程数只能配置recover_thread_num参数,并重新启动gcrecover

C#怎么连接mysql cluster集群


mysql cluster 7.1.3 安装笔记
今天初步安装了一下mysql cluster,基本上都是按照官方文档做的,欢迎大家拍砖。
1,服务器使用情况
Management (MGMD) node 192.168.0.10
MySQL server (SQL) node 192.168.0.20
Data (NDBD) node “A“ 192.168.0.30

Data (NDBD) node “B“ 192.168.0.40
2,安装Management、Sql node、 Data node 重复以下步骤:
[root@www local]# tar -zxvf mysql-cluster-gpl-7.1.3-linux-i686-glibc23.tar.gz
[root@www local]# mv mysql-cluster-gpl-7.1.3-linux-i686-glibc23 mysql
[root@www local]# groupadd mysql
[root@www local]# useradd -g mysql mysql
[root@www local]# chown -R mysql.mysql mysql
[root@www local]# /usr/local/mysql/scripts/mysql_install_db --user=mysql
[root@www mysql]# cp support-files/mysql.server /etc/rc.d/init.d/
[root@www mysql]# chmod +x /etc/rc.d/init.d/mysql.server
[root@www mysql]# chkconfig --add mysql.server
3,配置Management节点:
[root@www mysql]# mkdir /var/lib/mysql-cluster
[root@www mysql]# vi /var/lib/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2 # Number of replicas
DataMemory=80M # How much memory to allocate for data storage
IndexMemory=18M # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the “world“ database takes up
# only about 500KB, this should be more than enough for
# this example Cluster setup.
# TCP/IP options:
[tcp default]
portnumber=2202 # This the default; however, you can use any port that is free
# for all the hosts in the cluster
# Note: It is recommended that you do not specify the port
# number at all and allow the default value to be used instead
# Management process options:
[ndb_mgmd]
hostname=192.168.0.10 # Hostname or IP address of management node
datadir=/var/lib/mysql-cluster # Directory for management node log files
# Options for data node “A“:
[ndbd]
# (one [ndbd] section per data node)
hostname=192.168.0.30 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node’s data files
# Options for data node “B“:
[ndbd]
hostname=192.168.0.40 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node’s data files
# SQL node options:
[mysqld]
hostname=192.168.0.20 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
[root@www mysql-cluster]# cp bin/ndb_mgm* /usr/local/bin
4,配置MySQL server (SQL) node:
创建 /etc/my.cnf并添加下面的内容
#ptions for mysqld process:
[mysqld]
ndbcluster # run NDB storage engine
ndb-connectstring=192.168.0.10 # location of management server
# Options for ndbd process:
[mysql_cluster]
ndb-connectstring=192.168.0.10 # location of management server
5,配置 Data (NDBD) node “A“:
创建/etc/my.cnf文件,并添加下面的内容
#ptions for mysqld process:
[mysqld]
ndbcluster # run NDB storage engine
ndb-connectstring=192.168.0.10 # location of management server
# Options for ndbd process:
[mysql_cluster]
ndb-connectstring=192.168.0.10 # location of management server
6,配置 Data (NDBD) node “B“:
创建/etc/my.cnf文件,并添加下面的内容
#ptions for mysqld process:
[mysqld]
ndbcluster # run NDB storage engine
ndb-connectstring=192.168.0.10 # location of management server
# Options for ndbd process:
[mysql_cluster]
ndb-connectstring=192.168.0.10 # location of management server
7,启动Management节点:
[root@www local]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini
2010-05-05 13:20:19 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-5.1.44 ndb-7.1.3
2010-05-05 13:20:19 [MgmtSrvr] INFO -- Loaded config from ’/usr/local/mysql/mysql-cluster/ndb_1_config.bin.1’
8,启动 Data (NDBD) node “A“及 Data (NDBD) node “B“:
[root@www local]# /usr/local/mysql/bin/ndbd
2010-05-05 13:20:30 [ndbd] INFO -- Configuration fetched from ’192.168.0.10:1186’, generation: 1
9,启动 MySQL server (SQL) node
[root@www local]# /etc/init.d/mysql.server start
10,所有的节点都已经起动完成了
[root@www local]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm》 show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.0.30 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master)
id=3 @192.168.0.40 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.0.10 (mysql-5.1.44 ndb-7.1.3)
[mysqld(API)] 1 node(s)
id=4 @192.168.0.20 (mysql-5.1.44 ndb-7.1.3)
-redis

rediscluster 的集群怎么用java进行运维


一:关于redis cluster
1:redis cluster的现状
目前redis支持的cluster特性
1):节点自动发现
2):slave-》master 选举,集群容错
3):Hot resharding:在线分片
4):进群管理:cluster xxx
5):基于配置(nodes-port.conf)的集群管理
6):ASK 转向/MOVED 转向机制.
2:redis cluster 架构
1)redis-cluster架构图

架构细节:
(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
(4)redis-cluster把所有的物理节点映射到slot上,cluster 负责维护node《-》slot《-》value
2) redis-cluster选举:容错
-c

请问,城市集群(city cluster)是什么意思举个例子解释一下吧.它是如何决定将哪些城市群集在一起的


城市集群是指许多大都市和城市在发展中逐渐扩张甚至彼此连接而形成的多核城市体系。表现为占地面积大、人口稠密、经济发达、交通方便、彼此联系密切的城市群,是现代城市形态的一种新类型。
形成大城市集群区的原因主要有两个方面:①自然地理位置。世界上的大城市集群区基本上位于中纬度的平原地带,并分哺在河口海岸或大湖沿岸,这样的地方为城市及城市间交通的发展,提供了良好条件。②城市化和郊区化程度。世界上的大城市集群区均有一些特大城市和大城市,由于卫星城镇和新城市不断填充在各大城市之间,当城市范围扩大和城镇数目增多到城市地域相互衔接时,形成巨大的城市带的初步格局。
-redis

如何搭建Percona XtraDB Cluster集群


一、环境准备
主机IP 主机名 操作系统版本 PXC
192.168.244.146 node1 CentOS7.1 Percona-XtraDB-Cluster-56-5.6.30
192.168.244.147 node2 CentOS7.1 Percona-XtraDB-Cluster-56-5.6.30
192.168.244.148 node3 CentOS7.1 Percona-XtraDB-Cluster-56-5.6.30
关闭防火墙或者允许3306, 4444, 4567和4568四个端口的连接
关闭SElinux
二、下载PXC
安装PXC yum源
# yum install
node3中创建测试表并插入记录
root@node3 》 create table test.test(id int,description varchar(10));
Query OK, 0 rows affected (0.18 sec)
root@node3 》 insert into test.test values(1,’hello,pxc’);
Query OK, 1 row affected (0.01 sec)
node1和node2中查询
复制代码
root@node1 》 select * from test.test;
+------+-------------+
| id | description |
+------+-------------+
| 1 | hello,pxc |
+------+-------------+
1 row in set (0.00 sec)
复制代码
复制代码
root@node2 》 select * from test.test;
+------+-------------+
| id | description |
+------+-------------+
| 1 | hello,pxc |
+------+-------------+
1 row in set (0.05 sec)
复制代码
至此,Percona XtraDB Cluster搭建完毕~
总结:
1. 刚开始启动node2的时候,启动失败,错误日志中报如下信息:
复制代码
2016-06-15 20:06:09 4937 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)
at gcomm/src/pc.cpp:connect():162
2016-06-15 20:06:09 4937 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out)
2016-06-15 20:06:09 4937 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1387: Failed to open channel ’my_centos_cluster’ at ’gcomm://192.168.244.146,192.168.244.147,192.168.244.148’: -110 (Connection timed out)
2016-06-15 20:06:09 4937 [ERROR] WSREP: gcs connect failed: Connection timed out
2016-06-15 20:06:09 4937 [ERROR] WSREP: wsrep::connect(gcomm://192.168.244.146,192.168.244.147,192.168.244.148) failed: 7
2016-06-15 20:06:09 4937 [ERROR] Aborting
复制代码
复制代码
2016-06-15 20:27:03 5870 [ERROR] WSREP: Failed to read ’ready 《addr》’ from: wsrep_sst_xtrabackup-v2 --role ’joiner’ --address ’192.168.244.147’ --datadir ’/var/lib/mysql/’ --defaults-file ’/etc/my.cnf’ --defaults-group-suffix ’’ --parent ’5870’ ’’
Read: ’(null)’
2016-06-15 20:27:03 5870 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role ’joiner’ --address ’192.168.244.147’ --datadir ’/var/lib/mysql/’ --defaults-file ’/etc/my.cnf’ --defaults-group-suffix ’’ --parent ’5870’ ’’ : 2 (No such file or directory)
2016-06-15 20:27:03 5870 [ERROR] WSREP: Failed to prepare for ’xtrabackup-v2’ SST. Unrecoverable.
2016-06-15 20:27:03 5870 [ERROR] Aborting
-c

什么是cluster技术


Cluster技术发展多年了,但其实并没有一个非常准确的定义和分类,不同的人有不同的理解。
其实,叫什么无所谓,只要能够对用户有益就可以了. :-)
就个人理解而言,cluster有以下几种,当然前面说过,不同的人有不同的理解,大家可以充分讨论。我的这些分类更偏重于工程而不是技术性。
1. HA集群
实现高可用性,但对单个应用性能没有提高,市场上大部分产品都是属于这类,技术上也较简单。
2. IP负载均衡集群
利用IP技术实现对通用IP应用的支持。这种技术并不是很新,最早是在硬件上面采用的,Linux出现后才有了很多纯软件的模式,这也是open source带来的好处吧
3.并行计算集群
包括了一些象PVM,beowulf这样的信息传递机制和API库,也有任务调度产品,当然技术上最难的是并行编译/并行系统等更智能化的产品
4.应用负载均衡集群
虽然cluster的最高目的是实现真正的与应用程序无关的动态负载均衡,但由于技术上的限制,现在都只能在特殊的应用中实现,需要修改应用程序,所以并没有通用产品,大多是厂商有自己的并行版本。例如oracle paraller server.
以上基本是按照工程或者说产品的角度划分的,和技术上划分应该有一定区别。
下面是一篇很早以前写的东西,当时是为了媒体宣传写的,有一些商业味道在里面,有些地方技术上也不完全正确。现在给大家附上是想交换一下观点。并不是宣传Turbolinux公司的产品(本人是Turbolinux员工),确实是实在懒得改了,虽然这种商业性文章在公共社区里发表犯了大忌。只是供大家参考,关于Turbolinux产品优劣不参与讨论。请大家理解。
一直是不参与linux社区讨论的,这次是因为对cluster接触了比较长的时间,已经有了很大的兴趣,所以注册了来灌水。
随着Internet/Intranet应用的日益广泛,计算机系统的重要性也日益上升。低故障率和高性能向来是人们追求的主要目标,但对于单台服务器来讲,这两个问题是无法解决的。
l 可用性——很多服务器都宣称已经达到了99%的可用性。这个数字意味着什么呢?也就是说每年会有1%的非预计停机时间,让我们来具体算一下。 365(天 / 年)× 24(小时 / 天) × 1% = 87.6 (小时 / 年)。这每年87.6小时的停机时间对于要求24×7连续服务的企业来说简直就是灾难。
l 高性能——假设一般的桌面机每秒能够处理几千个请求,而IA服务器每秒能够处理几万个请求。那么对于需要每秒处理几十万个请求的企业来说,如果不采用集群技术,唯一的选择就是购买更加高档的中、小型计算机。如果这样做,虽然系统性能只提高了十倍,但其购买价格和维护费用就将会上升几十倍甚至更多。
集群技术的出现和发展则很好的解决了这两个问题。
一.集群
集群就是由一些互相连接在一起的计算机构成的一个并行或分布式系统,从外部来看,它们仅仅是一个系统,对外提供统一的服务。
集群技术本身有很多种分类,市场上的产品也很多,都没有很标准的定义。一般可以分为以下几种:
1. 基于冗余的集群
严格来讲,这种冗余系统并不能叫做真正的集群,因为它只能够提高系统的可用性,却无法提高系统的整体性能。
有以下几种类型。
A. 容错机
特点是在一台机器内部对其所有的硬件部件都进行冗余(包括硬盘、控制卡、总线、电源等等)。
能够基本做到与软件系统无关,而且可实现无缝切换,但价格极其昂贵。
典型市场产品:Compaq NonStop(Tandem),Micron(NetFrame),Straus
B. 基于系统镜像的双机系统
特点是利用双机,将系统的数据和运行状态(包括内存中的数据)进行镜像,从而实现热备份的目的。
能够做到无缝切换,但因为采用软件控制,占用系统资源较大,而且由于两台机器需要完全一样的配置,所以性能价格比太低。
典型市场产品:Novell SFT III,Marathon Endurance 4000 for NT
C. 基于系统切换的双机系统
特点是利用双机,将系统的数据(仅指硬盘数据)进行镜像,在主机失效的情况下从机将进行系统一级的切换。
性能价格比适中,但无法实现无缝切换。
典型市场产品:Legato(Vinca) StandbyServer for NetWare,Savoir(WesternMicro)SavWareHA(Sentinel),Compaq StandbyServer
2. 基于应用程序切换的集群
特点是当集群中的某个节点故障时,其它节点可以进行应用程序一级的切换,所以所有节点在正常状态下都可以对外提供自己的服务,也被成为静态的负载均衡方式。
性能价格比高,但也无法实现无缝切换,而且对单个应用程序本身无法做到负载均衡。
典型市场产品:Legato(Vinca) Co-StandbyServer for NT,Novell HA Server,Microsoft Cluster Server,DEC Cluster for NT,Legato Octopus,Legato FullTime,NeoHigh Rose HA,SUN Clusters, Veritas Cluster Server (FirstWatch),CA SurvivIT,1776
3. 基于并行计算的集群
主要应用于科学计算、大任务量的计算等环境。有并行编译、进程通讯、任务分发等多种实现方法。
典型市场产品:TurboLinux enFuzion,Beowulf,Supercomputer Architectures,Platform
4. 基于动态负载均衡的集群
所有节点对外提供相同的服务,这样可以实现对单个应用程序的负载均衡,而且同时提供了高可用性。
性能价格比极高,但目前无法支持数据库。
典型市场产品:TurboCluster Server,Linux Virtual Server,F5 BigIP,Microsoft Windows NT Load Balance Service
二.负载均衡
负载均衡是提高系统性能的一种前沿技术。还是沿用前面的例子,一台IA服务器的处理能力是每秒几万个,显然无法在一秒钟内处理几十万个请求,但如果我们能够有10台这样的服务器组成一个系统,如果有办法将所有的请求平均分配到所有的服务器,那么这个系统就拥有了每秒处理几十万个请求的能力。这就是负载均衡的基本思想。
实际上,目前市场上有多家厂商的负载均衡产品。由于其应用的主要技术的不同,也就有着不同的特点和不同的性能。
1.轮询DNS
轮询DNS方案可以说是技术上最简单也最直观的一种方案。当然,这种方案只能够实现负载均衡的功能,却无法实现对高可用性的保证。
它的原理是在DNS服务器中设定对同一个Internet主机名的多个IP地址的映射。这样,在DNS收到查询主机名的请求时,会循环的将所有对应的IP地址逐个返回。这样,就能够将不同的客户端连接定位到不同的IP主机上,也就能够实现比较简单的负载均衡功能。但是,这种方案有两个比较致命的缺点:
l 只能够实现对基于Internet主机名请求的负载均衡,如果是直接基于IP地址的请求则无能为力。
l 在集群内有节点发生故障的情况下,DNS服务器仍会将这个节点的IP地址返回给查询方,也就仍会不断的有客户请求试图与已故障的节电建立连接。这种情况下,即使你手工修改DNS服务器的对应设置,将故障的IP地址删除,由于Internet上所有的DNS服务器都有缓存机制,仍会有成千上万的客户端连接不到集群,除非等到所有的DNS缓存都超时。
2.硬件解决方案
有些厂商提供对负载均衡的硬件解决方案,制造出带有NAT(网络地址转换)功能的高档路由器或交换机来实现负载均衡功能。NAT本身的原理就是实现多个私有IP地址对单个公共IP地址的转换。代表产品是Cicso公司和Alteon公司的某些高档硬件交换机系列。这种方案有如下缺点:
l 由于采用了特殊的硬件,使得整个系统中存在非工业标准部件,极大的影响系统的扩充和维护、升级工作。
l 价格极其昂贵,和软件的解决方案根本是数量级上的差别。
l 一般只能实现对节点系统一级的状态检查,无法细化到服务一级的检查。
l 由于采用NAT机制,集群管理节点本身要完成的工作量很大,很容易成为整个系统的瓶颈。
l 此特殊硬件本身就是单一故障点。
l 实现异地节点的集群非常困难。
3.协商式处理(并行过滤)
这种方案的原理是客户请求会同时被所有的节点所接收,然后所有节点按照一定的规则协商决定由哪个节点处理这个请求。此种方案中比较显著的特点就是整个集群中没有显著的管理节点,所有决定由全体工作节点共同协商作出。代表产品是Microsoft公司的Microsoft Load Balancing Service这种方案的特点是:
l 由于各节点间要进行的通讯量太大,加重了网络的负担,一般需要增加节点通讯的专用网络,也就加大了安装和维护的难度和费用。
l 由于每个节点都要接收所有的客户请求并进行分析,极大的加大了网络驱动层的负担,也就减低了节点本身的工作效率,同时也时网络驱动层很容易成为节点系统的瓶颈。
l 由于要更改网络驱动层的程序,所以并不是一个通用的方案,只能够实现对特殊平台的支持。
l 在小量节点的情况下协商的效率还可以接受,一旦节点数量增加,通讯和协商将变得异常复杂和低效,整个系统的性能会有非线性的大幅度下降。所以此类方案,一般在理论上也只允许最多十几个的节点。
l 无法实现异地节点的集群。
l 由于集群内没有统一的管理者,所以可能出现混乱的异常现象。
4.流量分发
流量分发的原理是所有的用户请求首先到达集群的管理节点,管理节点可以根据所有服务节点的处理能力和现状来决定将这个请求分发给某个服务节点。当某个服务节点由于硬件或软件原因故障时,管理节点能够自动检测到并停止向这个服务节点分发流量。这样,既通过将流量分担而增加了整个系统的性能和处理能力,又可以很好的提高系统的可用性。
通过将管理节点本身做一个子集群可以消除由于管理节点自身的单一性带来的单一故障点。有些传统技术人员认为,因为所有的客户流量都将通过管理节点,所以管理节点很容易成为整个系统的瓶颈。但TurboCluster Server通过先进的直接路由或IP隧道转发机制巧妙的解决了问题。使得所有对客户响应的流量都由服务节点直接返回给客户端,而并不需要再次通过管理节点。众所周知,对于服务提供商而言,进入的流量要远远小于流出的流量,所以管理节点本身将不再是瓶颈。
流量分发的具体实现方法有直接路由、IP隧道和网络地址转换三种方法。TurboCluster Server目前支持效率最高的前两种。由于这种先进的结构和技术,使得TurboCluster Server集群内的服务节点数并没有上限,而且对大量节点的协同工作的效率也能够非常好的保证。
三.市场前景
集群技术已经发展了多年,其中的分支也非常多。目前集群技术正逐渐走向分层结构,以后也肯定会有专门用户前端、后端的集群产品出现。
随着计算机应用地位的逐渐提升,系统安全和重要性的日益增加,集群技术必将会有着极为广阔的应用前景。
-redis

mysql cluster 集群 可以在已有的数据库创建吗


没有看懂你的意思,如果是想创建独立的三个集群,是不可以的,cluster的集群主要分三部分,管理节点、计算节点、存储节点,​其中所有的管理操作都在管理节点上进行,如果你已经有了一个集群了,该集群下有一个数据库,创建新的数据库只不过是给数据库增加了两个实例(oracle的叫法,实例),而不是新创建了两个集群。
如果想新创建集群,需要保证有新的管理节点、计算节点和存储节点。在此给你提个建议,尽量不要把多个项目的数据库放在同一个集群下,很麻烦的,我们公司的项目就因为甲方资源紧张,没办法,三个项目用了一个cluster的集群,结果只要其中一个项目使用数据库资源过大,就会把三个项目一起影响。
所以如果资源足够的话,尽量拆成多个集群。
-c

集群计算的集群计算(Cluster Computing)


在计算机中,集群(clustering)是使用多个计算机,如典型的个人计算机或UNIX工作站,多个存储设备和记忆冗余的互连线路来组成一个对用户来说单一的、高可用的系统。集群计算(clustering computing)能够被用来实现负载均衡。集群的倡导者提出,对一个企业来说,集群在许多情况下能够达到99.999%的可用性。集群的一个主要思路是,对外接来说,集群就像是一个唯一的系统。
集群的一个常用用途就是在一个高流量的网站中实现负载均衡。一个网页请求被送到“管理者”服务器,然后此服务器决定此请求由几个相同Web服务器中的哪一个进行处理。这种Web Farm(根据配置有时候被这样称呼)将能够提升通信量和处理速度。
集群最早是在20世纪80年代DEC的VMS系统中出现的,IBM的sysplex是与集群接近的大型主机系统。微软、Sun微系统,以及其它主导硬件和软件流的公司提供有集群包,并保证提供可扩展性和可用性。随着通信量和可用性保证的增加,集群的整个部分或局部零件的大小与数量都可以增加。
集群计算还可以被用来进行低廉的并行计算,这些并行计算通常为科学研究或其它需要并行运算的应用服务。一个著名的例子就是裴欧沃夫(Beowulf)计划,它使用一定数量现成的个人计算机组成集群来实现科学应用。-redis