{"id":2280,"date":"2015-08-13T18:00:13","date_gmt":"2015-08-13T11:00:13","guid":{"rendered":"https:\/\/engineerball.com\/?p=2280"},"modified":"2015-08-13T18:00:13","modified_gmt":"2015-08-13T11:00:13","slug":"how-to-create-failover-with-redis-cluster","status":"publish","type":"post","link":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html","title":{"rendered":"\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster"},"content":{"rendered":"<p>\u0e08\u0e32\u0e01\u0e42\u0e1e\u0e2a\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e1c\u0e48\u0e32\u0e19\u0e21\u0e32\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07<a href=\"https:\/\/engineerball.com\/2014\/08\/21\/how-to-install-redis-cluster.html\">\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 redis cluster<\/a> \u0e19\u0e31\u0e49\u0e19 \u0e21\u0e31\u0e19\u0e01\u0e47\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e1b\u0e47\u0e19 cluster \u0e43\u0e19 mode master-master \u0e01\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e2b\u0e25\u0e48\u0e30 \u0e41\u0e15\u0e48\u0e04\u0e23\u0e32\u0e27\u0e19\u0e35\u0e49\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e21\u0e31\u0e19\u0e40\u0e01\u0e34\u0e14\u0e40\u0e27\u0e25\u0e32 instance \u0e2b\u0e19\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e21\u0e31\u0e19 down \u0e25\u0e07\u0e44\u0e1b \u0e21\u0e31\u0e19\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e17\u0e31\u0e49\u0e07 cluster \u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22 redis \u0e01\u0e47\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22<\/p>\n<p>\u0e01\u0e32\u0e23\u0e41\u0e01\u0e49\u0e44\u0e02\u0e19\u0e31\u0e49\u0e19\u0e04\u0e37\u0e2d\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e17\u0e33 instance \u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19 replica \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a master \u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27 \u0e0b\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e2b\u0e32\u0e01 master \u0e15\u0e31\u0e27\u0e43\u0e14\u0e15\u0e31\u0e27\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e44\u0e14\u0e49 down \u0e44\u0e1b \u0e15\u0e31\u0e27 replica (slave) \u0e01\u0e47\u0e08\u0e30 promote \u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e40\u0e1b\u0e47\u0e19 master \u0e41\u0e17\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e04\u0e23\u0e31\u0e1a \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e23\u0e35\u0e22\u0e01\u0e2d\u0e35\u0e01\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e27\u0e48\u0e32\u0e01\u0e32\u0e23 failover<\/p>\n<figure style=\"width: 250px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"https:\/\/lh3.googleusercontent.com\/-GMjDO2ievcw\/VcqH7iPqkII\/AAAAAAAASik\/DnvgvcQSa0Y\/w416-h285\/43uymVm.gif\" alt=\"\" width=\"250\" height=\"171\" \/><figcaption class=\"wp-caption-text\">Failover success<\/figcaption><\/figure>\n<p>\u0e21\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e31\u0e19\u0e40\u0e25\u0e22\u0e14\u0e35\u0e01\u0e27\u0e48\u0e32 (\u0e15\u0e48\u0e2d\u0e08\u0e32\u0e01\u0e42\u0e1e\u0e2a\u0e15\u0e4c\u0e40\u0e14\u0e34\u0e21\u0e19\u0e30 <a href=\"https:\/\/engineerball.com\/2014\/08\/21\/how-to-install-redis-cluster.html\">\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 redis cluster<\/a>)<\/p>\n<p>\u0e17\u0e33\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 instance \u0e43\u0e2b\u0e21\u0e48\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32<\/p>\n<p>[shell]<br \/>\nfor i in {7379..7381}<br \/>\ndo<br \/>\nmkdir \/etc\/redis\/redis-$i\/<br \/>\ncat &gt;&gt; \/etc\/redis\/redis-$i\/redis.conf &lt;&lt; END<br \/>\nport $i<br \/>\ncluster-enabled yes<br \/>\ncluster-config-file \/etc\/redis\/redis-$i\/nodes.conf<br \/>\ncluster-node-timeout 5000<br \/>\nappendonly yes<br \/>\nEND<br \/>\ndone<br \/>\n[\/shell]<\/p>\n<p>\u0e17\u0e33\u0e01\u0e32\u0e23 start redis-server \u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e35\u0e49 \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32<\/p>\n<p>[shell]<br \/>\nfor i in {7379..7381}<br \/>\ndo<br \/>\nredis-server \/etc\/redis\/redis-$i\/redis.conf &amp;<br \/>\ndone<br \/>\n[\/shell]<\/p>\n<p>Join redis-server \u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e43\u0e2b\u0e21\u0e48\u0e19\u0e35\u0e49 \u0e40\u0e02\u0e49\u0e32 cluster \u0e40\u0e14\u0e34\u0e21\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27<\/p>\n<p>[shell]<br \/>\nfor i in {7379..7381}<br \/>\ndo<br \/>\n    redis-trib.rb add-node 127.0.0.1:$i 127.0.0.1:6379<br \/>\ndone<br \/>\n[\/shell]<\/p>\n<div class=\"line number4 index3 alt1\">\u00a0\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e17\u0e33 replica \u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07 instance \u0e42\u0e14\u0e22\u0e1c\u0e21\u0e08\u0e30\u0e42\u0e22\u0e07\u0e43\u0e19\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e19\u0e35\u0e49\u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a<\/div>\n<div class=\"line number4 index3 alt1\">\u00a0<a href=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/08\/chart.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2296\" src=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/08\/chart.png\" alt=\"chart\" width=\"397\" height=\"256\" \/><\/a><\/div>\n<div class=\"line number4 index3 alt1\">\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e02\u0e2d\u0e07 Cluster<\/div>\n<div class=\"line number4 index3 alt1\">\n<p>[shell]<br \/>\nredis-cli -p 6379<br \/>\n127.0.0.1:6379&gt; cluster nodes<br \/>\n[\/shell]<\/p>\n<\/div>\n<div class=\"line number4 index3 alt1\">\u0e01\u0e47\u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19 node \u0e17\u0e35\u0e48\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e14\u0e31\u0e07\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e19\u0e35\u0e49<\/div>\n<pre class=\"line number4 index3 alt1\">2bd09849437a295377c2e6ae80050e1563b868b0 127.0.0.1:7379 master - 0 1439428336565 4 connected\r\n569a16572c5e78921633239d3925fd5554cdb3c1 127.0.0.1:7381 master - 0 1439428336057 0 connected\r\n5ad713ae1a2553639c9c81d116e1021af7c273c1 127.0.0.1:6381 master - 0 1439428337068 3 connected 10923-16383\r\n3e3cfd2c4609c77dd6f63e9654b1e417fb4c8223 127.0.0.1:7380 master - 0 1439428335051 5 connected\r\n13f160661910bcd7a641bba7a5bf03f356966cf4 127.0.0.1:6379 myself,master - 0 0 1 connected 0-5460\r\n82da99ca89e693120f4e368843d094d6ea587091 127.0.0.1:6380 master - 0 1439428336057 2 connected 5461-10922<\/pre>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number4 index3 alt1\">\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23 instance 7379<\/div>\n<div class=\"line number4 index3 alt1\">\n<p>[shell]<br \/>\nredis-cli -p<br \/>\n127.0.0.1:7979&gt; cluster replicate 82da99ca89e693120f4e368843d094d6ea587091<br \/>\n[\/shell]<\/p>\n<\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number4 index3 alt1\">\u0e08\u0e30\u0e44\u0e14\u0e49 output \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e43\u0e19\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e19\u0e35\u0e49<\/div>\n<pre class=\"line number4 index3 alt1\"><\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"line number4 index3 alt1\">OK\r\n 127.0.0.1:7379&gt; 1529:S 13 Aug 01:16:20.214 * Connecting to MASTER 127.0.0.1:6380\r\n 1529:S 13 Aug 01:16:20.214 * MASTER &lt;-&gt; SLAVE sync started\r\n 1529:S 13 Aug 01:16:20.214 * Non blocking connect for SYNC fired the event.\r\n 1529:S 13 Aug 01:16:20.215 * Master replied to PING, replication can continue...\r\n 1529:S 13 Aug 01:16:20.215 * Partial resynchronization not possible (no cached master)\r\n 1487:M 13 Aug 01:16:20.215 * Slave asks for synchronization\r\n 1487:M 13 Aug 01:16:20.215 * Full resync requested by slave.\r\n 1487:M 13 Aug 01:16:20.216 * Starting BGSAVE for SYNC\r\n 1487:M 13 Aug 01:16:20.216 * Background saving started by pid 2081\r\n 1529:S 13 Aug 01:16:20.216 * Full resync from master: f5e238abd9bde1b0848de7f6428018972fa8a9e3:1\r\n 2081:C 13 Aug 01:16:20.218 * DB saved on disk\r\n 2081:C 13 Aug 01:16:20.219 * RDB: 0 MB of memory used by copy-on-write\r\n 1487:M 13 Aug 01:16:20.313 * Background saving terminated with success\r\n 1487:M 13 Aug 01:16:20.314 * Synchronization with slave succeeded\r\n 1529:S 13 Aug 01:16:20.314 * MASTER &lt;-&gt; SLAVE sync: receiving 18 bytes from master\r\n 1529:S 13 Aug 01:16:20.314 * MASTER &lt;-&gt; SLAVE sync: Flushing old data\r\n 1529:S 13 Aug 01:16:20.314 * MASTER &lt;-&gt; SLAVE sync: Loading DB in memory\r\n 1529:S 13 Aug 01:16:20.315 * MASTER &lt;-&gt; SLAVE sync: Finished with success\r\n 1529:S 13 Aug 01:16:20.315 * Background append only file rewriting started by pid 2082\r\n 1529:S 13 Aug 01:16:20.347 * AOF rewrite child asks to stop sending diffs.\r\n 2082:C 13 Aug 01:16:20.347 * Parent agreed to stop sending diffs. Finalizing AOF...\r\n 2082:C 13 Aug 01:16:20.347 * Concatenating 0.00 MB of AOF diff received from parent.\r\n 2082:C 13 Aug 01:16:20.348 * SYNC append only file rewrite performed\r\n 2082:C 13 Aug 01:16:20.348 * AOF rewrite: 0 MB of memory used by copy-on-write\r\n 1529:S 13 Aug 01:16:20.414 * Background AOF rewrite terminated with success\r\n 1529:S 13 Aug 01:16:20.415 * Redidual parent diff successfully flushed to the rewritten AOF (0.00 MB)\r\n 1529:S 13 Aug 01:16:20.415 * Background AOF rewrite finished successfully<\/pre>\n<pre class=\"line number4 index3 alt1\"><\/pre>\n<p>&nbsp;<\/p>\n<div class=\"line number4 index3 alt1\"><\/div>\n<p>&nbsp;<\/p>\n<div class=\"line number4 index3 alt1\">\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e01\u0e47\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e01\u0e31\u0e1a node \u0e17\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d<\/div>\n<p>&nbsp;<\/p>\n<div class=\"line number4 index3 alt1\">\n<p>[shell]<br \/>\nredis-cli -p 7380<br \/>\n127.0.0.1:7380&gt; cluster replicate 5ad713ae1a2553639c9c81d116e1021af7c273c1<br \/>\n[\/shell]<\/p>\n<p>[shell]<br \/>\nredis-cli -p 7381<br \/>\n127.0.0.1:7381&gt; cluster replicate 13f160661910bcd7a641bba7a5bf03f356966cf4<br \/>\n[\/shell]<\/p>\n<\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number4 index3 alt1\">\u0e16\u0e49\u0e32\u0e14\u0e39\u0e17\u0e35\u0e48 cluster status \u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19\u0e44\u0e14\u0e49\u0e27\u0e48\u0e32<\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<pre>127.0.0.1:7381&gt; cluster nodes\r\n5ad713ae1a2553639c9c81d116e1021af7c273c1 127.0.0.1:6381 master - 0 1439428983104 3 connected 10923-16383\r\n82da99ca89e693120f4e368843d094d6ea587091 127.0.0.1:6380 master - 0 1439428982602 2 connected 5461-10922\r\n569a16572c5e78921633239d3925fd5554cdb3c1 :7381 myself,slave 13f160661910bcd7a641bba7a5bf03f356966cf4 0 0 0 connected\r\n2bd09849437a295377c2e6ae80050e1563b868b0 127.0.0.1:7379 slave 82da99ca89e693120f4e368843d094d6ea587091 0 1439428981089 5 connected\r\n3e3cfd2c4609c77dd6f63e9654b1e417fb4c8223 127.0.0.1:7380 slave 5ad713ae1a2553639c9c81d116e1021af7c273c1 0 1439428982099 5 connected\r\n13f160661910bcd7a641bba7a5bf03f356966cf4 127.0.0.1:6379 master - 0 1439428983104 1 connected 0-5460<\/pre>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number4 index3 alt1\">slave \u0e44\u0e14\u0e49\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e01\u0e32\u0e30\u0e01\u0e31\u0e1a master \u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e41\u0e25\u0e49\u0e27<\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number4 index3 alt1\">\u0e04\u0e23\u0e32\u0e27\u0e19\u0e35\u0e49\u0e40\u0e27\u0e25\u0e32\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e2b\u0e32\u0e01 master down \u0e25\u0e07\u0e44\u0e1b slave \u0e01\u0e47\u0e08\u0e30\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e04\u0e23\u0e31\u0e1a \u0e2d\u0e32\u0e08\u0e08\u0e30\u0e21\u0e35 error \u0e43\u0e2b\u0e49\u0e40\u0e08\u0e2d\u0e1a\u0e49\u0e32\u0e07\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07\u0e2a\u0e25\u0e31\u0e1a\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13 1-5 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e01\u0e47\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e1b\u0e01\u0e15\u0e34 \u0e2b\u0e32\u0e01 master \u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32 up \u0e01\u0e47\u0e08\u0e30\u0e01\u0e25\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19 slave \u0e41\u0e17\u0e19\u0e04\u0e23\u0e31\u0e1a<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0e08\u0e32\u0e01\u0e42\u0e1e\u0e2a\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e1c\u0e48\u0e32\u0e19\u0e21\u0e32\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 redis cluster \u0e19\u0e31\u0e49\u0e19 \u0e21\u0e31\u0e19\u0e01\u0e47\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e1b\u0e47\u0e19 cluster \u0e43\u0e19 mode master-master \u0e01\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e2b\u0e25\u0e48\u0e30 \u0e41\u0e15\u0e48\u0e04\u0e23\u0e32\u0e27\u0e19\u0e35\u0e49\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e21\u0e31\u0e19\u0e40\u0e01\u0e34\u0e14\u0e40\u0e27\u0e25\u0e32 instance \u0e2b\u0e19\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e21\u0e31\u0e19 down \u0e25\u0e07\u0e44\u0e1b&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html\">Read the post<span class=\"screen-reader-text\">\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":2006,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[2,11],"tags":[356,357,285,287],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster - EngineerBALL<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster - EngineerBALL\" \/>\n<meta property=\"og:description\" content=\"\u0e08\u0e32\u0e01\u0e42\u0e1e\u0e2a\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e1c\u0e48\u0e32\u0e19\u0e21\u0e32\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 redis cluster \u0e19\u0e31\u0e49\u0e19 \u0e21\u0e31\u0e19\u0e01\u0e47\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e1b\u0e47\u0e19 cluster \u0e43\u0e19 mode master-master \u0e01\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e2b\u0e25\u0e48\u0e30 \u0e41\u0e15\u0e48\u0e04\u0e23\u0e32\u0e27\u0e19\u0e35\u0e49\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e21\u0e31\u0e19\u0e40\u0e01\u0e34\u0e14\u0e40\u0e27\u0e25\u0e32 instance \u0e2b\u0e19\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e21\u0e31\u0e19 down \u0e25\u0e07\u0e44\u0e1b&#8230;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html\" \/>\n<meta property=\"og:site_name\" content=\"EngineerBALL\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/engineerball\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/troueblemaker.khunpech?ref=tn_tnmn\" \/>\n<meta property=\"article:published_time\" content=\"2015-08-13T11:00:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"635\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"ball\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@engineerball\" \/>\n<meta name=\"twitter:site\" content=\"@engineerball\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ball\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html\",\"url\":\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html\",\"name\":\"\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster - EngineerBALL\",\"isPartOf\":{\"@id\":\"https:\/\/engineerball.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#primaryimage\"},\"image\":{\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg\",\"datePublished\":\"2015-08-13T11:00:13+00:00\",\"dateModified\":\"2015-08-13T11:00:13+00:00\",\"author\":{\"@id\":\"https:\/\/engineerball.com\/blog\/#\/schema\/person\/415320d0da2d392375528001aa6ea53e\"},\"breadcrumb\":{\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#primaryimage\",\"url\":\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg\",\"contentUrl\":\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg\",\"width\":635,\"height\":200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/engineerball.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/engineerball.com\/blog\/#website\",\"url\":\"https:\/\/engineerball.com\/blog\/\",\"name\":\"EngineerBALL\",\"description\":\"Damn Those Sweet Memories\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/engineerball.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/engineerball.com\/blog\/#\/schema\/person\/415320d0da2d392375528001aa6ea53e\",\"name\":\"ball\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/engineerball.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d8d00c01f55942d7c8f2dbc70a9cefe0?s=96&d=monsterid&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d8d00c01f55942d7c8f2dbc70a9cefe0?s=96&d=monsterid&r=g\",\"caption\":\"ball\"},\"description\":\"Teerapat Khunpech Live, Tech, Beers, Bike, Cafe Racer, Docker, Devops, Eco-System\",\"sameAs\":[\"https:\/\/engineerball.com\",\"https:\/\/www.facebook.com\/troueblemaker.khunpech?ref=tn_tnmn\",\"https:\/\/twitter.com\/engineerball\"],\"url\":\"https:\/\/engineerball.com\/blog\/author\/ball\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster - EngineerBALL","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html","og_locale":"en_US","og_type":"article","og_title":"\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster - EngineerBALL","og_description":"\u0e08\u0e32\u0e01\u0e42\u0e1e\u0e2a\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e1c\u0e48\u0e32\u0e19\u0e21\u0e32\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 redis cluster \u0e19\u0e31\u0e49\u0e19 \u0e21\u0e31\u0e19\u0e01\u0e47\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e1b\u0e47\u0e19 cluster \u0e43\u0e19 mode master-master \u0e01\u0e31\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e2b\u0e25\u0e48\u0e30 \u0e41\u0e15\u0e48\u0e04\u0e23\u0e32\u0e27\u0e19\u0e35\u0e49\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e21\u0e31\u0e19\u0e40\u0e01\u0e34\u0e14\u0e40\u0e27\u0e25\u0e32 instance \u0e2b\u0e19\u0e36\u0e48\u0e07\u0e16\u0e49\u0e32\u0e21\u0e31\u0e19 down \u0e25\u0e07\u0e44\u0e1b&#8230;","og_url":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html","og_site_name":"EngineerBALL","article_publisher":"https:\/\/www.facebook.com\/engineerball","article_author":"https:\/\/www.facebook.com\/troueblemaker.khunpech?ref=tn_tnmn","article_published_time":"2015-08-13T11:00:13+00:00","og_image":[{"width":635,"height":200,"url":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg","type":"image\/jpeg"}],"author":"ball","twitter_card":"summary_large_image","twitter_creator":"@engineerball","twitter_site":"@engineerball","twitter_misc":{"Written by":"ball","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html","url":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html","name":"\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster - EngineerBALL","isPartOf":{"@id":"https:\/\/engineerball.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#primaryimage"},"image":{"@id":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#primaryimage"},"thumbnailUrl":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg","datePublished":"2015-08-13T11:00:13+00:00","dateModified":"2015-08-13T11:00:13+00:00","author":{"@id":"https:\/\/engineerball.com\/blog\/#\/schema\/person\/415320d0da2d392375528001aa6ea53e"},"breadcrumb":{"@id":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#primaryimage","url":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg","contentUrl":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg","width":635,"height":200},{"@type":"BreadcrumbList","@id":"https:\/\/engineerball.com\/blog\/2015\/08\/13\/how-to-create-failover-with-redis-cluster.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/engineerball.com\/blog"},{"@type":"ListItem","position":2,"name":"\u0e17\u0e33 Failover \u0e43\u0e2b\u0e49\u0e01\u0e31\u0e1a redis cluster"}]},{"@type":"WebSite","@id":"https:\/\/engineerball.com\/blog\/#website","url":"https:\/\/engineerball.com\/blog\/","name":"EngineerBALL","description":"Damn Those Sweet Memories","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/engineerball.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/engineerball.com\/blog\/#\/schema\/person\/415320d0da2d392375528001aa6ea53e","name":"ball","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/engineerball.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d8d00c01f55942d7c8f2dbc70a9cefe0?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d8d00c01f55942d7c8f2dbc70a9cefe0?s=96&d=monsterid&r=g","caption":"ball"},"description":"Teerapat Khunpech Live, Tech, Beers, Bike, Cafe Racer, Docker, Devops, Eco-System","sameAs":["https:\/\/engineerball.com","https:\/\/www.facebook.com\/troueblemaker.khunpech?ref=tn_tnmn","https:\/\/twitter.com\/engineerball"],"url":"https:\/\/engineerball.com\/blog\/author\/ball"}]}},"jetpack_featured_media_url":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2014\/08\/post-2013-10-01.jpg","jetpack_shortlink":"https:\/\/wp.me\/p3Nmbl-AM","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/posts\/2280"}],"collection":[{"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/comments?post=2280"}],"version-history":[{"count":0,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/posts\/2280\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/media\/2006"}],"wp:attachment":[{"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/media?parent=2280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/categories?post=2280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/tags?post=2280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}