±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ51cto£¬±¾ÎÄÖ÷Òª½éÉÜÉÚ±øµÄ×÷Óúͼܹ¹£¬½²ÊöÉÚ±øÏµÍ³µÄ²¿Êð·½·¨£¬ÒÔ¼°Í¨¹ý¿Í»§¶Ë·ÃÎÊÉÚ±øÏµÍ³µÄ·½·¨µÈ¡£ |
|
±¾ÎĽ«Òª½éÉܵÄÉÚ±ø£¬Ëü»ùÓÚ Redis Ö÷´Ó¸´ÖÆ£¬Ö÷Òª×÷ÓñãÊǽâ¾öÖ÷½Úµã¹ÊÕϻָ´µÄ×Ô¶¯»¯ÎÊÌ⣬½øÒ»²½Ìá¸ßϵͳµÄ¸ß¿ÉÓÃÐÔ¡£
£¨×¢£ºÎÄÕÂÄÚÈÝ»ùÓÚ Redis 3.0 °æ±¾£©
ÉÚ±øµÄ×÷Óúͼܹ¹
ÉÚ±øµÄ×÷ÓÃ
ÔÚ½éÉÜÉÚ±øÖ®Ç°£¬Ê×ÏÈ´Óºê¹Û½Ç¶È»Ø¹ËһϠRedis ʵÏָ߿ÉÓÃÏà¹ØµÄ¼¼Êõ¡£
ËüÃǰüÀ¨£º³Ö¾Ã»¯¡¢¸´ÖÆ¡¢ÉÚ±øºÍ¼¯Èº£¬ÆäÖ÷Òª×÷Óúͽâ¾öµÄÎÊÌâÊÇ£º
³Ö¾Ã»¯£º³Ö¾Ã»¯ÊÇ×î¼òµ¥µÄ¸ß¿ÉÓ÷½·¨(ÓÐʱÉõÖÁ²»±»¹éΪ¸ß¿ÉÓõÄÊÖ¶Î)£¬Ö÷Òª×÷ÓÃÊÇÊý¾Ý±¸·Ý£¬¼´½«Êý¾Ý´æ´¢ÔÚÓ²ÅÌ£¬±£Ö¤Êý¾Ý²»»áÒò½ø³ÌÍ˳ö¶ø¶ªÊ§¡£
¸´ÖÆ£º¸´ÖÆÊǸ߿ÉÓà Redis µÄ»ù´¡£¬ÉÚ±øºÍ¼¯Èº¶¼ÊÇÔÚ¸´ÖÆ»ù´¡ÉÏʵÏָ߿ÉÓõġ£
¸´ÖÆÖ÷ҪʵÏÖÁËÊý¾ÝµÄ¶à»ú±¸·Ý£¬ÒÔ¼°¶ÔÓÚ¶Á²Ù×÷µÄ¸ºÔؾùºâºÍ¼òµ¥µÄ¹ÊÕϻָ´¡£È±ÏÝ£º¹ÊÕϻָ´ÎÞ·¨×Ô¶¯»¯£»Ð´²Ù×÷ÎÞ·¨¸ºÔؾùºâ£»´æ´¢ÄÜÁ¦Êܵ½µ¥»úµÄÏÞÖÆ¡£
ÉÚ±ø£ºÔÚ¸´ÖƵĻù´¡ÉÏ£¬ÉÚ±øÊµÏÖÁË×Ô¶¯»¯µÄ¹ÊÕϻָ´¡£È±ÏÝ£ºÐ´²Ù×÷ÎÞ·¨¸ºÔؾùºâ£»´æ´¢ÄÜÁ¦Êܵ½µ¥»úµÄÏÞÖÆ¡£
¼¯Èº£ºÍ¨¹ý¼¯Èº£¬Redis ½â¾öÁËд²Ù×÷ÎÞ·¨¸ºÔؾùºâ£¬ÒÔ¼°´æ´¢ÄÜÁ¦Êܵ½µ¥»úÏÞÖÆµÄÎÊÌ⣬ʵÏÖÁ˽ÏΪÍêÉÆµÄ¸ß¿ÉÓ÷½°¸¡£
ÏÂÃæËµ»ØÉÚ±ø£¬Redis Sentinel£¬¼´ Redis ÉÚ±ø£¬ÔÚ Redis 2.8 °æ±¾¿ªÊ¼ÒýÈë¡£ÉÚ±øµÄºËÐŦÄÜÊÇÖ÷½ÚµãµÄ×Ô¶¯¹ÊÕÏ×ªÒÆ¡£
ÏÂÃæÊÇ Redis ¹Ù·½Îĵµ¶ÔÓÚÉÚ±ø¹¦ÄܵÄÃèÊö£º
¼à¿Ø£¨Monitoring£©£ºÉÚ±ø»á²»¶ÏµØ¼ì²éÖ÷½ÚµãºÍ´Ó½ÚµãÊÇ·ñÔË×÷Õý³£¡£
×Ô¶¯¹ÊÕÏ×ªÒÆ£¨Automatic failover£©£ºµ±Ö÷½Úµã²»ÄÜÕý³£¹¤×÷ʱ£¬ÉÚ±ø»á¿ªÊ¼×Ô¶¯¹ÊÕÏ×ªÒÆ²Ù×÷£¬Ëü»á½«Ê§Ð§Ö÷½ÚµãµÄÆäÖÐÒ»¸ö´Ó½ÚµãÉý¼¶ÎªÐµÄÖ÷½Úµã£¬²¢ÈÃÆäËû´Ó½Úµã¸ÄΪ¸´ÖÆÐµÄÖ÷½Úµã¡£
ÅäÖÃÌṩÕߣ¨Configurationprovider£©£º¿Í»§¶ËÔÚ³õʼ»¯Ê±£¬Í¨¹ýÁ¬½ÓÉÚ±øÀ´»ñµÃµ±Ç°
Redis ·þÎñµÄÖ÷½ÚµãµØÖ·¡£
֪ͨ£¨Notification£©£ºÉÚ±ø¿ÉÒÔ½«¹ÊÕÏ×ªÒÆµÄ½á¹û·¢Ë͸ø¿Í»§¶Ë¡£
ÆäÖУ¬¼à¿ØºÍ×Ô¶¯¹ÊÕÏ×ªÒÆ¹¦ÄÜ£¬Ê¹µÃÉÚ±ø¿ÉÒÔ¼°Ê±·¢ÏÖÖ÷½Úµã¹ÊÕϲ¢Íê³É×ªÒÆ£»¶øÅäÖÃÌṩÕߺÍ֪ͨ¹¦ÄÜ£¬ÔòÐèÒªÔÚÓë¿Í»§¶ËµÄ½»»¥ÖвÅÄÜÌåÏÖ¡£
ÕâÀï¶Ô¡°¿Í»§¶Ë¡±Ò»´ÊÔÚ±¾ÎĵÄÓ÷¨×öÒ»¸ö˵Ã÷£ºÔÚÇ°ÃæµÄÎÄÕÂÖУ¬Ö»ÒªÍ¨¹ý API ·ÃÎÊ Redis ·þÎñÆ÷£¬¶¼»á³Æ×÷¿Í»§¶Ë£¬°üÀ¨
redis-cli¡¢Java ¿Í»§¶Ë Jedis µÈ¡£
ΪÁ˱ãÓÚÇø·Ö˵Ã÷£¬±¾ÎÄÖеĿͻ§¶Ë²¢²»°üÀ¨ redis-cli£¬¶øÊÇ±È redis-cli ¸ü¼Ó¸´ÔÓ¡£
redis-cli ʹÓõÄÊÇ Redis ÌṩµÄµ×²ã½Ó¿Ú£¬¶ø¿Í»§¶ËÔò¶ÔÕâЩ½Ó¿Ú¡¢¹¦ÄܽøÐÐÁË·â×°£¬ÒÔ±ã³ä·ÖÀûÓÃÉÚ±øµÄÅäÖÃÌṩÕߺÍ֪ͨ¹¦ÄÜ¡£
ÉÚ±øµÄ¼Ü¹¹
µäÐ͵ÄÉÚ±ø¼Ü¹¹Í¼ÈçÏÂËùʾ£º

ËüÓÉÁ½²¿·Ö×é³É£¬ÉÚ±ø½ÚµãºÍÊý¾Ý½Úµã£º
ÉÚ±ø½Úµã£ºÉÚ±øÏµÍ³ÓÉÒ»¸ö»ò¶à¸öÉÚ±ø½Úµã×é³É£¬ÉÚ±ø½ÚµãÊÇÌØÊâµÄ Redis ½Úµã£¬²»´æ´¢Êý¾Ý¡£
Êý¾Ý½Úµã£ºÖ÷½ÚµãºÍ´Ó½Úµã¶¼ÊÇÊý¾Ý½Úµã¡£
ÉÚ±øÏµÍ³µÄ²¿Êð·½·¨
ÕâÒ»²¿·Ö½«²¿ÊðÒ»¸ö¼òµ¥µÄÉÚ±øÏµÍ³£¬°üº¬ 1 ¸öÖ÷½Úµã¡¢2 ¸ö´Ó½ÚµãºÍ 3 ¸öÉÚ±ø½Úµã¡£
·½±ãÆð¼û£ºËùÓÐÕâЩ½Úµã¶¼²¿ÊðÔÚһ̨»úÆ÷ÉÏ£¨¾ÖÓòÍø IP£º192.168.92.128£©£¬Ê¹Óö˿ںÅÇø·Ö£»½ÚµãµÄÅäÖþ¡¿ÉÄܼò»¯¡£
²¿ÊðÖ÷´Ó½Úµã
ÉÚ±øÏµÍ³ÖеÄÖ÷´Ó½Úµã£¬ÓëÆÕͨµÄÖ÷´Ó½ÚµãÅäÖÃÊÇÒ»ÑùµÄ£¬²¢²»ÐèÒª×öÈκζîÍâÅäÖá£
ÏÂÃæ·Ö±ðÊÇÖ÷½Úµã£¨port=6379£©ºÍ 2 ¸ö´Ó½Úµã£¨port=6380/6381£©µÄÅäÖÃÎļþ£¬ÅäÖö¼±È½Ï¼òµ¥£¬²»ÔÙÏêÊö¡£
#redis-6379.conf
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
#redis-6380.conf
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
slaveof 192.168.92.128 6379
#redis-6381.conf
port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
slaveof 192.168.92.128 6379 |
ÅäÖÃÍê³Éºó£¬ÒÀ´ÎÆô¶¯Ö÷½ÚµãºÍ´Ó½Úµã£º
redis-server
redis-6379.conf
redis-server redis-6380.conf
redis-server redis-6381.conf |
½ÚµãÆô¶¯ºó£¬Á¬½ÓÖ÷½Úµã²é¿´Ö÷´Ó״̬ÊÇ·ñÕý³££¬ÈçÏÂͼËùʾ£º

²¿ÊðÉÚ±ø½Úµã
ÉÚ±ø½Úµã±¾ÖÊÉÏÊÇÌØÊâµÄ Redis ½Úµã¡£3 ¸öÉÚ±ø½ÚµãµÄÅäÖü¸ºõÊÇÍêȫһÑùµÄ£¬Ö÷񻂿±ðÔÚÓڶ˿ںŵIJ»Í¬£¨26379/26380/26381£©¡£
ÏÂÃæÒÔ 26379 ½ÚµãΪÀý£¬½éÉܽڵãµÄÅäÖÃºÍÆô¶¯·½Ê½£¬ÅäÖò¿·Ö¾¡Á¿¼ò»¯£¬¸ü¶àÅäÖûáÔÚºóÃæ½éÉÜ¡£
H#sentinel-26379.conf
port 26379
daemonize yes
logfile "26379.log"
sentinel monitor mymaster 192.168.92.128 6379
2 |
ÆäÖУ¬sentinel monitor mymaster 192.168.92.128 6379 2
ÅäÖõĺ¬ÒåÊÇ£º¸ÃÉÚ±ø½Úµã¼à¿Ø 192.168.92.128:6379 Õâ¸öÖ÷½Úµã¡£
¸ÃÖ÷½ÚµãµÄÃû³ÆÊÇ mymaster£¬×îºóµÄ 2 µÄº¬ÒåÓëÖ÷½ÚµãµÄ¹ÊÕÏÅж¨ÓйأºÖÁÉÙÐèÒª 2 ¸öÉÚ±ø½ÚµãͬÒ⣬²ÅÄÜÅж¨Ö÷½Úµã¹ÊÕϲ¢½øÐйÊÕÏ×ªÒÆ¡£
ÉÚ±ø½ÚµãµÄÆô¶¯ÓÐÁ½ÖÖ·½Ê½£¬¶þÕß×÷ÓÃÊÇÍêÈ«ÏàͬµÄ£º
redis-sentinel
sentinel-26379.conf
redis-server sentinel-26379.conf --sentinel |
°´ÕÕÉÏÊö·½Ê½ÅäÖÃºÍÆô¶¯Ö®ºó£¬Õû¸öÉÚ±øÏµÍ³¾ÍÆô¶¯Íê±ÏÁË£¬¿ÉÒÔͨ¹ý redis-cli Á¬½ÓÉÚ±ø½Úµã½øÐÐÑéÖ¤¡£
ÈçÏÂͼËùʾ£º¿ÉÒÔ¿´³ö 26379 ÉÚ±ø½ÚµãÒѾÔÚ¼à¿Ø mymaster Ö÷½Úµã(¼´192.168.92.128:6379)£¬²¢·¢ÏÖÁËÆä
2 ¸ö´Ó½ÚµãºÍÁíÍâ 2 ¸öÉÚ±ø½Úµã¡£

´ËʱÈç¹û²é¿´ÉÚ±ø½ÚµãµÄÅäÖÃÎļþ£¬»á·¢ÏÖһЩ±ä»¯£¬ÒÔ 26379 ΪÀý£º

ÆäÖУ¬dir Ö»ÊÇÏÔʽÉùÃ÷ÁËÊý¾ÝºÍÈÕÖ¾ËùÔÚµÄĿ¼£¨ÔÚÉÚ±øÓï¾³ÏÂÖ»ÓÐÈÕÖ¾£©£»known-slave
ºÍ known-sentinel ÏÔʾÉÚ±øÒѾ·¢ÏÖÁË´Ó½ÚµãºÍÆäËûÉÚ±ø¡£
´øÓÐ epoch µÄ²ÎÊýÓëÅäÖüÍÔªÓйأ¨ÅäÖüÍÔªÊÇÒ»¸ö´Ó 0 ¿ªÊ¼µÄ¼ÆÊýÆ÷£¬Ã¿½øÐÐÒ»´ÎÁìµ¼ÕßÉÚ±øÑ¡¾Ù£¬¶¼»á
+1£»Áìµ¼ÕßÉÚ±øÑ¡¾ÙÊǹÊÕÏ×ªÒÆ½×¶ÎµÄÒ»¸ö²Ù×÷£¬ÔÚºóÎÄÔÀí²¿·Ö»á½éÉÜ£©¡£
ÑÝʾ¹ÊÕÏ×ªÒÆ
ÉÚ±øµÄËĸö×÷ÓÃÖУ¬ÅäÖÃÌṩÕߺÍ֪ͨÐèÒª¿Í»§¶ËµÄÅäºÏ£¬±¾ÎĽ«ÔÚÏÂÒ»Õ½éÉܿͻ§¶Ë·ÃÎÊÉÚ±øÏµÍ³µÄ·½·¨Ê±ÔÙÏêϸ½éÉÜ¡£
ÕâһС½Ú½«ÑÝʾµ±Ö÷½Úµã·¢Éú¹ÊÕÏʱ£¬ÉÚ±øµÄ¼à¿ØºÍ×Ô¶¯¹ÊÕÏ×ªÒÆ¹¦ÄÜ¡£
£¨1£©Ê×ÏÈ£¬Ê¹Óà Kill ÃüÁîɱµôÖ÷½Úµã£º

£¨2£©Èç¹û´ËʱÁ¢¼´ÔÚÉÚ±ø½ÚµãÖÐʹÓà info Sentinel ÃüÁî²é¿´£¬»á·¢ÏÖÖ÷½Úµã»¹Ã»ÓÐÇл»¹ýÀ´£¬ÒòΪÉÚ±ø·¢ÏÖÖ÷½Úµã¹ÊÕϲ¢×ªÒÆ£¬ÐèÒªÒ»¶Îʱ¼ä¡£

£¨3£©Ò»¶Îʱ¼äÒÔºó£¬ÔÙ´ÎÔÚÉÚ±ø½ÚµãÖÐÖ´ÐÐ info Sentinel ²é¿´£¬·¢ÏÖÖ÷½ÚµãÒѾÇл»³É
6380 ½Úµã¡£

µ«ÊÇͬʱ¿ÉÒÔ·¢ÏÖ£¬ÉÚ±ø½ÚµãÈÏΪеÄÖ÷½ÚµãÈÔÈ»ÓÐ 2 ¸ö´Ó½Úµã£¬ÕâÊÇÒòΪÉÚ±øÔÚ½« 6380 Çл»³ÉÖ÷½ÚµãµÄͬʱ£¬½«
6379 ½ÚµãÖÃΪÆä´Ó½Úµã¡£
ËäÈ» 6379 ´Ó½ÚµãÒѾ¹Òµô£¬µ«ÊÇÓÉÓÚÉÚ±ø²¢²»»á¶Ô´Ó½Úµã½øÐп͹ÛÏÂÏߣ¨Æäº¬Ò彫ÔÚÔÀí²¿·Ö½éÉÜ£©£¬Òò´ËÈÏΪ¸Ã´Ó½ÚµãÒ»Ö±´æÔÚ¡£
µ± 6379 ½ÚµãÖØÐÂÆô¶¯ºó£¬»á×Ô¶¯±ä³É 6380 ½ÚµãµÄ´Ó½Úµã£¬ÏÂÃæÑé֤һϡ£
£¨4£©ÖØÆô 6379 ½Úµã£º¿ÉÒÔ¿´µ½ 6379 ½Úµã³ÉΪÁË 6380 ½ÚµãµÄ´Ó½Úµã¡£

£¨5£©ÔÚ¹ÊÕÏ×ªÒÆ½×¶Î£¬ÉÚ±øºÍÖ÷´Ó½ÚµãµÄÅäÖÃÎļþ¶¼»á±»¸Äд¡£
¶ÔÓÚÖ÷´Ó½Úµã£¬Ö÷ÒªÊÇ slaveof ÅäÖõı仯£ºÐµÄÖ÷½ÚµãûÓÐÁË slaveof ÅäÖã¬Æä´Ó½ÚµãÔò
slaveof еÄÖ÷½Úµã¡£
¶ÔÓÚÉÚ±ø½Úµã£¬³ýÁËÖ÷´Ó½ÚµãÐÅÏ¢µÄ±ä»¯£¬¼ÍÔª(epoch)Ò²»á±ä»¯£¬ÏÂͼÖпÉÒÔ¿´µ½¼ÍÔªÏà¹ØµÄ²ÎÊý¶¼
+1 ÁË¡£

С½á
ÉÚ±øÏµÍ³µÄ´î½¨¹ý³Ì£¬Óм¸µãÐèҪעÒ⣺
ÉÚ±øÏµÍ³ÖеÄÖ÷´Ó½Úµã£¬ÓëÆÕͨµÄÖ÷´Ó½Úµã²¢Ã»ÓÐÊ²Ã´Çø±ð£¬¹ÊÕÏ·¢ÏÖºÍ×ªÒÆÊÇÓÉÉÚ±øÀ´¿ØÖƺÍÍê³ÉµÄ¡£
ÉÚ±ø½Úµã±¾ÖÊÉÏÊÇ Redis ½Úµã¡£
ÿ¸öÉÚ±ø½Úµã£¬Ö»ÐèÒªÅäÖÃ¼à¿ØÖ÷½Úµã£¬±ã¿ÉÒÔ×Ô¶¯·¢ÏÖÆäËûµÄÉÚ±ø½ÚµãºÍ´Ó½Úµã¡£
ÔÚÉÚ±ø½ÚµãÆô¶¯ºÍ¹ÊÕÏ×ªÒÆ½×¶Î£¬¸÷¸ö½ÚµãµÄÅäÖÃÎļþ»á±»ÖØÐ´(config rewrite)¡£
±¾ÕµÄÀý×ÓÖУ¬Ò»¸öÉÚ±øÖ»¼à¿ØÁËÒ»¸öÖ÷½Úµã£»Êµ¼ÊÉÏ£¬Ò»¸öÉÚ±ø¿ÉÒÔ¼à¿Ø¶à¸öÖ÷½Úµã£¬Í¨¹ýÅäÖöàÌõ sentinel
monitor ¼´¿ÉʵÏÖ¡£
¿Í»§¶Ë·ÃÎÊÉÚ±øÏµÍ³
ÉÏһС½ÚÑÝʾÁËÉÚ±øµÄÁ½´ó×÷Óãº¼à¿ØºÍ×Ô¶¯¹ÊÕÏ×ªÒÆ¡£±¾Ð¡½ÚÔò½áºÏ¿Í»§¶ËÑÝʾÉÚ±øµÄÁíÍâÁ½¸ö×÷ÓãºÅäÖÃÌṩÕߺÍ֪ͨ¡£
´úÂëʾÀý
ÔÚ½éÉܿͻ§¶ËµÄÔÀí֮ǰ£¬ÏÈÒÔ Java ¿Í»§¶Ë Jedis ΪÀý£¬ÑÝʾһÏÂʹÓ÷½·¨£ºÏÂÃæ´úÂë¿ÉÒÔÁ¬½ÓÎÒÃǸոմµÄÉÚ±øÏµÍ³£¬²¢½øÐи÷ÖÖ¶Áд²Ù×÷£¨´úÂëÖÐÖ»ÑÝʾÈçºÎÁ¬½ÓÉÚ±ø£¬Òì³£´¦Àí¡¢×ÊÔ´¹Ø±ÕµÈδ¿¼ÂÇ£©¡£
public static
void testSentinel() throws Exception {
String masterName = "mymaster";
Set<String> sentinels = new HashSet<>();
sentinels.add("192.168.92.128:26379");
sentinels.add("192.168.92.128:26380");
sentinels.add("192.168.92.128:26381");
JedisSentinelPool pool = new JedisSentinelPool(masterName,
sentinels); //³õʼ»¯¹ý³Ì×öÁ˺ܶ๤×÷
Jedis jedis = pool.getResource();
jedis.set("key1", "value1");
pool.close();
} |
¿Í»§¶ËÔÀí
Jedis ¿Í»§¶Ë¶ÔÉÚ±øÌṩÁ˺ܺõÄÖ§³Ö¡£ÈçÉÏÊö´úÂëËùʾ£¬ÎÒÃÇÖ»ÐèÒªÏò Jedis ÌṩÉÚ±ø½Úµã¼¯ºÏºÍ
masterName£¬¹¹Ôì JedisSentinelPool ¶ÔÏó¡£
È»ºó±ã¿ÉÒÔÏñʹÓÃÆÕͨ Redis Á¬½Ó³ØÒ»ÑùÀ´Ê¹ÓÃÁË£ºÍ¨¹ý pool.getResource()
»ñÈ¡Á¬½Ó£¬Ö´ÐоßÌåµÄÃüÁî¡£
ÔÚÕû¸ö¹ý³ÌÖУ¬ÎÒÃǵĴúÂë²»ÐèÒªÏÔʽµÄÖ¸¶¨Ö÷½ÚµãµÄµØÖ·£¬¾Í¿ÉÒÔÁ¬½Óµ½Ö÷½Úµã£»´úÂëÖжԹÊÕÏ×ªÒÆÃ»ÓÐÈκÎÌåÏÖ£¬¾Í¿ÉÒÔÔÚÉÚ±øÍê³É¹ÊÕÏ×ªÒÆºó×Ô¶¯µÄÇл»Ö÷½Úµã¡£
Ö®ËùÒÔ¿ÉÒÔ×öµ½ÕâÒ»µã£¬ÊÇÒòΪÔÚ JedisSentinelPool µÄ¹¹ÔìÆ÷ÖУ¬½øÐÐÁËÏà¹ØµÄ¹¤×÷£»Ö÷Òª°üÀ¨ÒÔÏÂÁ½µã£º
±éÀúÉÚ±ø½Úµã£¬»ñÈ¡Ö÷½ÚµãÐÅÏ¢£º±éÀúÉÚ±ø½Úµã£¬Í¨¹ýÆäÖÐÒ»¸öÉÚ±ø½Úµã + masterName »ñµÃÖ÷½ÚµãµÄÐÅÏ¢¡£
¸Ã¹¦ÄÜÊÇͨ¹ýµ÷ÓÃÉÚ±ø½ÚµãµÄ sentinelget-master-addr-by-name ÃüÁîʵÏÖ£¬¸ÃÃüÁîʾÀýÈçÏ£º

Ò»µ©»ñµÃÖ÷½ÚµãÐÅÏ¢£¬Í£Ö¹±éÀú£¨Òò´ËÒ»°ãÀ´Ëµ±éÀúµ½µÚÒ»¸öÉÚ±ø½Úµã£¬Ñ»·¾ÍÍ£Ö¹ÁË£©¡£
Ôö¼Ó¶ÔÉÚ±øµÄ¼àÌý£ºÕâÑùµ±·¢Éú¹ÊÕÏ×ªÒÆÊ±£¬¿Í»§¶Ë±ã¿ÉÒÔÊÕµ½ÉÚ±øµÄ֪ͨ£¬´Ó¶øÍê³ÉÖ÷½ÚµãµÄÇл»¡£
¾ßÌå×ö·¨ÊÇ£ºÀûÓà Redis ÌṩµÄ·¢²¼¶©ÔŦÄÜ£¬ÎªÃ¿Ò»¸öÉÚ±ø½Úµã¿ªÆôÒ»¸öµ¥¶ÀµÄỊ̈߳¬¶©ÔÄÉÚ±ø½ÚµãµÄ
+ switch-master ƵµÀ£¬µ±ÊÕµ½ÏûϢʱ£¬ÖØÐ³õʼ»¯Á¬½Ó³Ø¡£
С½á
ͨ¹ý¿Í»§¶ËÔÀíµÄ½éÉÜ£¬ÎÒÃÇ¿ÉÒÔ¼ÓÉî¶ÔÉÚ±ø¹¦ÄܵÄÀí½â¡£
ÅäÖÃÌṩÕߣº¿Í»§¶Ë¿ÉÒÔͨ¹ýÉÚ±ø½Úµã + masterName »ñÈ¡Ö÷½ÚµãÐÅÏ¢£¬ÔÚÕâÀïÉÚ±øÆðµ½µÄ×÷ÓþÍÊÇÅäÖÃÌṩÕß¡£
ÐèҪעÒâµÄÊÇ£¬ÉÚ±øÖ»ÊÇÅäÖÃÌṩÕߣ¬¶ø²»ÊÇ´úÀí¡£¶þÕßµÄÇø±ðÔÚÓÚ£º
Èç¹ûÊÇÅäÖÃÌṩÕߣ¬¿Í»§¶ËÔÚͨ¹ýÉÚ±ø»ñµÃÖ÷½ÚµãÐÅÏ¢ºó£¬»áÖ±½Ó½¨Á¢µ½Ö÷½ÚµãµÄÁ¬½Ó£¬ºóÐøµÄÇëÇó(Èç set/get)»áÖ±½Ó·¢ÏòÖ÷½Úµã¡£
Èç¹ûÊÇ´úÀí£¬¿Í»§¶ËµÄÿһ´ÎÇëÇ󶼻ᷢÏòÉÚ±ø£¬ÉÚ±øÔÙͨ¹ýÖ÷½Úµã´¦ÀíÇëÇó¡£
¾ÙÒ»¸öÀý×Ó¿ÉÒԺܺõÄÀí½âÉÚ±øµÄ×÷ÓÃÊÇÅäÖÃÌṩÕߣ¬¶ø²»ÊÇ´úÀí¡£ÔÚÇ°Ãæ²¿ÊðµÄÉÚ±øÏµÍ³ÖУ¬½«ÉÚ±ø½ÚµãµÄÅäÖÃÎļþ½øÐÐÈçÏÂÐ޸ģº
sentinel monitor
mymaster 192.168.92.128 6379 2
¸ÄΪ
sentinel monitor mymaster 127.0.0.1 6379 2 |
È»ºó£¬½«Ç°Êö¿Í»§¶Ë´úÂëÔÚ¾ÖÓòÍøµÄÁíÍâһ̨»úÆ÷ÉÏÔËÐУ¬»á·¢ÏÖ¿Í»§¶ËÎÞ·¨Á¬½ÓÖ÷½Úµã¡£
ÕâÊÇÒòΪÉÚ±ø×÷ΪÅäÖÃÌṩÕߣ¬¿Í»§¶Ëͨ¹ýËü²éѯµ½Ö÷½ÚµãµÄµØÖ·Îª 127.0.0.1:6379£¬¿Í»§¶Ë»áÏò
127.0.0.1:6379 ½¨Á¢ Redis Á¬½Ó£¬×ÔÈ»ÎÞ·¨Á¬½Ó¡£Èç¹ûÉÚ±øÊÇ´úÀí£¬Õâ¸öÎÊÌâ¾Í²»»á³öÏÖÁË¡£
֪ͨ£ºÉÚ±ø½ÚµãÔÚ¹ÊÕÏ×ªÒÆÍê³Éºó£¬»á½«ÐµÄÖ÷½ÚµãÐÅÏ¢·¢Ë͸ø¿Í»§¶Ë£¬ÒÔ±ã¿Í»§¶Ë¼°Ê±Çл»Ö÷½Úµã¡£
ÉÚ±øÊµÏֵĻù±¾ÔÀí
Ç°Ãæ½éÉÜÁËÉÚ±ø²¿Êð¡¢Ê¹ÓõĻù±¾·½·¨£¬±¾²¿·Ö½éÉÜÉÚ±øÊµÏֵĻù±¾ÔÀí¡£
ÉÚ±ø½ÚµãÖ§³ÖµÄÃüÁî
ÉÚ±ø½Úµã×÷ΪÔËÐÐÔÚÌØÊâģʽÏ嵀 Redis ½Úµã£¬ÆäÖ§³ÖµÄÃüÁîÓëÆÕͨµÄ Redis ½Úµã²»Í¬¡£
ÔÚÔËάÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÕâЩÃüÁî²éѯ»òÐÞ¸ÄÉÚ±øÏµÍ³£»²»¹ý¸üÖØÒªµÄÊÇ£¬ÉÚ±øÏµÍ³ÒªÊµÏÖ¹ÊÕÏ·¢ÏÖ¡¢¹ÊÕÏ×ªÒÆµÈ¸÷ÖÖ¹¦ÄÜ£¬Àë²»¿ªÉÚ±ø½ÚµãÖ®¼äµÄͨÐÅ¡£
¶øÍ¨ÐŵĺܴóÒ»²¿·ÖÊÇͨ¹ýÉÚ±ø½ÚµãÖ§³ÖµÄÃüÁîÀ´ÊµÏֵġ£ÏÂÃæ½éÉÜÉÚ±ø½ÚµãÖ§³ÖµÄÖ÷ÒªÃüÁî¡£
»ù´¡²éѯ
ͨ¹ýÕâЩÃüÁ¿ÉÒÔ²éѯÉÚ±øÏµÍ³µÄÍØÆË½á¹¹¡¢½ÚµãÐÅÏ¢¡¢ÅäÖÃÐÅÏ¢µÈ£º
info sentinel£º»ñÈ¡¼à¿ØµÄËùÓÐÖ÷½ÚµãµÄ»ù±¾ÐÅÏ¢¡£
sentinel masters£º»ñÈ¡¼à¿ØµÄËùÓÐÖ÷½ÚµãµÄÏêϸÐÅÏ¢¡£
sentinel master mymaster£º»ñÈ¡¼à¿ØµÄÖ÷½Úµã mymaster µÄÏêϸÐÅÏ¢¡£
sentinel slaves mymaster£º»ñÈ¡¼à¿ØµÄÖ÷½Úµã mymaster µÄ´Ó½ÚµãµÄÏêϸÐÅÏ¢¡£
sentinel sentinels mymaster£º»ñÈ¡¼à¿ØµÄÖ÷½Úµã mymaster µÄÉÚ±ø½ÚµãµÄÏêϸÐÅÏ¢¡£
sentinel get-master-addr-by-name mymaster£º»ñÈ¡¼à¿ØµÄÖ÷½Úµã
mymaster µÄµØÖ·ÐÅÏ¢£¬Ç°ÎÄÒÑÓнéÉÜ¡£
sentinel is-master-down-by-addr£ºÉÚ±ø½ÚµãÖ®¼ä¿ÉÒÔͨ¹ý¸ÃÃüÁîѯÎÊÖ÷½ÚµãÊÇ·ñÏÂÏߣ¬´Ó¶ø¶ÔÊÇ·ñ¿Í¹ÛÏÂÏß×ö³öÅжϡ£
Ôö¼Ó/ÒÆ³ý¶ÔÖ÷½ÚµãµÄ¼à¿Ø
sentinel monitor mymaster2 192.168.92.128 16379 2£ºÓ벿ÊðÉÚ±ø½ÚµãʱÅäÖÃÎļþÖеÄ
sentinel monitor ¹¦ÄÜÍêȫһÑù£¬²»ÔÙÏêÊö¡£
sentinel remove mymaster2£ºÈ¡Ïûµ±Ç°ÉÚ±ø½Úµã¶ÔÖ÷½Úµã mymaster2
µÄ¼à¿Ø¡£
Ç¿ÖÆ¹ÊÕÏ×ªÒÆ
sentinel failover mymaster£º¸ÃÃüÁî¿ÉÒÔÇ¿ÖÆ¶Ô mymaster Ö´ÐйÊÕÏ×ªÒÆ£¬¼´±ãµ±Ç°µÄÖ÷½ÚµãÔËÐÐÍêºÃ¡£
ÀýÈ磬Èç¹ûµ±Ç°Ö÷½ÚµãËùÔÚ»úÆ÷¼´½«±¨·Ï£¬±ã¿ÉÒÔÌáǰͨ¹ýfailoverÃüÁî½øÐйÊÕÏ×ªÒÆ¡£
»ù±¾ÔÀí
¹ØÓÚÉÚ±øµÄÔÀí£¬¹Ø¼üÊÇÁ˽âÒÔϼ¸¸ö¸ÅÄî¡£
¶¨Ê±ÈÎÎñ
ÿ¸öÉÚ±ø½Úµãά»¤ÁË 3 ¸ö¶¨Ê±ÈÎÎñ£¬¶¨Ê±ÈÎÎñµÄ¹¦ÄÜ·Ö±ðÈçÏ£º
ͨ¹ýÏòÖ÷´Ó½Úµã·¢ËÍ info ÃüÁî»ñÈ¡×îеÄÖ÷´Ó½á¹¹¡£
ͨ¹ý·¢²¼¶©ÔŦÄÜ»ñÈ¡ÆäËûÉÚ±ø½ÚµãµÄÐÅÏ¢¡£
ͨ¹ýÏòÆäËû½Úµã·¢ËÍ ping ÃüÁî½øÐÐÐÄÌø¼ì²â£¬ÅжÏÊÇ·ñÏÂÏß¡£
Ö÷¹ÛÏÂÏß
ÔÚÐÄÌø¼ì²âµÄ¶¨Ê±ÈÎÎñÖУ¬Èç¹ûÆäËû½Úµã³¬¹ýÒ»¶¨Ê±¼äûÓлظ´£¬ÉÚ±ø½Úµã¾Í»á½«Æä½øÐÐÖ÷¹ÛÏÂÏß¡£
¹ËÃû˼Ò壬Ö÷¹ÛÏÂÏßµÄÒâ˼ÊÇÒ»¸öÉÚ±ø½Úµã¡°Ö÷¹ÛµØ¡±ÅжÏÏÂÏߣ»ÓëÖ÷¹ÛÏÂÏßÏà¶ÔÓ¦µÄÊǿ͹ÛÏÂÏß¡£
¿Í¹ÛÏÂÏß
ÉÚ±ø½ÚµãÔÚ¶ÔÖ÷½Úµã½øÐÐÖ÷¹ÛÏÂÏߺ󣬻áͨ¹ý sentinelis-master-down-by-addr
ÃüÁîѯÎÊÆäËûÉÚ±ø½Úµã¸ÃÖ÷½ÚµãµÄ״̬¡£
Èç¹ûÅжÏÖ÷½ÚµãÏÂÏßµÄÉÚ±øÊýÁ¿´ïµ½Ò»¶¨ÊýÖµ£¬Ôò¶Ô¸ÃÖ÷½Úµã½øÐп͹ÛÏÂÏß¡£
ÐèÒªÌØ±ð×¢ÒâµÄÊÇ£¬¿Í¹ÛÏÂÏßÊÇÖ÷½Úµã²ÅÓеĸÅÄÈç¹û´Ó½ÚµãºÍÉÚ±ø½Úµã·¢Éú¹ÊÕÏ£¬±»ÉÚ±øÖ÷¹ÛÏÂÏߺ󣬲»»áÔÙÓкóÐøµÄ¿Í¹ÛÏÂÏߺ͹ÊÕÏ×ªÒÆ²Ù×÷¡£
Ñ¡¾ÙÁìµ¼ÕßÉÚ±ø½Úµã
µ±Ö÷½Úµã±»ÅжϿ͹ÛÏÂÏßÒԺ󣬸÷¸öÉÚ±ø½Úµã»á½øÐÐÐÉÌ£¬Ñ¡¾Ù³öÒ»¸öÁìµ¼ÕßÉÚ±ø½Úµã£¬²¢ÓɸÃÁìµ¼Õß½Úµã¶ÔÆä½øÐйÊÕÏ×ªÒÆ²Ù×÷¡£
¼àÊÓ¸ÃÖ÷½ÚµãµÄËùÓÐÉÚ±ø¶¼ÓпÉÄܱ»Ñ¡ÎªÁìµ¼Õߣ¬Ñ¡¾ÙʹÓõÄËã·¨ÊÇ Raft Ëã·¨¡£
Raft Ëã·¨µÄ»ù±¾Ë¼Â·ÊÇÏȵ½Ïȵ㺼´ÔÚÒ»ÂÖÑ¡¾ÙÖУ¬ÉÚ±ø A Ïò B ·¢ËͳÉΪÁìµ¼ÕßµÄÉêÇ룬Èç¹û
B ûÓÐͬÒâ¹ýÆäËûÉÚ±ø£¬Ôò»áͬÒâ A ³ÉΪÁìµ¼Õß¡£
Ñ¡¾ÙµÄ¾ßÌå¹ý³ÌÕâÀï²»×öÏêϸÃèÊö£¬Ò»°ãÀ´Ëµ£¬ÉÚ±øÑ¡ÔñµÄ¹ý³ÌºÜ¿ì£¬ËÏÈÍê³É¿Í¹ÛÏÂÏߣ¬Ò»°ã¾ÍÄܳÉΪÁìµ¼Õß¡£
¹ÊÕÏ×ªÒÆ
Ñ¡¾Ù³öµÄÁìµ¼ÕßÉÚ±ø£¬¿ªÊ¼½øÐйÊÕÏ×ªÒÆ²Ù×÷£¬¸Ã²Ù×÷´óÌå¿ÉÒÔ·ÖΪ 3 ¸ö²½Ö裺
ÔÚ´Ó½ÚµãÖÐÑ¡ÔñеÄÖ÷½Úµã£ºÑ¡ÔñµÄÔÔòÊÇ£¬Ê×ÏȹýÂ˵ô²»½¡¿µµÄ´Ó½Úµã£¬È»ºóÑ¡ÔñÓÅÏȼ¶×î¸ßµÄ´Ó½Úµã(ÓÉ
slave-priority Ö¸¶¨)¡£
Èç¹ûÓÅÏȼ¶ÎÞ·¨Çø·Ö£¬ÔòÑ¡Ôñ¸´ÖÆÆ«ÒÆÁ¿×î´óµÄ´Ó½Úµã£»Èç¹ûÈÔÎÞ·¨Çø·Ö£¬ÔòÑ¡Ôñ runid ×îСµÄ´Ó½Úµã¡£
¸üÐÂÖ÷´Ó״̬£ºÍ¨¹ý slaveof no one ÃüÁÈÃÑ¡³öÀ´µÄ´Ó½Úµã³ÉΪÖ÷½Úµã£»²¢Í¨¹ý slaveof
ÃüÁîÈÃÆäËû½Úµã³ÉΪÆä´Ó½Úµã¡£
½«ÒѾÏÂÏßµÄÖ÷½Úµã(¼´ 6379)ÉèÖÃΪеÄÖ÷½ÚµãµÄ´Ó½Úµã£¬µ± 6379 ÖØÐÂÉÏÏߺó£¬Ëü»á³ÉΪеÄÖ÷½ÚµãµÄ´Ó½Úµã¡£
ͨ¹ýÉÏÊö¼¸¸ö¹Ø¼ü¸ÅÄ¿ÉÒÔ»ù±¾Á˽âÉÚ±øµÄ¹¤×÷ÔÀí¡£ÎªÁ˸üÐÎÏóµÄ˵Ã÷£¬ÏÂͼչʾÁËÁìµ¼ÕßÉÚ±ø½ÚµãµÄÈÕÖ¾£¬°üÀ¨´Ó½ÚµãÆô¶¯µ½Íê³É¹ÊÕÏ×ªÒÆ¡£

ÉÚ±øÅäÖÃÓëʵ¼ù½¨Òé
ÉÚ±øÅäÖÃ
ÏÂÃæ½éÉÜÓëÉÚ±øÏà¹ØµÄ¼¸¸öÅäÖá£
sentinel monitor {masterName} {masterIp} {masterPort}{quorum}
sentinel monitor ÊÇÉÚ±ø×îºËÐĵÄÅäÖã¬ÔÚǰÎĽ²Êö²¿ÊðÉÚ±ø½ÚµãʱÒÑ˵Ã÷£¬ÆäÖУºmasterName
Ö¸¶¨ÁËÖ÷½ÚµãÃû³Æ£¬masterIp ºÍ masterPort Ö¸¶¨ÁËÖ÷½ÚµãµØÖ·£¬quorum ÊÇÅжÏÖ÷½Úµã¿Í¹ÛÏÂÏßµÄÉÚ±øÊýÁ¿ãÐÖµ¡£
µ±Åж¨Ö÷½ÚµãÏÂÏßµÄÉÚ±øÊýÁ¿´ïµ½ quorum ʱ£¬¶ÔÖ÷½Úµã½øÐп͹ÛÏÂÏß¡£½¨ÒéȡֵΪÉÚ±øÊýÁ¿µÄÒ»°ë¼Ó
1¡£
sentinel down-after-milliseconds {masterName} {time}
sentinel down-after-milliseconds ÓëÖ÷¹ÛÏÂÏßµÄÅжÏÓйأºÉÚ±øÊ¹ÓÃ
ping ÃüÁî¶ÔÆäËû½Úµã½øÐÐÐÄÌø¼ì²â¡£
Èç¹ûÆäËû½Úµã³¬¹ý down-after-milliseconds ÅäÖõÄʱ¼äûÓлظ´£¬ÉÚ±ø¾Í»á½«Æä½øÐÐÖ÷¹ÛÏÂÏߣ¬¸ÃÅäÖöÔÖ÷½Úµã¡¢´Ó½ÚµãºÍÉÚ±ø½ÚµãµÄÖ÷¹ÛÏÂÏßÅж¨¶¼ÓÐЧ¡£
down-after-milliseconds µÄĬÈÏÖµÊÇ 30000£¬¼´ 30s£»¿ÉÒÔ¸ù¾Ý²»Í¬µÄÍøÂç»·¾³ºÍÓ¦ÓÃÒªÇóÀ´µ÷Õû¡£
ÖµÔ½´ó£¬¶ÔÖ÷¹ÛÏÂÏßµÄÅж¨»áÔ½¿íËÉ£¬ºÃ´¦ÊÇÎóÅеĿÉÄÜÐÔС£¬»µ´¦ÊǹÊÕÏ·¢Ïֺ͹ÊÕÏ×ªÒÆµÄʱ¼ä±ä³¤£¬¿Í»§¶ËµÈ´ýµÄʱ¼äÒ²»á±ä³¤¡£
ÀýÈ磬Èç¹ûÓ¦ÓöԿÉÓÃÐÔÒªÇó½Ï¸ß£¬Ôò¿ÉÒÔ½«ÖµÊʵ±µ÷С£¬µ±¹ÊÕÏ·¢Éúʱ¾¡¿ìÍê³É×ªÒÆ£»Èç¹ûÍøÂç»·¾³Ïà¶Ô½Ï²î£¬¿ÉÒÔÊʵ±Ìá¸ß¸ÃãÐÖµ£¬±ÜÃâÆµ·±ÎóÅС£
sentinel parallel-syncs {masterName} {number}
sentinel parallel-syncs Óë¹ÊÕÏ×ªÒÆÖ®ºó´Ó½ÚµãµÄ¸´ÖÆÓйأºËü¹æ¶¨ÁËÿ´ÎÏòеÄÖ÷½Úµã·¢Æð¸´ÖƲÙ×÷µÄ´Ó½Úµã¸öÊý¡£
ÀýÈ磬¼ÙÉèÖ÷½ÚµãÇл»Íê³ÉÖ®ºó£¬ÓÐ 3 ¸ö´Ó½ÚµãÒªÏòеÄÖ÷½Úµã·¢Æð¸´ÖÆ£»Èç¹û parallel-syncs=1£¬Ôò´Ó½Úµã»áÒ»¸öÒ»¸ö¿ªÊ¼¸´ÖÆ£»Èç¹û
parallel-syncs=3£¬Ôò 3 ¸ö´Ó½Úµã»áÒ»Æð¿ªÊ¼¸´ÖÆ¡£
parallel-syncs ȡֵԽ´ó£¬´Ó½ÚµãÍê³É¸´ÖƵÄʱ¼äÔ½¿ì£¬µ«ÊǶÔÖ÷½ÚµãµÄÍøÂç¸ºÔØ¡¢Ó²Å̸ºÔØÔì³ÉµÄѹÁ¦Ò²Ô½´ó£»Ó¦¸ù¾Ýʵ¼ÊÇé¿öÉèÖá£
ÀýÈ磬Èç¹ûÖ÷½ÚµãµÄ¸ºÔؽϵͣ¬¶ø´Ó½Úµã¶Ô·þÎñ¿ÉÓõÄÒªÇó½Ï¸ß£¬¿ÉÒÔÊÊÁ¿Ôö¼Ó parallel-syncs
ȡֵ¡£parallel-syncs µÄĬÈÏÖµÊÇ 1¡£
sentinel failover-timeout {masterName} {time}
sentinel failover-timeout Óë¹ÊÕÏ×ªÒÆ³¬Ê±µÄÅжÏÓйأ¬µ«ÊǸòÎÊý²»ÊÇÓÃÀ´ÅжÏÕû¸ö¹ÊÕÏ×ªÒÆ½×¶ÎµÄ³¬Ê±£¬¶øÊÇÆä¼¸¸ö×ӽ׶εij¬Ê±¡£
ÀýÈçÈç¹ûÖ÷½Úµã½úÉý´Ó½Úµãʱ¼ä³¬¹ý timeout£¬»ò´Ó½ÚµãÏòеÄÖ÷½Úµã·¢Æð¸´ÖƲÙ×÷µÄʱ¼ä(²»°üÀ¨¸´ÖÆÊý¾ÝµÄʱ¼ä)³¬¹ý
timeout£¬¶¼»áµ¼Ö¹ÊÕÏ×ªÒÆ³¬Ê±Ê§°Ü¡£
failover-timeout µÄĬÈÏÖµÊÇ 180000£¬¼´ 180s£»Èç¹û³¬Ê±£¬ÔòÏÂÒ»´Î¸ÃÖµ»á±äΪÔÀ´µÄ
2 ±¶¡£
³ýÉÏÊö¼¸¸ö²ÎÊýÍ⣬»¹ÓÐһЩÆäËû²ÎÊý£¬È簲ȫÑéÖ¤Ïà¹ØµÄ²ÎÊý£¬ÕâÀï²»×ö½éÉÜ¡£
ʵ¼ù½¨Òé
ÉÚ±ø½ÚµãµÄÊýÁ¿Ó¦²»Ö¹Ò»¸ö£¬Ò»·½ÃæÔö¼ÓÉÚ±ø½ÚµãµÄÈßÓ࣬±ÜÃâÉÚ±ø±¾Éí³ÉΪ¸ß¿ÉÓÃµÄÆ¿¾±£»ÁíÒ»·½Ãæ¼õÉÙ¶ÔÏÂÏßµÄÎóÅС£´ËÍ⣬ÕâЩ²»Í¬µÄÉÚ±ø½ÚµãÓ¦²¿ÊðÔÚ²»Í¬µÄÎïÀí»úÉÏ¡£
ÉÚ±ø½ÚµãµÄÊýÁ¿Ó¦¸ÃÊÇÆæÊý£¬±ãÓÚÉÚ±øÍ¨¹ýͶƱ×ö³ö¡°¾ö²ß¡±£ºÁìµ¼ÕßÑ¡¾ÙµÄ¾ö²ß¡¢¿Í¹ÛÏÂÏߵľö²ßµÈ¡£
¸÷¸öÉÚ±ø½ÚµãµÄÅäÖÃÓ¦Ò»Ö£¬°üÀ¨Ó²¼þ¡¢²ÎÊýµÈ£»´ËÍ⣬ËùÓнڵ㶼Ӧ¸ÃʹÓà ntp »òÀàËÆ·þÎñ£¬±£Ö¤Ê±¼ä׼ȷ¡¢Ò»Ö¡£
ÉÚ±øµÄÅäÖÃÌṩÕߺÍ֪ͨ¿Í»§¶Ë¹¦ÄÜ£¬ÐèÒª¿Í»§¶ËµÄÖ§³Ö²ÅÄÜʵÏÖ£¬ÈçǰÎÄËù˵µÄ Jedis£»Èç¹û¿ª·¢ÕßʹÓõĿâδÌṩÏàÓ¦Ö§³Ö£¬Ôò¿ÉÄÜÐèÒª¿ª·¢Õß×Ô¼ºÊµÏÖ¡£
µ±ÉÚ±øÏµÍ³ÖеĽڵãÔÚ Docker£¨»òÆäËû¿ÉÄܽøÐж˿ÚÓ³ÉäµÄÈí¼þ£©Öв¿Êðʱ£¬Ó¦Ìرð×¢Òâ¶Ë¿ÚÓ³Éä¿ÉÄܻᵼÖÂÉÚ±øÏµÍ³ÎÞ·¨Õý³£¹¤×÷¡£
ÒòΪÉÚ±øµÄ¹¤×÷»ùÓÚÓëÆäËû½ÚµãµÄͨÐÅ£¬¶ø Docker µÄ¶Ë¿ÚÓ³Éä¿ÉÄܵ¼ÖÂÉÚ±øÎÞ·¨Á¬½Óµ½ÆäËû½Úµã¡£
ÀýÈ磬ÉÚ±øÖ®¼ä»¥Ïà·¢ÏÖ£¬ÒÀÀµÓÚËüÃǶÔÍâÐû³ÆµÄ IP ºÍ port£¬Èç¹ûij¸öÉÚ±ø A ²¿ÊðÔÚ×öÁ˶˿ÚÓ³ÉäµÄ
Docker ÖУ¬ÄÇôÆäËûÉÚ±øÊ¹Óà A Ðû³ÆµÄ port ÎÞ·¨Á¬½Óµ½ A¡£
×ܽá
±¾ÎÄÊ×ÏȽéÉÜÁËÉÚ±øµÄ×÷Óãº¼à¿Ø¡¢¹ÊÕÏ×ªÒÆ¡¢ÅäÖÃÌṩÕߺÍ֪ͨ£»È»ºó½²ÊöÁËÉÚ±øÏµÍ³µÄ²¿Êð·½·¨£¬ÒÔ¼°Í¨¹ý¿Í»§¶Ë·ÃÎÊÉÚ±øÏµÍ³µÄ·½·¨£»ÔÙÈ»ºó¼òҪ˵Ã÷ÁËÉÚ±øÊµÏֵĻù±¾ÔÀí£»×îºó¸ø³öÁ˹ØÓÚÉÚ±øÊµ¼ùµÄһЩ½¨Òé¡£
ÔÚÖ÷´Ó¸´ÖƵĻù´¡ÉÏ£¬ÉÚ±øÒýÈëÁËÖ÷½ÚµãµÄ×Ô¶¯¹ÊÕÏ×ªÒÆ£¬½øÒ»²½Ìá¸ßÁË Redis µÄ¸ß¿ÉÓÃÐÔ¡£
µ«ÊÇÉÚ±øµÄȱÏÝͬÑùºÜÃ÷ÏÔ£ºÉÚ±øÎÞ·¨¶Ô´Ó½Úµã½øÐÐ×Ô¶¯¹ÊÕÏ×ªÒÆ£¬ÔÚ¶Áд·ÖÀ볡¾°Ï£¬´Ó½Úµã¹ÊÕϻᵼÖ¶Á·þÎñ²»¿ÉÓã¬ÐèÒªÎÒÃǶԴӽڵã×ö¶îÍâµÄ¼à¿Ø¡¢Çл»²Ù×÷¡£
|