redis3.0的demo实验

redis3的stable版本发布,集群功能确实的在redis中稳定了下来,不过4月1号发版这个习惯可不太好。

安装还是一如既往的make-->>make test-->>make install,具体的安装说明看下载下来的README文件即可(需要有点在linux下make c语言程序的基础)

使用前先看集群的说明

  1. 单点master的问题算是解决了,不过集群功能下不能使用多库了。
  2. 一个master拖几个后备机,挂了其中一个master则这个master所属的后备机顶上,如果master和所属后备机都挂了的话,好吧,redis会有一部分数据丢失,因为redis是把数据通过哈希算法分布式在所有master上的。
  3. master的后备机只是单纯的做数据复制,无法起到slave的只读作用,slave需要单独去配置
  4. master故障临界状态下,可能会有写一致性的问题,甚至有丢失已写入数据的情况。所以挑些坚强的机器做master
  5. redis的master不会相互间传递数据,比如你访问A,但是数据存在B上,那么客户端需要重新访问b才行,所以,redis的集群不是去中心化的,显而可见,选择的redis客户端必须支持集群

一个标准最小集群(6个实例)的实现:

实例需要的配置文件必须的几个参数

cluster-enabled yes   #必须
cluster-config-file nodes.conf #必须
cluster-node-timeout 5000 #必须
appendonly yes #必须

  1. 以master模式运行6个空的,使用具有以上参数的配置文件
  2. redis-trib.rb create --replicas 1 备份机1:端口 备份机2:端口 备份机3:端口 master1:端口 master2:端口 master3:端口
    备份机器在前,master在后,按照顺序一一对应。


redis的集群特性使得的运维产生了一些问题,尤其是添加新的master迁移slot的时候,特别是数据量特别大的时候。因为redis更多的应用是以缓存的特性,响应时间和服务的不可间断性尤其重要,但是新的集群数据分布方式给运维还是造成了一定服务间断性问题。



版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/AI001/p/4614374.html