当前位置: 首页 > news >正文

注册公司在哪个网站注册网站项目开发建设合同

注册公司在哪个网站注册,网站项目开发建设合同,免费广告设计模板网站,中卫网站建设哪家好一、概念 主从复制#xff0c;是指将一台 Redis 服务器的数据#xff0c;复制到其他的 Redis 服务器。前者称为主节点#xff08;master/leader#xff09;#xff0c;后者称为从节点#xff08;slave/follower#xff09;。数据的复制是单向的#xff0c;只能由主节点… 一、概念 主从复制是指将一台 Redis 服务器的数据复制到其他的 Redis 服务器。前者称为主节点master/leader后者称为从节点slave/follower。数据的复制是单向的只能由主节点到从节点。Master 以写为主Slave 以读为主。 默认情况下每台 Redis 服务器都是主节点且一个主节点可以有多个从节点(或没有从节点)但一个从节点只能有一个主节点。 1.1 主要作用 1、数据冗余主从复制实现了数据的热备份是持久化之外的一种数据冗余方式。 2、故障恢复当主节点出现问题时可以由从节点提供服务实现快速的故障恢复实际上是一种服务的冗余。 3、负载均衡在主从复制的基础上配合读写分离可以由主节点提供写服务由从节点提供读服务即写 Redis 数据时应用连接主节点读 Redis 数据时应用连接从节点分担服务器负载尤其是在写少读多的场景下通过多个从节点分担读负载可以大大提高 Redis 服务器的并发量。 4、高可用基石除了上述作用以外主从复制还是哨兵和集群能够实施的基础因此说主从复制是 Redis 高可用的基础。 1.2 单台瓶颈 一般来说要将 Redis 运用于工程项目中只使用一台 Redis 是万万不能的原因如下 1、从结构上单个 Redis 服务器会发生单点故障并且一台服务器需要处理所有的请求负载压力较大。 2、从容量上单个 Redis 服务器内存容量有限就算一台 Redis 服务器内存容量为 256G也不能将所有内存用作 Redis 存储内存一般来说单台 Redis 最大使用内存不应该超过 20G。 电商网站上的商品一般都是一次上传无数次浏览的说专业点也就是多读少写。对于这种场景我们可以使如下这种架构 主从复制读写分离。80% 的情况下都是在进行读操作减缓服务器的压力在架构中经常使用。最低需要一主二从 二、环境配置 2.1 查看信息 通过输入 info replication  命令可以查看当前 redis 库的信息如下所示 127.0.0.1:6379 info replication # 查看当前库的信息 # Replication role:master # 当前角色 master connected_slaves:0 # 没有从机 master_failover_state:no-failover master_replid:54a28e688e4551d9699b335c17a0deb9c8d06467 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 2.2 复制文件 复制 redis 的配置文件复制三份如下所示 [rootlocalhost myredis]# ls redis.conf [rootlocalhost myredis]# cp redis.conf redis79.conf [rootlocalhost myredis]# cp redis.conf redis80.conf [rootlocalhost myredis]# cp redis.conf redis81.conf [rootlocalhost myredis]# ls redis79.conf redis80.conf redis81.conf redis.conf 2.3 修改文件 需要修改上面复制的三个配置文件信息需要修改的内容如下所示 # 三份文件的端口号分别为 6379、6380、6381 port 6379# pid 名字 pidfile /var/run/redis_6379.pid# log 文件名字 logfile 6379.log# dump.pid 的名字 dbfilename dump6379.rdb 2.4 启动测试 上面都配置完毕后3 个服务通过 3 个不同的配置文件开启我们的准备环境就 OK 了 # 第一台服务器启动 [rootlocalhost bin]# redis-server myredis/redis79.conf [rootlocalhost bin]# ls 6379.log appendonlydir dump.rdb myredis redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server [rootlocalhost bin]# redis-cli -p 6379 127.0.0.1:6379 # 第二台服务器启动 [rootlocalhost bin]# redis-server myredis/redis80.conf [rootlocalhost bin]# ls 6379.log 6380.log appendonlydir dump.rdb myredis redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server [rootlocalhost bin]# redis-cli -p 6380 127.0.0.1:6380 # 第三台服务器启动 [rootlocalhost bin]# redis-server myredis/redis81.conf [rootlocalhost bin]# ls 6379.log 6380.log 6381.log appendonlydir dump.rdb myredis redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server [rootlocalhost bin]# redis-cli -p 6381 127.0.0.1:6381 查看 redis 的进程查看是否完全启动成功。 如下所示 [rootlocalhost bin]# ps -ef | grep redis root 62142 1 0 00:33 ? 00:00:13 redis-server 127.0.0.1:6379 root 63363 1 0 01:54 ? 00:00:00 redis-server 127.0.0.1:6380 root 63376 1 0 01:54 ? 00:00:00 redis-server 127.0.0.1:6381 root 63382 56368 0 01:54 pts/2 00:00:00 redis-cli -p 6379 root 63391 57550 0 01:55 pts/3 00:00:00 redis-cli -p 6380 root 63392 63102 0 01:55 pts/1 00:00:00 redis-cli -p 6381 root 63394 63141 0 01:55 pts/4 00:00:00 grep --colorauto redis三、一主二从 3.1 节点信息查看 三台 redis 服务器默认都是 Master 节点如下图所示 # 第一台服务器查看节点信息 127.0.0.1:6379 info replication # Replication role:master connected_slaves:0 master_failover_state:no-failover master_replid:54a28e688e4551d9699b335c17a0deb9c8d06467 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0# 第二台服务器查看节点信息 127.0.0.1:6380 info replication # Replication role:master connected_slaves:0 master_failover_state:no-failover master_replid:5fa97c2e9e96b6ba5bc275a7a1c8c9126112ff03 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0# 第三台服务器查看节点信息 127.0.0.1:6381 info replication # Replication role:master connected_slaves:0 master_failover_state:no-failover master_replid:2187b763138a4c5e77b58c77d4702f4f6132eaa2 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 3.2 配置从机 使用 slaveof 命令使 master 节点变为从节点。 # 使用 slaveof 命令使主节点变为从节点 127.0.0.1:6380 slaveof 127.0.0.1 6379 OK (1.35s)# 再次查看当前的节点信息发现变为了从节点 127.0.0.1:6380 info replication # Replication role:slave # 当前的角色 master_host:127.0.0.1 # 可以看到主机信息 master_port:6379 master_link_status:down master_last_io_seconds_ago:-1 master_sync_in_progress:0 slave_read_repl_offset:0 slave_repl_offset:0 master_link_down_since_seconds:-1 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:5fa97c2e9e96b6ba5bc275a7a1c8c9126112ff03 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0# 使用 slaveof 命令使主节点变为从节点 127.0.0.1:6381 slaveof 127.0.0.1 6379 OK # 再次查看当前的节点信息发现变为了从节点 127.0.0.1:6381 info replication # Replication role:slave master_host:127.0.0.1 master_port:6379 master_link_status:up master_last_io_seconds_ago:1 master_sync_in_progress:0 slave_read_repl_offset:168 slave_repl_offset:168 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:6ccdf51ea4dec3fbabc8fd94fdfdb4cf00856171 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:168 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:169 repl_backlog_histlen:0# 在主机上重新查看节点的信息发现多了两个从机的信息 127.0.0.1:6379 info replication # Replication role:master connected_slaves:2 slave0:ip127.0.0.1,port6380,stateonline,offset238,lag1 slave1:ip127.0.0.1,port6381,stateonline,offset238,lag0 master_failover_state:no-failover master_replid:6ccdf51ea4dec3fbabc8fd94fdfdb4cf00856171 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:238 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:2383.3 真实的主从配置 真实的主从配置应该是在配置文件中配置的只有在配置文件中配置才是永久的我们上面使用命令的配置是暂时的一旦某一个节点关机那么也就失去了主从的配置。 3.4 主从节点测试 3.4.1 主从节点特点 主节点可以写从节点不可以写只能读。主节点中的所有信息和数据都会自动被从节点保存。 # 主节点可以进行写操作 127.0.0.1:6379 set k1 v1 OK# 从节点1可以查看所有的信息 # 但是无法进行写的操作 127.0.0.1:6380 clear 127.0.0.1:6380 keys * 1) k1 127.0.0.1:6380 get k1 v1 127.0.0.1:6380 set k2 v2 (error) READONLY You can t write against a read only replica.# 从节点2可以查看所有的信息 127.0.0.1:6381 get k1 v13.4.2 主节点重连测试 主机断开连接从机依旧连接到主机就是无法进行写操作了。这个时候如果主机回来了从机依旧可以直接获取到主机写的信息。 # 首先关闭主机 127.0.0.1:6379 shutdown not connected exit # 重新开启主机并 set 值 [rootlocalhost bin]# redis-server myredis/redis79.conf [rootlocalhost bin]# redis-cli -p 6379 127.0.0.1:6379 set k2 v2 OK# 可以在从机获取到主机 set 的值 127.0.0.1:6380 get k2 v2 3.4.2 从节点重连测试 如果使用命令行来配置的主从这个时候如果从机重启了从机就会变回主机。只要通过命令的方式再变回为从机从机立马就可以获取到主机的所有值 127.0.0.1:6381 info replication # Replication role:slave # 当前的角色是从机 master_host:127.0.0.1 master_port:6379 master_link_status:up master_last_io_seconds_ago:4 master_sync_in_progress:0 slave_read_repl_offset:528 slave_repl_offset:528 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:e33ec29ec8de6e256c43a64b46057d2a81c83182 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:528 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:528# 进行重启操作 127.0.0.1:6381 shutdown not connected exit [rootlocalhost bin]# redis-server myredis/redis81.conf [rootlocalhost bin]# redis-cli -p 6381 127.0.0.1:6381 info replication # Replication role:master # 当前的角色是主机 connected_slaves:0 master_failover_state:no-failover master_replid:2bd7531932a454bc6c492f04a1a96abd4a897855 master_replid2:e33ec29ec8de6e256c43a64b46057d2a81c83182 master_repl_offset:542 second_repl_offset:543 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:543 repl_backlog_histlen:03.5 复制原理 Slave 启动成功连接到 master 后会向 master 发送一个 sync 命令。 master 接到命令启动后台的存盘进程同时收集所有接收到的用于修改数据集命令在后台进程执行完毕之后master 将传送整个数据文件到 slave并完成一次完全同步。 全量复制而 slave 服务在接收到数据库文件数据后将其存盘并加载到内存中。 增量复制Master 继续将新的所有收集到的修改命令依次传给 slave完成同步但是只要是重新连接 master一次完全同步全量复制将被自动执行我们的数据一定可以在从机中看到。 3.6 层层链路 上一个 Slave 可以是下一个 slave 和 MasterSlave 同样可以接收其他 slaves 的连接和同步请求那么该 slave 作为了链条中下一个的 master可以有效减轻 master 的写压力 # 配置客户端3变为客户端2的从机 127.0.0.1:6381 slaveof 127.0.0.1 6380 OK # 查看当前的从机的信息 127.0.0.1:6381 info replication # Replication role:slave master_host:127.0.0.1 master_port:6380 master_link_status:up master_last_io_seconds_ago:4 master_sync_in_progress:0 slave_read_repl_offset:5386 slave_repl_offset:5386 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:e33ec29ec8de6e256c43a64b46057d2a81c83182 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:5386 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:5359 repl_backlog_histlen:28# 此时查看客户端1的节点信息 # 此时的客户端1只剩下6380一个节点 127.0.0.1:6379 info replication # Replication role:master connected_slaves:1 slave0:ip127.0.0.1,port6380,stateonline,offset5526,lag0 master_failover_state:no-failover master_replid:e33ec29ec8de6e256c43a64b46057d2a81c83182 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:5526 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:5526# 查看下最特殊的客户端2 # 我们发现他还是一个从节点依旧无法进行写入操作 127.0.0.1:6380 info replication # Replication role:slave master_host:127.0.0.1 master_port:6379 master_link_status:up master_last_io_seconds_ago:9 master_sync_in_progress:0 slave_read_repl_offset:5610 slave_repl_offset:5610 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:1 slave0:ip127.0.0.1,port6381,stateonline,offset5610,lag0 master_failover_state:no-failover master_replid:e33ec29ec8de6e256c43a64b46057d2a81c83182 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:5610 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:5610# 客户端1进行写入 127.0.0.1:6379 set k6 v6 OK# 客户端2可以查询到 127.0.0.1:6380 get k6 v6# 客户端3也可以查询到 127.0.0.1:6381 get k6 v63.7 谋朝篡位 一主二从的情况下如果主机断了从机可以使用命令 SLAVEOF NO ONE 将自己改为主机这个时候其余的从机链接到这个节点。对一个从属服务器执行命令 SLAVEOF NO ONE 将使得这个从属服务器关闭复制功能并从从属服务器转变回主服务器原来同步所得的数据集不会被丢弃。 即使主机再回来也只是一个光杆司令了从机为了正常使用跑到了新的主机上 # 断开主节点 127.0.0.1:6379 shutdown not connected exit# 从节点执行命令发现自己变为了主节点 127.0.0.1:6380 slaveof no one OK 127.0.0.1:6380 info replication # Replication role:master connected_slaves:1 slave0:ip127.0.0.1,port6381,stateonline,offset6045,lag1 master_failover_state:no-failover master_replid:6876480e76af2999855e6571bc7de430a0cc4f02 master_replid2:e33ec29ec8de6e256c43a64b46057d2a81c83182 master_repl_offset:6045 second_repl_offset:6018 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:6045四、哨兵模式 4.1 概念 主从切换技术的方法是当主服务器宕机后需要手动把一台从服务器切换为主服务器这就需要人工干预费事费力还会造成一段时间内服务不可用。这不是一种推荐的方式更多时候我们优先考虑哨兵模式。Redis 从 2.8 开始正式提供了 Sentinel哨兵 架构来解决这个问题。 谋朝篡位的自动版能够后台监控主机是否故障如果故障了根据投票数自动将从库转换为主库。 哨兵模式是一种特殊的模式首先 Redis 提供了哨兵的命令哨兵是一个独立的进程作为进程它会独立运行。原理是哨兵通过发送命令等待 Redis 服务器响应从而监控运行的多个 Redis 实例。 这里的哨兵有两个作用 1、通过发送命令让 Redis 服务器返回监控其运行状态包括主服务器和从服务器。 2、当哨兵监测到 master 宕机会自动将 slave 切换成 master然后通过发布订阅模式通知其他的从服务器修改配置文件让它们切换主机。 然而一个哨兵进程对 Redis 服务器进行监控可能会出现问题为此我们可以使用多个哨兵进行监控。各个哨兵之间还会进行监控这样就形成了多哨兵模式。 假设主服务器宕机哨兵1先检测到这个结果系统并不会马上进行 failover 过程仅仅是哨兵1主观的认为主服务器不可用这个现象成为主观下线。当后面的哨兵也检测到主服务器不可用并且数量达到一定值时那么哨兵之间就会进行一次投票投票的结果由一个哨兵发起进行failover[故障转移]操作。切换成功后就会通过发布订阅模式让各个哨兵把自己监控的从服务器实现切换主机这个过程称为客观下线。  4.2 测试 我们目前的状态是一主二从下面的测试是基于这个状态。 4.2.1 创建 sentinel 的配置文件 # 创建 sentinel.conf 文件 [rootlocalhost myredis]# ls redis79.conf redis80.conf redis81.conf redis.conf [rootlocalhost myredis]# vim sentinel.conf [rootlocalhost myredis]# ls redis79.conf redis80.conf redis81.conf redis.conf sentinel.conf# sentinel.conf 内容如下所示 # sentinel monitor 被监控的名称 ip port 1 # 上面最后一个数字1表示主机挂掉后 slave 投票看让谁接替成为主机得票数多少后成为主机 sentinel monitor myredis 127.0.0.1 6379 1 4.2.2 启动 sentinel 进程 # 输入命令启动 sentinel [rootlocalhost bin]# redis-sentinel myredis/sentinel.conf 68012:X 30 Aug 2023 19:44:25.745 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add vm.overcommit_memory 1 to /etc/sysctl.conf and then reboot or run the command sysctl vm.overcommit_memory1 for this to take effect. 68012:X 30 Aug 2023 19:44:25.745 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 68012:X 30 Aug 2023 19:44:25.745 * Redis version7.2.0, bits64, commit00000000, modified0, pid68012, just started 68012:X 30 Aug 2023 19:44:25.745 * Configuration loaded 68012:X 30 Aug 2023 19:44:25.745 * Increased maximum number of open files to 10032 (it was originally set to 1024). 68012:X 30 Aug 2023 19:44:25.745 * monotonic clock: POSIX clock_gettime_._ _.-__ -._ _.- . _. -._ Redis 7.2.0 (00000000/0) 64 bit.- .-. \/ _.,_ -._ ( , .- | , ) Running in sentinel mode|-._-...- __...-.-._| _.-| Port: 26379| -._ ._ / _.- | PID: 68012-._ -._ -./ _.- _.- |-._-._ -.__.- _.-_.-| | -._-._ _.-_.- | https://redis.io -._ -._-.__.-_.- _.- |-._-._ -.__.- _.-_.-| | -._-._ _.-_.- | -._ -._-.__.-_.- _.- -._ -.__.- _.- -._ _.- -.__.- 68012:X 30 Aug 2023 19:44:25.746 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 68012:X 30 Aug 2023 19:44:27.425 * Sentinel new configuration saved on disk 68012:X 30 Aug 2023 19:44:27.425 * Sentinel ID is 7d49ccc2c94c126d96432b3ee075b37bbc4e6ba4 68012:X 30 Aug 2023 19:44:27.443 # monitor master myredis 127.0.0.1 6379 quorum 1 68012:X 30 Aug 2023 19:44:27.519 * slave slave 127.0.0.1:6380 127.0.0.1 6380 myredis 127.0.0.1 6379 68012:X 30 Aug 2023 19:44:27.522 * Sentinel new configuration saved on disk 68012:X 30 Aug 2023 19:44:27.522 * slave slave 127.0.0.1:6381 127.0.0.1 6381 myredis 127.0.0.1 6379 68012:X 30 Aug 2023 19:44:27.524 * Sentinel new configuration saved on disk 4.2.3 断开测试 如果主节点断开了这个时候就会从从机中随机选择一个服务器作为主节点这里面有一个投票算法 如果主机此时回来了只能归并到新的主机下当作从机这就是哨兵模式的规则。 # 关闭主节点 127.0.0.1:6379 shutdown (0.98s) not connected exit# 查看从节点1的信息 127.0.0.1:6380 info replication # Replication role:slave master_host:127.0.0.1 master_port:6381 master_link_status:up master_last_io_seconds_ago:1 master_sync_in_progress:0 slave_read_repl_offset:25095 slave_repl_offset:25095 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:a7529ac9efada9ef3cabd4ce80c622b12fb39b69 master_replid2:7331d8dbfc77c3fe3f75d7b68df331925cbb5f49 master_repl_offset:25095 second_repl_offset:13761 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:6018 repl_backlog_histlen:19078# 查看从节点2的信息发现他变为了主节点 127.0.0.1:6381 info replication # Replication role:master connected_slaves:1 slave0:ip127.0.0.1,port6380,stateonline,offset26165,lag1 master_failover_state:no-failover master_replid:a7529ac9efada9ef3cabd4ce80c622b12fb39b69 master_replid2:7331d8dbfc77c3fe3f75d7b68df331925cbb5f49 master_repl_offset:26165 second_repl_offset:13761 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:6032 repl_backlog_histlen:20134 4.3 优点 1、哨兵集群模式是基于主从模式的所有主从的优点哨兵模式同样具有。 2、主从可以切换故障可以转移系统可用性更好。 3、哨兵模式是主从模式的升级系统更健壮可用性更高。 4.4 缺点 1、Redis 较难支持在线扩容在集群容量达到上限时在线扩容会变得很复杂。 2、实现哨兵模式的配置也不简单甚至可以说有些繁琐 4.5 哨兵配置说明 # Example sentinel.conf # 哨兵sentinel实例运行的端口 默认26379 port 26379# 哨兵sentinel的工作目录 dir /tmp# 哨兵sentinel监控的redis主节点的 ip port # master-name 可以自己命名的主节点名字 只能由字母A-z、数字0-9 、这三个字符.-_组成。 # quorum 配置多少个sentinel哨兵统一认为master主节点失联 那么这时客观上认为主节点失联了 # sentinel monitor master-name ip redis-port quorum sentinel monitor mymaster 127.0.0.1 6379 2# 当在Redis实例中开启了requirepass foobared 授权密码 这样所有连接Redis实例的客户端都要提供密码 # 设置哨兵sentinel 连接主从的密码 注意必须为主从设置一样的验证密码 # sentinel auth-pass master-name password sentinel auth-pass mymaster MySUPER--secret-0123passw0rd# 指定多少毫秒之后 主节点没有应答哨兵sentinel 此时 哨兵主观上认为主节点下线 默认30秒 # sentinel down-after-milliseconds master-name milliseconds sentinel down-after-milliseconds mymaster 30000# 这个配置项指定了在发生failover主备切换时最多可以有多少个slave同时对新的master进行 同步这个数字越小完成failover所需的时间就越长但是如果这个数字越大就意味着越 多的slave因为replication而不可用。可以通过将这个值设为 1 来保证每次只有一个slave 处于不能处理命令请求的状态。 # sentinel parallel-syncs master-name numslaves sentinel parallel-syncs mymaster 1# 故障转移的超时时间 failover-timeout 可以用在以下这些方面 # 1. 同一个sentinel对同一个master两次failover之间的间隔时间。 # 2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。 # 3.当想要取消一个正在进行的failover所需要的时间。 # 4.当进行failover时配置所有slaves指向新的master所需的最大时间。不过即使过了这个超时slaves依然会被正确配置为指向master但是就不按parallel-syncs所配置的规则来了 # 默认三分钟 # sentinel failover-timeout master-name milliseconds sentinel failover-timeout mymaster 180000# SCRIPTS EXECUTION # 配置当某一事件发生时所需要执行的脚本可以通过脚本来通知管理员例如当系统运行不正常时发邮件通知相关人员。 # 对于脚本的运行结果有以下规则 # 若脚本执行后返回1那么该脚本稍后将会被再次执行重复次数目前默认为10 # 若脚本执行后返回2或者比2更高的一个返回值脚本将不会重复执行。 # 如果脚本在执行过程中由于收到系统中断信号被终止了则同返回值为1时的行为相同。 # 一个脚本的最大执行时间为60s如果超过这个时间脚本将会被一个SIGKILL信号终止之后重新执行。 # 通知型脚本:当sentinel有任何警告级别的事件发生时比如说redis实例的主观失效和客观失效等 # 等将会去调用这个脚本这时这个脚本应该通过邮件SMS等方式去通知系统管理员关于系统不正常 # 运行的信息。调用该脚本时将传给脚本两个参数一个是事件的类型一个是事件的描述。如果 # sentinel.conf配置文件中配置了这个脚本路径那么必须保证这个脚本存在于这个路径并且是可执行的否则sentinel无法正常启动成功。 # 通知脚本 # sentinel notification-script master-name script-path sentinel notification-script mymaster /var/redis/notify.sh# 客户端重新配置主节点参数脚本 # 当一个master由于failover而发生改变时这个脚本将会被调用通知相关的客户端关于master地址已经发生改变的信息。 # 以下参数将会在调用脚本时传给脚本: # master-name role state from-ip from-port to-ip to-port # 目前state总是“failover”, # role是“leader”或者“observer”中的一个。 # 参数 from-ip, from-port, to-ip, to-port是用来和旧的master和新的master(即旧的slave)通信的 # 这个脚本应该是通用的能被多次调用不是针对性的。 # sentinel client-reconfig-script master-name script-path sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
http://www.w-s-a.com/news/674788/

相关文章:

  • 用nas建设服务器网站用vs做音乐网站
  • 天津市武清区住房建设网站网站自适应框架
  • 制作移动网站公司网站开发职业规划
  • 网站头部怎样做有气势wordpress 页面 锚
  • 秦皇岛网站建设系统推荐个人网站免费制作
  • 我做夫人那些年网站登录wordpress 扫码付费
  • 网站关键词代码怎么做公司 网站建设
  • 哈尔滨多语言网站建设wordpress分类链接
  • 购物网站项目介绍软件开发流程的五大步骤
  • 做的网站怎么放在网上2008 iis搭建网站
  • 网站维护服务公司上海兼职网站制作
  • 企业做网站需要多少钱湘潭九华网站
  • 嘉兴建站服务微营销官网
  • 比较好的网页模板网站浦项建设(中国)有限公司网站
  • 有趣的个人网站网页设计与制作的岗位职责
  • 有建设网站的软件吗长沙做网站的公司对比
  • 网站的外链接数中铝长城建设有限公司网站
  • 北京建设网站公司网站建设费用 无形资产
  • 适合seo的建站系统如何建立网页
  • 我想自己建立一个网站给大家分享个永久免费的云服务器
  • 怎样做网站和网站的友情链接官网优化 报价
  • 购买网站空间大小聊城网站空间公司
  • 做像美团淘宝平台网站多少钱开发网站企业
  • 网站建设前期费用二手购物网站策划书
  • dede学校网站百度联盟是什么
  • 献县网站建设网站开发专业定制
  • 龙华做网站yihe kj安徽六安彩礼一般给多少
  • flash网站建设公司我的小程序在哪里找
  • 建网站需要数据库吗如何制作简单的网页链接
  • 杭州设计企业网站高端公司上虞做网站公司