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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
·Ö²¼Ê½ÏµÍ³Ö®Raft¹²Ê¶Ëã·¨
 
×÷Õߣº¹«ÖÚºÅ_ËÉ»ªËµ
  1589  次浏览      29
2021-1-20
 
±à¼­ÍƼö:

±¾ÎÄÖ÷Òª½éÉÜÁËleaderÑ¡¾Ù¡¢ÈռǸ´ÖÆ ÒÔ¼°°²È«ÐÔµÈÈý´ó·½Ãæ¡£
±¾ÎÄÀ´×ÔÓÚÌÚÑ¶ÔÆ£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­¡¢ÍƼö¡£

·Ö²¼Ê½ÏµÍ³³ýÁËÌáÉýÕû¸öÌåͳµÄÐÔÄÜÍ⻹ÓÐÒ»¸öÖØÒªÌØÕ÷¾ÍÊÇÌá¸ßϵͳµÄ¿É¿¿ÐÔ¡£Ìṩ¿É¿¿ÐÔ¿ÉÒÔÀí½âΪϵͳÖÐһ̨»ò¶ą̀µÄ»úÆ÷¹ÊÕϲ»»áʹϵͳ²»¿ÉÓûòÕß¶ªÊ§Êý¾Ý¡£±£Ö¤ÏµÍ³¿É¿¿ÐԵĹؼü¾ÍÊǶั±¾£¬Ò»µ©Óжั±¾£¬ÄÇô¾ÍÃæÁٶั±¾Ö®¼äµÄÒ»ÖÂÐÔÎÊÌâ

Ò»ÖÂÐÔËã·¨ÕýÊÇÓÃÓÚ½â¾ö·Ö²¼Ê½»·¾³Ï¶ั±¾Ö®¼äÊý¾ÝÒ»ÖÂÐÔµÄÎÊÌâµÄ¡£Òµ½ç×îÖøÃûµÄÒ»ÖÂÐÔËã·¨¾ÍÊÇ´óÃû¶¦¶¦µÄPaxos£¬µ«PaxosÊdzöÁËÃûµÄÄѶ®£¬¶øRaftÕýÊÇΪÁË̽Ë÷Ò»ÖÖ¸üÒ×ÓÚÀí½âµÄÒ»ÖÂÐÔËã·¨¶ø²úÉúµÄ£¬Ëü½«Ò»ÖÂÐÔ²ð·ÖΪleaderÑ¡¾Ù¡¢ÈÕÖ¾¸´ÖÆ¡¢°²È«ÐÔÈý¸ö¹Ø¼üÔªËØ

1¡¢leaderÑ¡¾Ù

RaftËã·¨½«Ê±¼ä»®·Ö³ÉΪÈÎÒⲻͬ³¤¶ÈµÄÈÎÆÚ(term),ÈÎÆÚÓÃÁ¬ÐøµÄÊý×Ö±íʾ£¬Ã¿Ò»¸öÈÎÆÚµÄ¿ªÊ¼¶¼ÊÇÒ»´ÎÑ¡¾Ù¡£Èç¹ûÒ»¸öºîÑ¡ÈËÓ®µÃÁËÑ¡¾Ù£¬Ëü¾Í»áÔÚ¸ÃÈÎÆÚµÄÓàÏÂʱ¼äµ£ÈÎÁìµ¼ÈË£¬Èç¹ûûÓÐÑ¡³öÁìµ¼ÈË£¬½«»á¿ªÊ¼ÁíÒ»¸öÈÎÆÚ£¬²¢ÇÒÁ¢¿Ì¿ªÊ¼ÏÂÒ»´ÎÑ¡¾Ù

ÄÇôʲôʱºò¿ªÊ¼Ñ¡¾ÙÄØ£¿Êµ¼ÊÉÏleader»áÏòËùÓÐfollowerÖÜÆÚÐÔ·¢ËÍÐÄÌø£¬À´±£Ö¤ËüÃǵÄleaderµØÎ»£¬Èç¹ûÒ»¸öfollowerÔÚÒ»¸öÖÜÆÚÄÚûÓÐÊÕµ½heartbeatÐÅÏ¢£¬ÄÇôËü¾Í»á¼Ù¶¨Ã»ÓпÉÓõÄleader£¬×ÔÒѾÍת»»×´Ì¬³ÉΪºòÑ¡ÈË£¬²¢ÇÒ¿ªÊ¼Ò»´ÎÑ¡¾ÙÀ´Ñ¡³öÒ»¸öеÄleader

RaftÑ¡¾Ù¹ý³ÌÓÐÈý¸ö¹æÔò

£¨1)¡¢¹æÔò£ºÈç¹ûÇëÇóͶƱµÄ·þÎñÆ÷ÈÎÆÚ±È×Ô¼ºµÄÈÎÆÚ´ó£¬Ôò¸ø¸Ã·þÎñÆ÷ͶƱ

(2)¡¢¹æÔò£ºÔÚÒ»¸öÈÎÆÚÄÚ£¬Ò»Ì¨·þÎñÆ÷×î¶àÄܸøÒ»¸öºîÑ¡ÈËͶƱ£¬°´ÕÕÏȵ½ÏȵõÄÔ­Ôò

(3)¡¢¹æÔò£ºËæ»úÑ¡¾Ù³¬Ê±

ΪÁ˱ÜÃâѡƱ±»Æ½·Ö£¬Ã»ÓзþÎñÆ÷³ÉΪleader£¬Ã¿Ì¨·þÎñÆ÷ÔÚÒ»¸ö¹Ì¶¨µÄ·¶Î§ÄÚËæ»úѡȡ£¬´Ó¶øÊ¹Ã¿Ì¨·þÎñÆ÷µÄÑ¡¾Ù³¬Ê±Ê±¼ä¾ù²»Ïàͬ£¬ÕâÖÖ»úÖÆÊ¹µÃÔÚ´ó¶àÊýÇé¿öÏÂÖ»ÓÐÒ»¸ö·þÎñÆ÷»áÂÊÏȳ¬Ê±£¬Ëü»áÔÚÆäËû·þÎñÆ÷³¬Ê±Ö®Ç°Ó®µÃÑ¡¾Ù²¢ÇÒÏòÆäËü·þÎñÆ÷·¢ËÍheartbeatÐÅÏ¢

µ±ºòÑ¡ÈËÊÕµ½´ó¶àÊý½ÚµãµÄѡƱÔòת»»Îªleader£¬·¢ÏÖleader»òÕßÊÕµ½¸ü¸ßÈÎÆÚµÄÇëÇóÔòת»»Îªfollower£¬ÔÚ½Çɫת»»µÄʱºò×ñÊØÑ¡¾Ù°²È«Ô­Ôò£¬Ò»¸öÈÎÆÚ(term)ÄÚ×î¶àÔÊÐíÓÐÒ»¸öleader±»Ñ¡ÉÏ

2¡¢ÈռǸ´ÖÆ

ÒªÀí½âΪÈռǸ´ÖƵÃÏȸãÃ÷°×ÈÕ¼ÇÆ¥ÅäÔ­ÔòºÍ¿É±»Ìá½»µÄÈÕ¼ÇÕâÁ½¸ö¸ÅÄî

ÈÕ¼ÇÆ¥ÅäÔ­ÔòÃèÊöµÄÊÇ£¬Èç¹ûÔÚ²»Í¬ÈÕ¼ÇÖеÄÁ½¸öÌõÄ¿ÓÐ×ÅÏàͬµÄË÷ÒýºÍÈÎÆÚºÅ£¬ÔòËüÃÇ´æ´¢µÄÃüÁîÊÇÏàͬµÄ¡£Èç¹ûÔÚ²»Í¬ÈÕ¼ÇÖеÄÁ½¸öÌõÄ¿ÓÐ×ÅÏàͬµÄË÷ÒýºÍÈÎÆÚºÅ£¬ÔòËüÃÇÖ®¼äµÄËùÓÐÌõÄ¿¶¼ÊÇÍêÈ«ÏàͬµÄ

¿É±»Ìá½»µÄÈÕ¼ÇÃèÊöµÄÊÇ£¬Ò»µ©±»leader´´½¨µÄÌõÄ¿ÒѾ­¸´ÖƵ½ÁË´ó¶àÊý·þÎñÆ÷ÉÏ£¬Õâ¸öÈռǾͳÆÎª¿É±»Ìá½»µÄ¡£leaderÈÕ¼ÇÖÐ֮ǰµÄÌõÄ¿¶¼Êǿɱ»Ìá½»µÄ£¬°üÀ¨ÓÉ֮ǰµÄleader´´½¨µÄÌõÄ¿

ÔÚÈռǸ´ÖÆÁ÷³ÌÖУ¬leaderÐèÒªÕÒµ½followerͬËüµÄÈÕ¼ÇÒ»Öµĵط½£¬È»ºóɾ³ýfollowerÔÚ¸ÃλÖÃÖ®ºóµÄÌõÄ¿£¬È»ºó½«×Ô¼ºÔÚ¸ÃλÖÃÖ®ºóµÄÌõÄ¿·¢Ë͸øfollower

ÍêÕûÁ÷³ÌÊÇ£¬clientÏòleader·¢³öÇëÇó£¬leader½«ÈÕ¼ÇÌõÄ¿¼ÓÈëµ½ËüµÄÈÕÖ¾ÖУ¬²¢ÐÐÏòfollower·þÎñÆ÷·¢ÆðÈռǸ´ÖÆÇëÇó£¬leaderÈ·ÈÏÈÕ¼ÇÌõÄ¿±»°²È«¸´Öƺ󣬽«¸ÃÌõĿӦÓõ½×´Ì¬»ú£¬È»ºóÏòclient·µ»Ø½á¹û£¬Ïòfollower·¢³ö¿ÉÒÔÌá½»¸ÃÈÕ¼ÇÌõÄ¿µÄÇëÇó¡£µ±Ò»¸ö·þÎñÆ÷ÒѾ­½«¸øËüË÷ÒýλÖõÄÈÕ¼ÇÌõĿӦÓõ½×´Ì¬»úÖУ¬ÔòËùÓÐÆäËû·þÎñÆ÷²»»áÔÚ¸ÃË÷ÒýλÖÃÓ¦Óò»Í¬µÄÌõÄ¿

ÔÚÈռǸ´ÖÆÖУ¬¿ÉÄÜ»á³öÏÖ¸÷ÖÖ¸÷ÑùµÄÒì³£

(1)¡¢Òì³££ºÊý¾Ý·¢Ë͵½leader,µ«Î´¸´ÖƵ½follower

leaderÒì³££¬client½ÓÊÕ²»µ½ack,ÖØÐÂÑ¡¾Ùºó£¬client¿ÉÖØÐÂÏòleader·¢³öÇëÇó

(2)¡¢Òì³££ºÊý¾Ýµ½´ïleader½Úµã£¬³É¹¦¸´ÖƵ½followerËùÓнڵ㣬µ«Î´ÏòleaderÏìÓ¦½ÓÊÕ

ÖØÐÂÑ¡¾Ùºó£¬ËäÈ»Êý¾ÝÔÚfollower½Úµã´¦ÓÚδÌύ״̬µ«±£³ÖÒ»Ö£¬ÖØÐÂÑ¡¾Ù³öleaderºó¿ÉÍê³ÉÊý¾ÝÌá½»£¬ÓÉÓÚÔ­leaderÒì³££¬clientÎÞ·¨½ÓÊÕµ½ack,»áÖØÐÂÏòleader·¢³öÇëÇó£¬RaftÒªÇóRPCÃݵȣ¬ËùÒÔ·þÎñÆ÷ҪʵÏÖÈ¥ÖØ»úÖÆ

(3)¡¢Òì³££ºÊý¾Ýµ½´ïleader½Úµã£¬³É¹¦¸´ÖƵ½followerËùÓлò¶àÊý½Úµã,Êý¾ÝÔÚleader´¦ÓÚÒÑÌύ״̬£¬µ«ÔÚfollower´¦ÓÚδÌύ״̬

Õâ¸ö½×¶Îleader¹Òµô£¬ÖØÐÂÑ¡³öÐÂleader

£¨4£©¡¢Òì³££ºÓÉÓÚÍøÂ硱·ÖÇø¡±µ¼Ö³öÏÖË«leader

ÒÔ5¸ö·þÎñÆ÷½ÚµãΪÀý£¬Õý³£Çé¿öÏÂA½ÚµãΪleader£¬½ÓÊÕclientµÄÇëÇ󣬲¢½«ÈÕ¼Çͬ²½µ½B¡¢C¡¢D¡¢EËĸöfollower½Úµã¡£ÓÉÓÚÍøÂçÔ­Òò£¬A¡¢B½ÚµãÎÞ·¨ÓëC¡¢D¡¢E½øÐÐͨÐÅ£¬C¡¢D¡¢EÖØÐÂÑ¡¾Ù£¬Ñ¡Ôñleader£¬¼ÙÉèE½Úµãʤ³ö£¬´Ëʱ³öÏÖË«leader¡£ËæºóÍøÂç»Ö¸´£¬A¡¢B½«×öΪEµÄfollower

3¡¢°²È«ÐÔ

Raftͨ¹ý±È½ÏÈÕ¼ÇÖÐ×îºóÒ»¸öÌõÄ¿µÄË÷ÒýºÍÈÎÆÚºÅÀ´¾ö¶¨Á½¸öÈÕ¼ÇÄÄÒ»¸ö¸üУ¬Èç¹ûÁ½¸öÈռǵÄÈÎÆÚºÅ²»Í¬£¬ÈÎÆÚºÅ´óµÄ¸üУ¬Èç¹ûÈÎÆÚºÅÏàͬ£¬¸ü³¤µÄÈռǸüÐÂ

RaftΪÁ˱£Ö¤°²È«ÐÔ£¬Ô¼¶¨ÁËһЩѡ¾ÙÏÞÖÆ£¬RequestVote RPCÖаüº¬ºòÑ¡È˵ÄÈÕ¼ÇÐÅÏ¢£¬Èç¹û·þÎñÆ÷×Ô¼ºµÄÈռDZȺòÑ¡ÈË»¹ÒªÐ£¬Ôò»á¾Ü¾øÎª¸ÃºòÑ¡ÈËͶƱ

Õâ¸öÐÐΪ±³ºóÊÇleaderÍêȫԭÔò£¬Èç¹ûÒ»¸öÈÕ¼ÇÌõÄ¿ÔÚÒ»¸ö¸ø¶¨ÈÎÆÚÄÚ±»Ìá½»£¬ÄÇôÕâ¸öÌõĿһ¶¨»á³öÏÖÔÚËùÓÐÈÎÆÚºÅ¸ü´óµÄleaderÖС£ËùÓеÄÈÕÖ¾ÌõÄ¿¶¼Ö»»á´Óleader½ÚµãÍùfollower½ÚµãдÈ룬ÇÒleader½ÚµãÉϵÄÈÕÖ¾Ö»»áÔö¼Ó£¬¾ø¶Ô²»»áɾ³ý»òÕ߸²¸Ç

 

   
1589 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]
 
×îÐÂÎÄÕÂ
InfluxDB¸ÅÄîºÍ»ù±¾²Ù×÷
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾ÝдÈë
Éî¶ÈÂþ̸Êý¾Ýϵͳ¼Ü¹¹¡ª¡ªLambda architecture
Lambda¼Ü¹¹Êµ¼ù
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾Ý¶ÁÈ¡
×îпγÌ
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯¡¢¼Ü¹¹Éè¼ÆºÍÔËÐÐά»¤
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
NoSQLÊý¾Ý¿â£¨Ô­Àí¡¢Ó¦Óá¢×î¼Ñʵ¼ù£©
ÆóÒµ¼¶Hadoop´óÊý¾Ý´¦Àí×î¼Ñʵ¼ù
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯×î¼Ñʵ¼ù
³É¹¦°¸Àý
ij½ðÈÚ¹«Ë¾ Mysql¼¯ÈºÓëÐÔÄÜÓÅ»¯
±±¾© ²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
ÖªÃûijÐÅϢͨÐŹ«Ë¾ NoSQL»º´æÊý¾Ý¿â¼¼Êõ
±±¾© oracleÊý¾Ý¿âSQLÓÅ»¯
ÖйúÒÆ¶¯ IaaSÔÆÆ½Ì¨-Ö÷Á÷Êý¾Ý¿â¼°´æ´¢¼¼Êõ