Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¹¹½¨¸ß¿ÉÓÃZooKeeper¼¯Èº
 
  2512  次浏览      33
 2019-4-23
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚ dotNET¿çƽ̨£¬½«´Ó ZooKeeper ÔËÐÐģʽ¡¢¼¯Èº×é³É¡¢ÈÝÔÖºÍˮƽÀ©ÈÝËÄ·½ÃæÖð²½ÉîÈ룬×îÖÕ¹¹½¨³ö¸ß¿ÉÓÃµÄ ZooKeeper ¼¯Èº¡£

ÔËÐÐģʽ

Zookeeper ÓÐÈýÖÖÔËÐÐģʽ£ºµ¥»úģʽ¡¢Î±¼¯ÈºÄ£Ê½ºÍ¼¯ÈºÄ£Ê½¡£

µ¥»úģʽ

ÕâÖÖģʽһ°ãÊÊÓÃÓÚ¿ª·¢²âÊÔ»·¾³£¬Ò»·½ÃæÎÒÃÇûÓÐÄÇô¶à»úÆ÷×ÊÔ´£¬ÁíÍâ¾ÍÊÇÆ½Ê±µÄ¿ª·¢µ÷ÊÔ²¢²»ÐèÒª¼«ºÃµÄÎȶ¨ÐÔ¡£

ÔÚ Linux »·¾³ÏÂÔËÐе¥»úģʽÐèÒªÖ´ÐÐÒÔϲ½Ö裺

1. ×¼±¸ Java ÔËÐл·¾³

°²×° Java 1.6 »ò¸ü¸ß°æ±¾µÄ JDK£¬²¢ÅäÖúà Java Ïà¹ØµÄ»·¾³±äÁ¿ $JAVA_HOME ¡£

2. ÏÂÔØ ZooKeeper °²×°°ü

ÏÂÔØµØÖ·£ºhttp://zookeeper.apache.org/releases.html¡£Ñ¡Ôñ×îÐ嵀 stable °æ±¾²¢½âѹµ½Ö¸¶¨Ä¿Â¼£¬ÎÒÃÇÓà $ZK_HOME ±íʾ¸ÃĿ¼¡£

3. ÅäÖÃ zoo.cfg

Ê×´ÎʹÓà ZooKeeper£¬ÐèÒª½« $ZK_HOME Ï嵀 zoo_sample.cfg ÎļþÖØÃüÃûΪ zoo.cfg£¬²¢½øÐÐÒÔÏÂÅäÖÃ

tickTime=2000 ##Zookeeper×îСʱ¼äµ¥Ôª£¬µ¥Î»ºÁÃë(ms)£¬Ä¬ÈÏֵΪ3000
dataDir=/var/lib/zookeeper ##Zookeeper·þÎñÆ÷´æ´¢¿ìÕÕÎļþµÄĿ¼£¬±ØÐëÅäÖÃ
dataLogDir=/var/lib/log ##Zookeeper·þÎñÆ÷´æ´¢ÊÂÎñÈÕÖ¾µÄĿ¼£¬Ä¬ÈÏΪdataDir
clientPort=2181 ##·þÎñÆ÷¶ÔÍâ·þÎñ¶Ë¿Ú£¬Ò»°ãÉèÖÃΪ2181
initLimit=5 ##Leader·þÎñÆ÷µÈ´ýFollowerÆô¶¯²¢Íê³ÉÊý¾Ýͬ²½µÄʱ¼ä£¬Ä¬ÈÏÖµ10£¬±íʾtickTimeµÄ10±¶
syncLimit=2 ##Leader·þÎñÆ÷ºÍFollowerÖ®¼ä½øÐÐÐÄÌø¼ì²âµÄ×î´óÑÓʱʱ¼ä£¬Ä¬ÈÏÖµ5£¬±íʾtickTimeµÄ5±¶

4. Æô¶¯·þÎñ

ʹÓà $ZK_HOME/bin Ŀ¼Ï嵀 zkServer.sh ½Å±¾½øÐзþÎñµÄÆô¶¯¡£

¼¯ÈºÄ£Ê½

Ò»¸ö ZooKeeper ¼¯ÈºÍ¨³£ÓÉÒ»×é»úÆ÷×é³É£¬Ò»°ã 3 ̨ÒÔÉϾͿÉÒÔ×é³ÉÒ»¸ö¿ÉÓÃµÄ ZooKeeper ¼¯ÈºÁË¡£

×é³É ZooKeeper ¼¯ÈºµÄÿ̨»úÆ÷¶¼»áÔÚÄÚ´æÖÐά»¤µ±Ç°µÄ·þÎñÆ÷״̬£¬²¢ÇÒÿ̨»úÆ÷Ö®¼ä¶¼»á»¥Ïà±£³ÖͨÐÅ¡£ÖØÒªµÄÒ»µãÊÇ£¬Ö»Òª¼¯ÈºÖдæÔÚ³¬¹ýÒ»°ëµÄ»úÆ÷Äܹ»Õý³£¹¤×÷£¬ÄÇôÕû¸ö¼¯Èº¾ÍÄܹ»Õý³£¶ÔÍâ·þÎñ¡£

ZooKeeper µÄ¿Í»§¶Ë³ÌÐò»áÑ¡ÔñºÍ¼¯ÈºÖеÄÈÎÒâһ̨·þÎñÆ÷´´½¨Ò»¸ö TCP Á¬½Ó£¬¶øÇÒÒ»µ©¿Í»§¶ËºÍ·þÎñÆ÷¶Ï¿ªÁ¬½Ó£¬¿Í»§¶Ë¾Í»á×Ô¶¯Á¬½Óµ½¼¯ÈºÖÐµÄÆäËû·þÎñÆ÷¡£

ÄÇôÈçºÎÔËÐÐ ZooKeeper ¼¯ÈºÄ£Ê½ÄØ£¿Ê×ÏȼÙÈçÎÒÃÇÓÐÈý̨·þÎñÆ÷£¬IP ·Ö±ðΪ IP1¡¢IP2 ºÍ IP3£¬ÔòÐèÒªÖ´ÐÐÒÔϲ½Ö裺

1. ×¼±¸ Java ÔËÐл·¾³£¨Í¬ÉÏ£©

2. ÏÂÔØ ZooKeeper °²×°°ü£¨Í¬ÉÏ£©

3. ÅäÖÃ zoo.cfg

tickTime=2000
dataDir=/var/lib/zookeeper
dataLogDir=/var/lib/log
clientPort=2181
initLimit=5
syncLimit=2
server.1=IP1:2888:3888
server.2=IP2:2888:3888
server.3=IP3:2888:3888

¿ÉÒÔ¿´µ½£¬Ïà±ÈÓÚµ¥»úģʽ£¬¼¯ÈºÄ£Ê½¶àÁË server.id=host:port1:port2 µÄÅäÖá£ÆäÖУ¬id ±»³ÆÎª Server ID£¬ÓÃÀ´±êʶ¸Ã»úÆ÷ÔÚ¼¯ÈºÖеĻúÆ÷ÐòºÅ£¨ÔÚÿ̨»úÆ÷µÄ dataDir Ŀ¼Ï´´½¨ myid Îļþ£¬ÎļþÄÚÈݼ´Îª¸Ã»úÆ÷¶ÔÓ¦µÄ Server ID Êý×Ö£©¡£host Ϊ»úÆ÷ IP£¬port1 ÓÃÓÚÖ¸¶¨ Follower ·þÎñÆ÷Óë Leader ·þÎñÆ÷½øÐÐͨÐźÍÊý¾Ýͬ²½µÄ¶Ë¿Ú£¬port2 ÓÃÓÚ½øÐÐ Leader Ñ¡¾Ù¹ý³ÌÖеÄͶƱͨÐÅ¡£

4. ´´½¨ myid Îļþ

ÔÚ dataDir Ŀ¼Ï´´½¨ÃûΪ myid µÄÎļþ£¬ÔÚÎļþµÚÒ»ÐÐдÉ϶ÔÓ¦µÄ Server ID¡£

5. °´ÕÕÏàͬ²½Ö裬ΪÆäËû»úÆ÷ÅäÖà zoo.cfg ºÍ myidÎļþ

6. Æô¶¯·þÎñ

α¼¯ÈºÄ£Ê½

ÕâÊÇÒ»ÖÖÌØÊâµÄ¼¯ÈºÄ£Ê½£¬¼´¼¯ÈºµÄËùÓзþÎñÆ÷¶¼²¿ÊðÔÚһ̨»úÆ÷ÉÏ¡£µ±ÄãÊÖÍ·ÉÏÓÐһ̨±È½ÏºÃµÄ»úÆ÷£¬Èç¹û×÷Ϊµ¥»úģʽ½øÐв¿Ê𣬾ͻáÀË·Ñ×ÊÔ´£¬ÕâÖÖÇé¿öÏ£¬ZooKeeperÔÊÐíÄãÔÚһ̨»úÆ÷ÉÏͨ¹ýÆô¶¯²»Í¬µÄ¶Ë¿ÚÀ´Æô¶¯¶à¸ö ZooKeeper ·þÎñʵÀý£¬ÒÔ´ËÀ´ÒÔ¼¯ÈºµÄÌØÐÔÀ´¶ÔÍâ·þÎñ¡£

ÕâÖÖģʽÏ£¬Ö»ÐèÒª°Ñ zoo.cfg ×öÈçÏÂÐ޸ģº

tickTime=2000
dataDir=/var/lib/zookeeper
dataLogDir=/var/lib/log
clientPort=2181
initLimit=5
syncLimit=2
server.1=IP1:2888:3888
server.2=IP1:2889:3889
server.3=IP1:2890:3890

¼¯Èº×é³É

Òª´î½¨Ò»¸ö¸ß¿ÉÓÃµÄ ZooKeeper ¼¯Èº£¬ÎÒÃÇÊ×ÏÈÐèҪȷ¶¨ºÃ¼¯ÈºµÄ¹æÄ£¡£¹ØÓÚ ZooKeeper ¼¯ÈºµÄ·þÎñÆ÷×é³É£¬ÏàÐźܶà¶Ô ZooKeeper Á˽⵫ÊÇÀí½â²»¹»ÉîÈëµÄ¶ÁÕߣ¬¶¼´æÔÚ»òÔø¾­´æÔÚ¹ýÕâÑùÒ»¸ö´íÎóµÄÈÏʶ£ºÎªÁËʹµÃ ZooKeeper ¼¯ÈºÄܹ»Ë³ÀûµØÑ¡¾Ù³ö Leader£¬±ØÐ뽫 ZooKeeper ¼¯ÈºµÄ·þÎñÆ÷Êý²¿Êð³ÉÆæÊý¡£ÕâÀïÎÒÃÇÐèÒª³ÎÇåµÄÒ»µãÊÇ£ºÈÎÒą̂ ZooKeeper ·þÎñÆ÷¶¼Äܲ¿ÊðÇÒÄÜÕý³£ÔËÐС£

ÄÇô´æÔÚÓÚÕâô¶à¶ÁÕßÖеÄÕâ¸ö´íÎóÈÏʶÊÇÔõô»ØÊÂÄØ£¿Æäʵ¹ØÓÚ ZooKeeper ¼¯Èº·þÎñÆ÷Êý£¬ZooKeeper ¹Ù·½È·Êµ¸ø³öÁ˹ØÓÚÆæÊýµÄ½¨Ò飬µ«¾ø´ó²¿·Ö ZooKeeper Óû§¶ÔÓÚÕâ¸ö½¨ÒéÈÏʶÓÐÆ«²î¡£ÔÚ±¾ÊéÇ°ÃæÌáµ½µÄ¡°¹ý°ë´æ»î¼´¿ÉÓá±ÌØÐÔÖУ¬ÎÒÃÇÒѾ­Á˽âÁË£¬Ò»¸ö ZooKeeper ¼¯ÈºÈç¹ûÒª¶ÔÍâÌṩ¿ÉÓõķþÎñ£¬ÄÇô¼¯ÈºÖбØÐëÒªÓйý°ëµÄ»úÆ÷Õý³£¹¤×÷²¢Çұ˴ËÖ®¼äÄܹ»Õý³£Í¨ÐÅ¡£»ùÓÚÕâ¸öÌØÐÔ£¬Èç¹ûÏë´î½¨Ò»¸öÄܹ»ÔÊÐí N ̨»úÆ÷ down µôµÄ¼¯Èº£¬ÄÇô¾ÍÒª²¿ÊðÒ»¸öÓÉ 2*N+1 ̨·þÎñÆ÷¹¹³ÉµÄ ZooKeeper ¼¯Èº¡£Òò´Ë£¬Ò»¸öÓÉ 3 ̨»úÆ÷¹¹³ÉµÄ ZooKeeper ¼¯Èº£¬Äܹ»ÔÚ¹Òµô 1 ̨»úÆ÷ºóÒÀÈ»Õý³£¹¤×÷£¬¶ø¶ÔÓÚÒ»¸öÓÉ 5 ̨·þÎñÆ÷¹¹³ÉµÄ ZooKeeper ¼¯Èº£¬Äܹ»¶Ô 2 ̨»úÆ÷¹ÒµôµÄÇé¿ö½øÐÐÈÝÔÖ¡£×¢Ò⣬Èç¹ûÊÇÒ»¸öÓÉ6̨·þÎñÆ÷¹¹³ÉµÄ ZooKeeper ¼¯Èº£¬Í¬ÑùÖ»Äܹ»¹Òµô 2 ̨»úÆ÷£¬ÒòΪÈç¹û¹Òµô 3 ̨£¬Ê£ÏµĻúÆ÷¾ÍÎÞ·¨ÊµÏÖ¹ý°ëÁË¡£

Òò´Ë£¬´ÓÉÏÃæµÄ½²½âÖУ¬ÎÒÃÇÆäʵ¿ÉÒÔ¿´³ö£¬¶ÔÓÚÒ»¸öÓÉ 6 ̨»úÆ÷¹¹³ÉµÄ ZooKeeper ¼¯ÈºÀ´Ëµ£¬ºÍÒ»¸öÓÉ 5 ̨»úÆ÷¹¹³ÉµÄ ZooKeeper ¼¯Èº£¬ÆäÔÚÈÝÔÖÄÜÁ¦Éϲ¢Ã»ÓÐÈκÎÏÔÖøµÄÓÅÊÆ£¬·´¶ø¶àÕ¼ÓÃÁËÒ»¸ö·þÎñÆ÷×ÊÔ´¡£»ùÓÚÕâ¸öÔ­Òò£¬ZooKeeper ¼¯ÈºÍ¨³£Éè¼Æ²¿Êð³ÉÆæÊý̨·þÎñÆ÷¼´¿É¡£

ÈÝÔÖ

ËùνÈÝÔÖ£¬ÔÚ IT ÐÐҵͨ³£ÊÇÖ¸ÎÒÃǵļÆËã»úÐÅϢϵͳ¾ßÓеÄÒ»ÖÖÔÚÔâÊÜÖîÈç»ðÔÖ¡¢µØÕ𡢶ϵçºÍÆäËû»ù´¡ÍøÂçÉ豸¹ÊÕϵȻÙÃðÐÔÔÖÄѵÄʱºò£¬ÒÀÈ»Äܹ»¶ÔÍâÌṩ¿ÉÓ÷þÎñµÄÄÜÁ¦¡£

¶ÔÓÚһЩÆÕͨµÄÓ¦Óã¬ÎªÁË´ïµ½ÈÝÔÖ±ê×¼£¬Í¨³£ÎÒÃÇ»áÑ¡ÔñÔÚ¶ą̀»úÆ÷ÉϽøÐв¿ÊðÀ´×é³ÉÒ»¸ö¼¯Èº£¬ÕâÑù¼´Ê¹ÔÚ¼¯ÈºµÄһ̨»òÊÇÈô¸Ę́»úÆ÷³öÏÖ¹ÊÕϵÄÇé¿öÏ£¬Õû¸ö¼¯ÈºÒÀÈ»Äܹ»¶ÔÍâÌṩ¿ÉÓõķþÎñ¡£

¶ø¶ÔÓÚһЩºËÐÄÓ¦Ó㬲»½öҪͨ¹ýʹÓöą̀»úÆ÷¹¹½¨¼¯ÈºµÄ·½Ê½À´Ìṩ·þÎñ£¬¶øÇÒ»¹Òª½«¼¯ÈºÖеĻúÆ÷²¿ÊðÔÚÁ½¸ö»ú·¿£¬ÕâÑùµÄ»°£¬¼´Ê¹ÆäÖÐÒ»¸ö»ú·¿ÔâÓöÔÖÄÑ£¬ÒÀÈ»Äܹ»¶ÔÍâÌṩ¿ÉÓõķþÎñ¡£

ÉÏÃæ½²µ½µÄ¶¼ÊÇÓ¦ÓòãÃæµÄÈÝÔÖģʽ£¬ÄÇô¶ÔÓÚ ZooKeeper ÕâÖֵײã×é¼þÀ´Ëµ£¬ÈçºÎ½øÐÐÈÝÔÖÄØ£¿½²µ½ÕâÀ¿ÉÄܶàÉÙ¶ÁÕß»áÓÐÒÉÎÊ£¬ZooKeeper ¼ÈÈ»ÒѾ­½â¾öÁ˵¥µãÎÊÌ⣬ÄÇΪʲô»¹Òª½øÐÐÈÝÔÖÄØ£¿

µ¥µãÎÊÌâ

µ¥µãÎÊÌâÊÇ·Ö²¼Ê½»·¾³ÖÐ×î³£¼ûÒ²ÊÇ×î¾­µäµÄÎÊÌâÖ®Ò»£¬Ôںܶà·Ö²¼Ê½ÏµÍ³Öж¼»á´æÔÚÕâÑùµÄµ¥µãÎÊÌâ¡£¾ßÌåµØËµ£¬µ¥µãÎÊÌâÊÇÖ¸ÔÚÒ»¸ö·Ö²¼Ê½ÏµÍ³ÖУ¬Èç¹ûijһ¸ö×é¼þ³öÏÖ¹ÊÕϾͻáÒýÆðÕû¸öϵͳµÄ¿ÉÓÃÐÔ´ó´óϽµÉõÖÁÊÇ´¦ÓÚ̱»¾×´Ì¬£¬ÄÇôÎÒÃǾÍÈÏΪ¸Ã×é¼þ´æÔÚµ¥µãÎÊÌâ¡£

ZooKeeper ȷʵÒѾ­ºÜºÃµØ½â¾öÁ˵¥µãÎÊÌâ¡£ÎÒÃÇÒѾ­Á˽⵽£¬»ùÓÚ¡°¹ý°ë¡±Éè¼ÆÔ­Ôò£¬ZooKeeper ÔÚÔËÐÐÆÚ¼ä£¬¼¯ÈºÖÐÖÁÉÙÓйý°ëµÄ»úÆ÷±£´æÁË×îеÄÊý¾Ý¡£Òò´Ë£¬Ö»Òª¼¯ÈºÖг¬¹ý°ëÊýµÄ»úÆ÷»¹Äܹ»Õý³£¹¤×÷£¬Õû¸ö¼¯Èº¾ÍÄܹ»¶ÔÍâÌṩ·þÎñ¡£

ÈÝÔÖ

½â¾öÁ˵¥µãÎÊÌ⣬ÊDz»ÊǸÿ¼ÂÇÈÝÔÖÁËÄØ£¿´ð°¸ÊÇ·ñ¶¨µÄ£¬Ôڴһ¸ö¸ß¿ÉÓõļ¯ÈºµÄʱºòÒÀÈ»ÐèÒª¿¼ÂÇÈÝÔÖÎÊÌâ¡£ÕýÈçÉÏÃæ½²µ½µÄ£¬Èç¹û¼¯ÈºÖг¬¹ý°ëÊýµÄ»úÆ÷»¹ÔÚÕý³£¹¤×÷£¬¼¯Èº¾ÍÄܹ»¶ÔÍâÌṩÕý³£µÄ·þÎñ¡£ÄÇô£¬Èç¹ûÕû¸ö»ú·¿³öÏÖÔÖÄÑÐÔµÄʹʣ¬ÕâʱÏÔÈ»ÒѾ­²»Êǵ¥µãÎÊÌâµÄ·¶³ëÁË¡£

ÔÚ½øÐÐ ZooKeeper µÄÈÝÔÖ·½°¸Éè¼Æ¹ý³ÌÖУ¬ÎÒÃÇÒª³ä·Ö¿¼Âǵ½¡°¹ý°ëÔ­Ôò¡±¡£Ò²¾ÍÊÇ˵£¬ÎÞÂÛ·¢ÉúʲôÇé¿ö£¬ÎÒÃDZØÐë±£Ö¤ ZooKeeper ¼¯ÈºÖÐÓг¬¹ý°ëÊýµÄ»úÆ÷Äܹ»Õý³£¹¤×÷¡£Òò´Ë£¬Í¨³£ÓÐÒÔÏÂÁ½ÖÖ²¿Êð·½°¸¡£

Ë«»ú·¿²¿Êð

ÔÚ½øÐÐÈÝÔÖ·½°¸µÄÉè¼ÆÊ±£¬ÎÒÃÇͨ³£ÊÇÒÔ»ú·¿Îªµ¥Î»À´¿¼ÂÇÎÊÌâ¡£ÔÚÏÖʵÖУ¬ºÜ¶à¹«Ë¾µÄ»ú·¿¹æÄ£²¢²»´ó£¬Òò´ËË«»ú·¿²¿ÊðÊǸö±È½Ï³£¼ûµÄ·½°¸¡£µ«ÊÇÒź¶µÄÊÇ£¬ÔÚĿǰ°æ±¾µÄ ZooKeeper ÖУ¬»¹Ã»Óа취Äܹ»ÔÚË«»ú·¿Ìõ¼þÏÂʵÏֱȽϺõÄÈÝÔÖЧ¹û¡ª¡ªÒòΪÎÞÂÛÄĸö»ú·¿·¢ÉúÒì³£Çé¿ö£¬¶¼ÓпÉÄÜʹµÃ ZooKeeper ¼¯ÈºÖпÉÓõĻúÆ÷ÎÞ·¨³¬¹ý°ëÊý¡£µ±È»£¬ÔÚÓµÓÐÁ½¸ö»ú·¿µÄ³¡¾°Ï£¬Í¨³£ÓÐÒ»¸ö»ú·¿ÊÇÖ÷Òª»ú·¿£¨Ò»°ã¶øÑÔ£¬¹«Ë¾»á»¨·Ñ¸ü¶àµÄǮȥ×âÓÃÒ»¸öÎȶ¨ÐÔ¸üºÃ¡¢É豸¸ü¿É¿¿µÄ»ú·¿£¬Õâ¸ö»ú·¿¾ÍÊÇÖ÷Òª»ú·¿£¬¶øÁíÍâÒ»¸ö»ú·¿Ôò¸ü¼ÓÁ®¼ÛһЩ£©¡£ÎÒÃÇΨһÄÜ×öµÄ£¬¾ÍÊǾ¡Á¿ÔÚÖ÷Òª»ú·¿²¿Êð¸ü¶àµÄ»úÆ÷¡£ÀýÈ磬¶ÔÓÚÒ»¸öÓÉ 7 ̨»úÆ÷×é³ÉµÄ ZooKeeper ¼¯Èº£¬Í¨³£ÔÚÖ÷Òª»ú·¿Öв¿Êð 4 ̨»úÆ÷£¬Ê£Ï嵀 3 ̨»úÆ÷²¿Êðµ½ÁíÍâÒ»¸ö»ú·¿ÖС£

Èý»ú·¿²¿Êð

¼ÈÈ»ÔÚË«»ú·¿²¿Êðģʽϲ¢²»ÄÜʵÏֺõÄÈÝÔÖЧ¹û£¬ÄÇô¶ÔÓÚÓÐÌõ¼þµÄ¹«Ë¾£¬Ñ¡ÔñÈý»ú·¿²¿ÊðÎÞÒÉÊǸö¸üºÃµÄÑ¡Ôñ£¬ÎÞÂÛÄĸö»ú·¿·¢ÉúÁ˹ÊÕÏ£¬Ê£ÏÂÁ½¸ö»ú·¿µÄ»úÆ÷ÊýÁ¿¶¼³¬¹ý°ëÊý¡£¼ÙÈçÎÒÃÇÓÐÈý¸ö»ú·¿¿ÉÒÔ²¿Êð·þÎñ£¬²¢ÇÒÕâÈý¸ö»ú·¿¼äµÄÍøÂç×´¿öÁ¼ºÃ£¬ÄÇô¾Í¿ÉÒÔÔÚÈý¸ö»ú·¿Öж¼²¿ÊðÈô¸É¸ö»úÆ÷À´×é³ÉÒ»¸ö ZooKeeper ¼¯Èº¡£

ÎÒÃǼٶ¨¹¹³É ZooKeeper ¼¯ÈºµÄ»úÆ÷×ÜÊýΪ N£¬ÔÚÈý¸ö»ú·¿Öв¿ÊðµÄ ZooKeeper ·þÎñÆ÷Êý·Ö±ðΪ N1¡¢N2 ºÍ N3£¬Èç¹ûҪʹ¸Ã ZooKeeper ¼¯Èº¾ßÓнϺõÄÈÝÔÖÄÜÁ¦£¬ÎÒÃÇ¿ÉÒÔ¸ù¾ÝÈçÏÂËã·¨À´¼ÆËã ZooKeeper ¼¯ÈºµÄ»úÆ÷²¿Êð·½°¸¡£

1. ¼ÆËã N1

Èç¹û ZooKeeper ¼¯ÈºµÄ·þÎñÆ÷×ÜÊýÊÇ N£¬ÄÇô£º

N1 = (N-1)/2

ÔÚ Java ÖУ¬¡°/¡± ÔËËã·û»á×Ô¶¯¶Ô¼ÆËã½á¹ûÏòÏÂÈ¡Õû²Ù×÷¡£¾Ù¸öÀý×Ó£¬Èç¹û N=8£¬ÄÇô N1=3£»Èç¹û N=7£¬ÄÇô N1 Ò²µÈÓÚ 3¡£

2. ¼ÆËã N2 µÄ¿Éѡֵ

N2 µÄ¼ÆËã¹æÔòºÍ N1 ·Ç³£ÀàËÆ£¬Ö»ÊÇ N2 µÄȡֵÊÇÔÚÒ»¸öȡֵ·¶Î§ÄÚ£º

N2 µÄȡֵ·¶Î§ÊÇ 1~(N-N1)/2

¼´Èç¹û N=8£¬ÄÇô N1=3£¬Ôò N2 µÄȡֵ·¶Î§¾ÍÊÇ 1~2£¬·Ö±ðÊÇ 1 ºÍ 2¡£×¢Ò⣬1 ºÍ 2 ½ö½öÊÇ N2 µÄ¿Éѡֵ£¬²¢·Ç×îÖÕÖµ¡ª¡ªÈç¹û N2 Ϊij¸ö¿ÉѡֵµÄʱºò£¬ÎÞ·¨¼ÆËã³ö N3 µÄÖµ£¬ÄÇô¸Ã¿ÉѡֵҲÎÞЧ¡£

3. ¼ÆËã N3£¬Í¬Ê±È·¶¨ N2 µÄÖµ

ºÜÏÔÈ»£¬ÏÖÔÚֻʣÏ N3 ÁË£¬¿ÉÒÔ¼òµ¥µÄÈÏΪ N3 µÄȡֵ¾ÍÊÇʣϵĻúÆ÷Êý£¬¼´£º

N3 = N - N1 - N2

Ö»ÊÇ N3 µÄȡֵ±ØÐëÂú×ã N3 < N1+N2¡£ÔÚÂú×ãÕâ¸öÌõ¼þµÄ»ù´¡Ï£¬ÎÒÃDZéÀú²½Öè 2 ÖмÆËãµÃµ½µÄ N2 µÄ¿Éѡֵ£¬¼´¿ÉµÃµ½Èý»ú·¿²¿Êðʱÿ¸ö»ú·¿µÄ·þÎñÆ÷ÊýÁ¿ÁË¡£

ÏÖÔÚÎÒÃÇÒÔ 7 ̨»úÆ÷ΪÀý£¬À´¿´¿´ÈçºÎ·ÖÅäÈý»ú·¿µÄ»úÆ÷·Ö²¼¡£¸ù¾ÝËã·¨µÄ²½Öè 1£¬ÎÒÃÇÊ×ÏÈÈ·¶¨ N1 µÄȡֵΪ 3¡£¸ù¾ÝËã·¨µÄ²½Öè 2£¬ÎÒÃÇÈ·¶¨ÁË N2 µÄ¿ÉѡֵΪ 1 ºÍ 2¡£×îºó¸ù¾Ý²½Öè 3£¬ÎÒÃDZéÀú N2 µÄ¿Éѡֵ£¬¼´¿ÉµÃµ½Á½ÖÖ²¿Êð·½°¸£¬·Ö±ðÊÇ (3,1,3) ºÍ (3,2,2)¡£ÒÔÏÂÊÇ Java ³ÌÐò´úÂë¶ÔÒÔÉÏËã·¨µÄÒ»ÖÖ¼òµ¥ÊµÏÖ£º

public class Allocation {
static final int n = 7;

public static void main(String[] args){
int n1,n2,n3;
n1 = (n-1) / 2;
int n2_max = (n-n1) / 2;
for(int i=1; i<=n2_max; i++){
n2 = i;
n3 = n - n1 -n2;
if(n3 >= (n1+n2)){
continue;
}
System.out.println("("+n1+","+n2+","+n3+")");
}
}
}

ˮƽÀ©ÈÝ

ˮƽ¿ÉÀ©ÈÝ¿ÉÒÔ˵ÊǶÔÒ»¸ö·Ö²¼Ê½ÏµÍ³Ôڸ߿ÉÓÃÐÔ·½ÃæÌá³öµÄ»ù±¾µÄ£¬Ò²ÊǷdz£ÖØÒªµÄÒ»¸öÒªÇó£¬Í¨¹ýˮƽÀ©ÈÝÄܹ»°ïÖúϵͳÔÚ²»½øÐлò½øÐм«ÉٸĽø¹¤×÷µÄǰÌáÏ£¬¿ìËÙÌá¸ßϵͳ¶ÔÍâµÄ·þÎñÖ§³ÅÄÜÁ¦¡£¼òµ¥µØ½²£¬Ë®Æ½À©ÈݾÍÊÇÏò¼¯ÈºÖÐÌí¼Ó¸ü¶àµÄ»úÆ÷£¬ÒÔÌá¸ßϵͳµÄ·þÎñÖÊÁ¿¡£

ºÜÒź¶µÄÊÇ£¬ZooKeeper ÔÚˮƽÀ©ÈÝÀ©ÈÝ·½Ãæ×öµÃ²¢²»Ê®·ÖÍêÃÀ£¬ÐèÒª½øÐÐÕû¸ö¼¯ÈºµÄÖØÆô¡£Í¨³£ÓÐÁ½ÖÖÖØÆô·½Ê½£¬Ò»ÖÖÊǼ¯ÈºÕûÌåÖØÆô£¬ÁíÍâÒ»ÖÖÊÇÖð̨½øÐзþÎñÆ÷µÄÖØÆô¡£

ÕûÌåÖØÆô

Ëùν¼¯ÈºÕûÌåÖØÆô£¬¾ÍÊÇÏȽ«Õû¸ö¼¯ÈºÍ£Ö¹£¬È»ºó¸üРZooKeeper µÄÅäÖã¬È»ºóÔÙ´ÎÆô¶¯¡£Èç¹ûÔÚÄãµÄϵͳÖУ¬ZooKeeper ²¢²»ÊǸö·Ç³£ºËÐĵÄ×é¼þ£¬²¢ÇÒÄܹ»ÔÊÐí¶ÌÔݵķþÎñÍ£Ö¹£¨Í¨³£ÊǼ¸ÃëÖÓµÄʱ¼ä¼ä¸ô£©£¬ÄÇô²»·ÁÑ¡ÔñÕâÖÖ·½Ê½¡£ÔÚÕûÌåÖØÆôµÄ¹ý³ÌÖУ¬ËùÓиü¯ÈºµÄ¿Í»§¶Ë¶¼ÎÞ·¨Á¬½ÓÉϼ¯Èº¡£µÈµ½¼¯ÈºÔÙ´ÎÆô¶¯£¬ÕâЩ¿Í»§¶Ë¾ÍÄܹ»×Ô¶¯Á¬½ÓÉÏ¡ª¡ª×¢Ò⣬ÕûÌåÆô¶¯Ç°½¨Á¢ÆðµÄ¿Í»§¶Ë»á»°£¬²¢²»»áÒòΪ´Ë´ÎÕûÌåÖØÆô¶øÊ§Ð§¡£Ò²¾ÍÊÇ˵£¬ÔÚÕûÌåÖØÆôÆÚ¼ä»¨·ÑµÄʱ¼ä½«²»¼ÆÈë»á»°³¬Ê±Ê±¼äµÄ¼ÆËãÖС£

ÖðÌ¨ÖØÆô

ÕâÖÖ·½Ê½¸üÊʺϾø´ó¶àÊýµÄʵ¼Ê³¡¾°¡£ÔÚÕâÖÖ·½Ê½ÖУ¬Ã¿´Î½ö½öÖØÆô¼¯ÈºÖеÄһ̨»úÆ÷£¬È»ºóÖð̨¶ÔÕû¸ö¼¯ÈºÖеĻúÆ÷½øÐÐÖØÆô²Ù×÷¡£ÕâÖÖ·½Ê½¿ÉÒÔÔÚÖØÆôÆÚ¼äÒÀÈ»±£Ö¤¼¯Èº¶ÔÍâµÄÕý³£·þÎñ¡£

   
2512 ´Îä¯ÀÀ       33
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù