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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
³£Óõķֲ¼Ê½ÊÂÎñ½â¾ö·½°¸
 
  1748  次浏览      29
 2018-10-10
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚCSDN£¬ÎÄÕÂÏêϸ½éÉÜÁËÊáÀí·Ö²¼Ê½ÊÂÎñµÄ»ù±¾¸ÅÄîºÍÀíÂÛ»ù´¡£¬È»ºó½éÉܼ¸ÖÖĿǰ³£Óõķֲ¼Ê½ÊÂÎñ½â¾ö·½°¸µÈ¡£

ʲôÊÇÊÂÎñ£¿

ÊÂÎñÓÉÒ»×é²Ù×÷¹¹³É£¬ÎÒÃÇÏ£ÍûÕâ×é²Ù×÷Äܹ»È«²¿ÕýÈ·Ö´ÐУ¬Èç¹ûÕâÒ»×é²Ù×÷ÖеÄÈÎÒâÒ»¸ö²½Öè·¢Éú´íÎó£¬ÄÇô¾ÍÐèÒª»Ø¹ö֮ǰÒѾ­Íê³ÉµÄ²Ù×÷¡£Ò²¾ÍÊÇͬһ¸öÊÂÎñÖеÄËùÓвÙ×÷£¬ÒªÃ´È«¶¼ÕýÈ·Ö´ÐУ¬ÒªÃ´È«¶¼²»ÒªÖ´ÐС£

ÊÂÎñµÄËÄ´óÌØÐÔ ACID

˵µ½ÊÂÎñ£¬¾Í²»µÃ²»ÌáÒ»ÏÂÊÂÎñÖøÃûµÄËÄ´óÌØÐÔ¡£Ô­×ÓÐÔ

Ô­×ÓÐÔÒªÇó£¬ÊÂÎñÊÇÒ»¸ö²»¿É·Ö¸îµÄÖ´Ðе¥Ôª£¬ÊÂÎñÖеÄËùÓвÙ×÷Ҫôȫ¶¼Ö´ÐУ¬ÒªÃ´È«¶¼²»Ö´ÐС£

Ò»ÖÂÐÔ

Ò»ÖÂÐÔÒªÇó£¬ÊÂÎñÔÚ¿ªÊ¼Ç°ºÍ½áÊøºó£¬Êý¾Ý¿âµÄÍêÕûÐÔÔ¼ÊøÃ»Óб»ÆÆ»µ¡£

¸ôÀëÐÔ

ÊÂÎñµÄÖ´ÐÐÊÇÏ໥¶ÀÁ¢µÄ£¬ËüÃDz»»áÏ໥¸ÉÈÅ£¬Ò»¸öÊÂÎñ²»»á¿´µ½ÁíÒ»¸öÕýÔÚÔËÐйý³ÌÖеÄÊÂÎñµÄÊý¾Ý¡£

³Ö¾ÃÐÔ

³Ö¾ÃÐÔÒªÇó£¬Ò»¸öÊÂÎñÍê³ÉÖ®ºó£¬ÊÂÎñµÄÖ´Ðнá¹û±ØÐëÊdz־û¯±£´æµÄ¡£¼´Ê¹Êý¾Ý¿â·¢Éú±ÀÀ££¬ÔÚÊý¾Ý¿â»Ö¸´ºóÊÂÎñÌá½»µÄ½á¹ûÈÔÈ»²»»á¶ªÊ§¡£ ×¢Ò⣺ÊÂÎñÖ»Äܱ£Ö¤Êý¾Ý¿âµÄ¸ß¿É¿¿ÐÔ£¬¼´Êý¾Ý¿â±¾Éí·¢ÉúÎÊÌâºó£¬ÊÂÎñÌá½»ºóµÄÊý¾ÝÈÔÈ»Äָܻ´£»¶øÈç¹û²»ÊÇÊý¾Ý¿â±¾ÉíµÄ¹ÊÕÏ£¬ÈçÓ²ÅÌËð»µÁË£¬ÄÇôÊÂÎñÌá½»µÄÊý¾Ý¿ÉÄܾͶªÊ§ÁË¡£ÕâÊôÓÚ¡º¸ß¿ÉÓÃÐÔ¡»µÄ·¶³ë¡£Òò´Ë£¬ÊÂÎñÖ»Äܱ£Ö¤Êý¾Ý¿âµÄ¡º¸ß¿É¿¿ÐÔ¡»£¬¶ø¡º¸ß¿ÉÓÃÐÔ¡»ÐèÒªÕû¸öϵͳ¹²Í¬ÅäºÏʵÏÖ¡£

ÊÂÎñµÄ¸ôÀë¼¶±ð

ÕâÀïÀ©Õ¹Ò»Ï£¬¶ÔÊÂÎñµÄ¸ôÀëÐÔ×öÒ»¸öÏêϸµÄ½âÊÍ¡£

ÔÚÊÂÎñµÄËÄ´óÌØÐÔACIDÖУ¬ÒªÇóµÄ¸ôÀëÐÔÊÇÒ»ÖÖÑϸñÒâÒåÉϵĸôÀ룬Ҳ¾ÍÊǶà¸öÊÂÎñÊÇ´®ÐÐÖ´Ðеģ¬±Ë´ËÖ®¼ä²»»áÊܵ½ÈκθÉÈÅ¡£ÕâȷʵÄܹ»ÍêÈ«±£Ö¤Êý¾ÝµÄ°²È«ÐÔ£¬µ«ÔÚʵ¼ÊÒµÎñϵͳÖУ¬ÕâÖÖ·½Ê½ÐÔÄܲ»¸ß¡£Òò´Ë£¬Êý¾Ý¿â¶¨ÒåÁËËÄÖÖ¸ôÀë¼¶±ð£¬¸ôÀë¼¶±ðºÍÊý¾Ý¿âµÄÐÔÄÜÊdzʷ´±ÈµÄ£¬¸ôÀë¼¶±ðÔ½µÍ£¬Êý¾Ý¿âÐÔÄÜÔ½¸ß£¬¶ø¸ôÀë¼¶±ðÔ½¸ß£¬Êý¾Ý¿âÐÔÄÜÔ½²î¡£

ÊÂÎñ²¢·¢Ö´Ðлá³öÏÖµÄÎÊÌâ

ÎÒÃÇÏÈÀ´¿´Ò»ÏÂÔÚ²»Í¬µÄ¸ôÀë¼¶±ðÏ£¬Êý¾Ý¿â¿ÉÄÜ»á³öÏÖµÄÎÊÌ⣺¸üжªÊ§

µ±ÓÐÁ½¸ö²¢·¢Ö´ÐеÄÊÂÎñ£¬¸üÐÂͬһÐÐÊý¾Ý£¬ÄÇôÓпÉÄÜÒ»¸öÊÂÎñ»á°ÑÁíÒ»¸öÊÂÎñµÄ¸üи²¸Çµô¡£

µ±Êý¾Ý¿âûÓмÓÈκÎËø²Ù×÷µÄÇé¿öÏ»ᷢÉú¡£

Ôà¶Á

Ò»¸öÊÂÎñ¶Áµ½ÁíÒ»¸öÉÐδÌá½»µÄÊÂÎñÖеÄÊý¾Ý¡£

¸ÃÊý¾Ý¿ÉÄܻᱻ»Ø¹ö´Ó¶øÊ§Ð§¡£

Èç¹ûµÚÒ»¸öÊÂÎñÄÃ×ÅʧЧµÄÊý¾ÝÈ¥´¦ÀíÄǾͷ¢Éú´íÎóÁË¡£

²»¿ÉÖØ¸´¶Á

²»¿ÉÖØ¸´¶ÈµÄº¬Ò壺һ¸öÊÂÎñ¶ÔͬһÐÐÊý¾Ý¶ÁÁËÁ½´Î£¬È´µÃµ½Á˲»Í¬µÄ½á¹û¡£Ëü¾ßÌå·ÖΪÈçÏÂÁ½ÖÖÇé¿ö£º

Ðé¶Á£ºÔÚÊÂÎñ1Á½´Î¶Áȡͬһ¼Ç¼µÄ¹ý³ÌÖУ¬ÊÂÎñ2¶Ô¸Ã¼Ç¼½øÐÐÁËÐ޸쬴ӶøÊÂÎñ1µÚ¶þ´Î¶Áµ½Á˲»Ò»ÑùµÄ¼Ç¼¡£

»Ã¶Á£ºÊÂÎñ1ÔÚÁ½´Î²éѯµÄ¹ý³ÌÖУ¬ÊÂÎñ2¶Ô¸Ã±í½øÐÐÁ˲åÈ롢ɾ³ý²Ù×÷£¬´Ó¶øÊÂÎñ1µÚ¶þ´Î²éѯµÄ½á¹û·¢ÉúÁ˱仯¡£

²»¿ÉÖØ¸´¶Á Óë Ôà¶Á µÄÇø±ð£¿

Ôà¶Á¶Áµ½µÄÊÇÉÐδÌá½»µÄÊý¾Ý£¬¶ø²»¿ÉÖØ¸´¶Á¶Áµ½µÄÊÇÒѾ­Ìá½»µÄÊý¾Ý£¬Ö»²»¹ýÔÚÁ½´Î¶ÁµÄ¹ý³ÌÖÐÊý¾Ý±»ÁíÒ»¸öÊÂÎñ¸Ä¹ýÁË¡£

Êý¾Ý¿âµÄËÄÖÖ¸ôÀë¼¶±ð

Êý¾Ý¿âÒ»¹²ÓÐÈçÏÂËÄÖÖ¸ôÀë¼¶±ð£ºRead uncommitted ¶ÁδÌá½»

Ôڸü¶±ðÏ£¬Ò»¸öÊÂÎñ¶ÔÒ»ÐÐÊý¾ÝÐ޸ĵĹý³ÌÖУ¬²»ÔÊÐíÁíÒ»¸öÊÂÎñ¶Ô¸ÃÐÐÊý¾Ý½øÐÐÐ޸쬵«ÔÊÐíÁíÒ»¸öÊÂÎñ¶Ô¸ÃÐÐÊý¾Ý¶Á¡£

Òò´Ë±¾¼¶±ðÏ£¬²»»á³öÏÖ¸üжªÊ§£¬µ«»á³öÏÖÔà¶Á¡¢²»¿ÉÖØ¸´¶Á¡£

Read committed ¶ÁÌá½»

Ôڸü¶±ðÏ£¬Î´Ìá½»µÄдÊÂÎñ²»ÔÊÐíÆäËûÊÂÎñ·ÃÎʸÃÐУ¬Òò´Ë²»»á³öÏÖÔà¶Á£»µ«ÊǶÁÈ¡Êý¾ÝµÄÊÂÎñÔÊÐíÆäËûÊÂÎñµÄ·ÃÎʸÃÐÐÊý¾Ý£¬Òò´Ë»á³öÏÖ²»¿ÉÖØ¸´¶ÁµÄÇé¿ö¡£

Repeatable read ÖØ¸´¶Á

Ôڸü¶±ðÏ£¬¶ÁÊÂÎñ½ûֹдÊÂÎñ£¬µ«ÔÊÐí¶ÁÊÂÎñ£¬Òò´Ë²»»á³öÏÖͬһÊÂÎñÁ½´Î¶Áµ½²»Í¬µÄÊý¾ÝµÄÇé¿ö£¨²»¿ÉÖØ¸´¶Á£©£¬ÇÒдÊÂÎñ½ûÖ¹ÆäËûÒ»ÇÐÊÂÎñ¡£

Serializable ÐòÁл¯

¸Ã¼¶±ðÒªÇóËùÓÐÊÂÎñ¶¼±ØÐë´®ÐÐÖ´ÐУ¬Òò´ËÄܱÜÃâÒ»ÇÐÒò²¢·¢ÒýÆðµÄÎÊÌ⣬µ«Ð§Âʺܵ͡£¸ôÀë¼¶±ðÔ½¸ß£¬Ô½Äܱ£Ö¤Êý¾ÝµÄÍêÕûÐÔºÍÒ»ÖÂÐÔ£¬µ«ÊǶԲ¢·¢ÐÔÄܵÄÓ°ÏìÒ²Ô½´ó¡£¶ÔÓÚ¶àÊýÓ¦ÓóÌÐò£¬¿ÉÒÔÓÅÏÈ¿¼ÂǰÑÊý¾Ý¿âϵͳµÄ¸ôÀë¼¶±ðÉèΪRead Committed¡£ËüÄܹ»±ÜÃâÔà¶ÁÈ¡£¬¶øÇÒ¾ßÓнϺõIJ¢·¢ÐÔÄÜ¡£¾¡¹ÜËü»áµ¼Ö²»¿ÉÖØ¸´¶Á¡¢»Ã¶ÁºÍµÚ¶þÀඪʧ¸üÐÂÕâЩ²¢·¢ÎÊÌ⣬ÔÚ¿ÉÄܳöÏÖÕâÀàÎÊÌâµÄ¸ö±ð³¡ºÏ£¬¿ÉÒÔÓÉÓ¦ÓóÌÐò²ÉÓñ¯¹ÛËø»òÀÖ¹ÛËøÀ´¿ØÖÆ¡£

ʲôÊÇ·Ö²¼Ê½ÊÂÎñ£¿

µ½´ËΪֹ£¬Ëù½éÉܵÄÊÂÎñ¶¼ÊÇ»ùÓÚµ¥Êý¾Ý¿âµÄ±¾µØÊÂÎñ£¬Ä¿Ç°µÄÊý¾Ý¿â½öÖ§³Öµ¥¿âÊÂÎñ£¬²¢²»Ö§³Ö¿ç¿âÊÂÎñ¡£¶øËæ×Å΢·þÎñ¼Ü¹¹µÄÆÕ¼°£¬Ò»¸ö´óÐÍÒµÎñϵͳÍùÍùÓÉÈô¸É¸ö×Óϵͳ¹¹³É£¬ÕâЩ×ÓϵͳÓÖÓµÓи÷×Ô¶ÀÁ¢µÄÊý¾Ý¿â¡£ÍùÍùÒ»¸öÒµÎñÁ÷³ÌÐèÒªÓɶà¸ö×Óϵͳ¹²Í¬Íê³É£¬¶øÇÒÕâЩ²Ù×÷¿ÉÄÜÐèÒªÔÚÒ»¸öÊÂÎñÖÐÍê³É¡£ÔÚ΢·þÎñϵͳÖУ¬ÕâЩҵÎñ³¡¾°ÊÇÆÕ±é´æÔڵġ£´Ëʱ£¬ÎÒÃǾÍÐèÒªÔÚÊý¾Ý¿âÖ®ÉÏͨ¹ýijÖÖÊֶΣ¬ÊµÏÖÖ§³Ö¿çÊý¾Ý¿âµÄÊÂÎñÖ§³Ö£¬ÕâÒ²¾ÍÊÇ´ó¼Ò³£ËµµÄ¡°·Ö²¼Ê½ÊÂÎñ¡±¡£

ÕâÀï¾ÙÒ»¸ö·Ö²¼Ê½ÊÂÎñµÄµäÐÍÀý×Ó¡ª¡ªÓû§Ïµ¥¹ý³Ì¡£

µ±ÎÒÃǵÄϵͳ²ÉÓÃÁË΢·þÎñ¼Ü¹¹ºó£¬Ò»¸öµçÉÌϵͳÍùÍù±»²ð·Ö³ÉÈçϼ¸¸ö×Óϵͳ£ºÉÌÆ·ÏµÍ³¡¢¶©µ¥ÏµÍ³¡¢Ö§¸¶ÏµÍ³¡¢»ý·ÖϵͳµÈ¡£Õû¸öϵ¥µÄ¹ý³ÌÈçÏ£ºÓû§Í¨¹ýÉÌÆ·ÏµÍ³ä¯ÀÀÉÌÆ·£¬Ëû¿´ÖÐÁËijһÏîÉÌÆ·£¬±ãµã»÷ϵ¥

´Ëʱ¶©µ¥ÏµÍ³»áÉú³ÉÒ»Ìõ¶©µ¥

¶©µ¥´´½¨³É¹¦ºó£¬Ö§¸¶ÏµÍ³Ìṩ֧¸¶¹¦ÄÜ

µ±Ö§¸¶Íê³Éºó£¬ÓÉ»ý·ÖϵͳΪ¸ÃÓû§Ôö¼Ó»ý·ÖÉÏÊö²½Öè2¡¢3¡¢4ÐèÒªÔÚÒ»¸öÊÂÎñÖÐÍê³É¡£¶ÔÓÚ´«Í³µ¥ÌåÓ¦ÓöøÑÔ£¬ÊµÏÖÊÂÎñ·Ç³£¼òµ¥£¬Ö»Ð轫ÕâÈý¸ö²½Öè·ÅÔÚÒ»¸ö·½·¨AÖУ¬ÔÙÓÃSpringµÄ@Transactional×¢½â±êʶ¸Ã·½·¨¼´¿É¡£Springͨ¹ýÊý¾Ý¿âµÄÊÂÎñÖ§³Ö£¬±£Ö¤ÕâЩ²½ÖèҪôȫ¶¼Ö´ÐÐÍê³É£¬ÒªÃ´È«¶¼²»Ö´ÐС£µ«ÔÚÕâ¸ö΢·þÎñ¼Ü¹¹ÖУ¬ÕâÈý¸ö²½ÖèÉæ¼°Èý¸öϵͳ£¬Éæ¼°Èý¸öÊý¾Ý¿â£¬´ËʱÎÒÃDZØÐëÔÚÊý¾Ý¿âºÍÓ¦ÓÃϵͳ֮¼ä£¬Í¨¹ýijÏîºÚ¿Æ¼¼£¬ÊµÏÖ·Ö²¼Ê½ÊÂÎñµÄÖ§³Ö¡£

CAPÀíÂÛ

CAPÀíÂÛ˵µÄÊÇ£ºÔÚÒ»¸ö·Ö²¼Ê½ÏµÍ³ÖУ¬×î¶àÖ»ÄÜÂú×ãC¡¢A¡¢PÖеÄÁ½¸öÐèÇó¡£

CAPµÄº¬Ò壺C£ºConsistency Ò»ÖÂÐÔ

ͬһÊý¾ÝµÄ¶à¸ö¸±±¾ÊÇ·ñʵʱÏàͬ¡£

A£ºAvailability ¿ÉÓÃÐÔ

¿ÉÓÃÐÔ£ºÒ»¶¨Ê±¼äÄÚ & ϵͳ·µ»ØÒ»¸öÃ÷È·µÄ½á¹û Ôò³ÆÎª¸Ãϵͳ¿ÉÓá£

P£ºPartition tolerance ·ÖÇøÈÝ´íÐÔ

½«Í¬Ò»·þÎñ·Ö²¼ÔÚ¶à¸öϵͳÖУ¬´Ó¶ø±£Ö¤Ä³Ò»¸öϵͳ崻ú£¬ÈÔÈ»ÓÐÆäËûϵͳÌṩÏàͬµÄ·þÎñ¡£CAPÀíÂÛ¸æËßÎÒÃÇ£¬ÔÚ·Ö²¼Ê½ÏµÍ³ÖУ¬C¡¢A¡¢PÈý¸öÌõ¼þÖÐÎÒÃÇ×î¶àÖ»ÄÜÑ¡ÔñÁ½¸ö¡£ÄÇôÎÊÌâÀ´ÁË£¬¾¿¾¹Ñ¡ÔñÄÄÁ½¸öÌõ¼þ½ÏΪºÏÊÊÄØ£¿

¶ÔÓÚÒ»¸öÒµÎñϵͳÀ´Ëµ£¬¿ÉÓÃÐԺͷÖÇøÈÝ´íÐÔÊDZØÐëÒªÂú×ãµÄÁ½¸öÌõ¼þ£¬²¢ÇÒÕâÁ½ÕßÊÇÏศÏà³ÉµÄ¡£ÒµÎñϵͳ֮ËùÒÔʹÓ÷ֲ¼Ê½ÏµÍ³£¬Ö÷ÒªÔ­ÒòÓÐÁ½¸ö£ºÌáÉýÕûÌåÐÔÄÜ

µ±ÒµÎñÁ¿ÃÍÔö£¬µ¥¸ö·þÎñÆ÷ÒѾ­ÎÞ·¨Âú×ãÎÒÃǵÄÒµÎñÐèÇóµÄʱºò£¬¾ÍÐèҪʹÓ÷ֲ¼Ê½ÏµÍ³£¬Ê¹Óöà¸ö½ÚµãÌṩÏàͬµÄ¹¦ÄÜ£¬´Ó¶øÕûÌåÉÏÌáÉýϵͳµÄÐÔÄÜ£¬Õâ¾ÍÊÇʹÓ÷ֲ¼Ê½ÏµÍ³µÄµÚÒ»¸öÔ­Òò¡£

ʵÏÖ·ÖÇøÈÝ´íÐÔ

µ¥Ò»½Úµã »ò ¶à¸ö½Úµã´¦ÓÚÏàͬµÄÍøÂç»·¾³Ï£¬ÄÇô»á´æÔÚÒ»¶¨µÄ·çÏÕ£¬ÍòÒ»¸Ã»ú·¿¶Ïµç¡¢¸ÃµØÇø·¢Éú×ÔÈ»ÔÖº¦£¬ÄÇôҵÎñϵͳ¾ÍÈ«ÃæÌ±»¾ÁË¡£ÎªÁË·ÀÖ¹ÕâÒ»ÎÊÌ⣬²ÉÓ÷ֲ¼Ê½ÏµÍ³£¬½«¶à¸ö×Óϵͳ·Ö²¼ÔÚ²»Í¬µÄµØÓò¡¢²»Í¬µÄ»ú·¿ÖУ¬´Ó¶ø±£Ö¤ÏµÍ³¸ß¿ÉÓÃÐÔ¡£Õâ˵Ã÷·ÖÇøÈÝ´íÐÔÊÇ·Ö²¼Ê½ÏµÍ³µÄ¸ù±¾£¬Èç¹û·ÖÇøÈÝ´íÐÔ²»ÄÜÂú×㣬ÄÇʹÓ÷ֲ¼Ê½ÏµÍ³½«Ê§È¥ÒâÒå¡£

´ËÍ⣬¿ÉÓÃÐÔ¶ÔÒµÎñϵͳҲÓÈÎªÖØÒª¡£ÔÚ´ó̸Óû§ÌåÑéµÄ½ñÌ죬Èç¹ûÒµÎñϵͳʱ³£³öÏÖ¡°ÏµÍ³Òì³£¡±¡¢ÏìӦʱ¼ä¹ý³¤µÈÇé¿ö£¬ÕâʹµÃÓû§¶ÔϵͳµÄºÃ¸Ð¶È´ó´òÕÛ¿Û£¬ÔÚ»¥ÁªÍøÐÐÒµ¾ºÕù¼¤ÁҵĽñÌ죬ÏàͬÁìÓòµÄ¾ºÕùÕß²»Éõö¾Ù£¬ÏµÍ³µÄ¼äЪÐÔ²»¿ÉÓûáÁ¢Âíµ¼ÖÂÓû§Á÷Ïò¾ºÕù¶ÔÊÖ¡£Òò´Ë£¬ÎÒÃÇÖ»ÄÜͨ¹ýÎþÉüÒ»ÖÂÐÔÀ´»»È¡ÏµÍ³µÄ¿ÉÓÃÐԺͷÖÇøÈÝ´íÐÔ¡£ÕâÒ²¾ÍÊÇÏÂÃæÒª½éÉܵÄBASEÀíÂÛ¡£

BASEÀíÂÛ

CAPÀíÂÛ¸æËßÎÒÃÇÒ»¸ö±¯²Òµ«²»µÃ²»½ÓÊܵÄÊÂʵ¡ª¡ªÎÒÃÇÖ»ÄÜÔÚC¡¢A¡¢PÖÐÑ¡ÔñÁ½¸öÌõ¼þ¡£¶ø¶ÔÓÚÒµÎñϵͳ¶øÑÔ£¬ÎÒÃÇÍùÍùÑ¡ÔñÎþÉüÒ»ÖÂÐÔÀ´»»È¡ÏµÍ³µÄ¿ÉÓÃÐԺͷÖÇøÈÝ´íÐÔ¡£²»¹ýÕâÀïÒªÖ¸³öµÄÊÇ£¬ËùνµÄ¡°ÎþÉüÒ»ÖÂÐÔ¡±²¢²»ÊÇÍêÈ«·ÅÆúÊý¾ÝÒ»ÖÂÐÔ£¬¶øÊÇÎþÉüǿһÖÂÐÔ»»È¡ÈõÒ»ÖÂÐÔ¡£ÏÂÃæÀ´½éÉÜÏÂBASEÀíÂÛ¡£BA£ºBasic Available »ù±¾¿ÉÓÃ

Õû¸öϵͳÔÚijЩ²»¿É¿¹Á¦µÄÇé¿öÏ£¬ÈÔÈ»Äܹ»±£Ö¤¡°¿ÉÓÃÐÔ¡±£¬¼´Ò»¶¨Ê±¼äÄÚÈÔÈ»Äܹ»·µ»ØÒ»¸öÃ÷È·µÄ½á¹û¡£Ö»²»¹ý¡°»ù±¾¿ÉÓᱺ͡°¸ß¿ÉÓá±µÄÇø±ðÊÇ£º

¡°Ò»¶¨Ê±¼ä¡±¿ÉÒÔÊʵ±ÑÓ³¤

µ±¾ÙÐдó´Ùʱ£¬ÏìӦʱ¼ä¿ÉÒÔÊʵ±ÑÓ³¤

¸ø²¿·ÖÓû§·µ»ØÒ»¸ö½µ¼¶Ò³Ãæ

¸ø²¿·ÖÓû§Ö±½Ó·µ»ØÒ»¸ö½µ¼¶Ò³Ã棬´Ó¶ø»º½â·þÎñÆ÷ѹÁ¦¡£µ«Òª×¢Ò⣬·µ»Ø½µ¼¶Ò³ÃæÈÔÈ»ÊÇ·µ»ØÃ÷È·½á¹û¡£

S£ºSoft State£ºÈáÐÔ״̬

ͬһÊý¾ÝµÄ²»Í¬¸±±¾µÄ״̬£¬¿ÉÒÔ²»ÐèҪʵʱһÖ¡£

E£ºEventual Consisstency£º×îÖÕÒ»ÖÂÐÔ

ͬһÊý¾ÝµÄ²»Í¬¸±±¾µÄ״̬£¬¿ÉÒÔ²»ÐèҪʵʱһÖ£¬µ«Ò»¶¨Òª±£Ö¤¾­¹ýÒ»¶¨Ê±¼äºóÈÔÈ»ÊÇÒ»Öµġ£

Ëá¼îƽºâ

ACIDÄܹ»±£Ö¤ÊÂÎñµÄǿһÖÂÐÔ£¬¼´Êý¾ÝÊÇʵʱһÖµġ£ÕâÔÚ±¾µØÊÂÎñÖÐÊÇûÓÐÎÊÌâµÄ£¬ÔÚ·Ö²¼Ê½ÊÂÎñÖУ¬Ç¿Ò»ÖÂÐԻἫ´óÓ°Ïì·Ö²¼Ê½ÏµÍ³µÄÐÔÄÜ£¬Òò´Ë·Ö²¼Ê½ÏµÍ³ÖÐ×ñÑ­BASEÀíÂÛ¼´¿É¡£µ«·Ö²¼Ê½ÏµÍ³µÄ²»Í¬ÒµÎñ³¡¾°¶ÔÒ»ÖÂÐÔµÄÒªÇóÒ²²»Í¬¡£Èç½»Ò׳¡¾°Ï£¬¾ÍÒªÇóǿһÖÂÐÔ£¬´Ëʱ¾ÍÐèÒª×ñÑ­ACIDÀíÂÛ£¬¶øÔÚ×¢²á³É¹¦ºó·¢ËͶÌÐÅÑéÖ¤ÂëµÈ³¡¾°Ï£¬²¢²»ÐèҪʵʱһÖ£¬Òò´Ë×ñÑ­BASEÀíÂÛ¼´¿É¡£Òò´ËÒª¸ù¾Ý¾ßÌåÒµÎñ³¡¾°£¬ÔÚACIDºÍBASEÖ®¼äѰÇóÆ½ºâ¡£

·Ö²¼Ê½ÊÂÎñЭÒé

ÏÂÃæ½éÉܼ¸ÖÖʵÏÖ·Ö²¼Ê½ÊÂÎñµÄЭÒé¡£

Á½½×¶ÎÌύЭÒé 2PC

·Ö²¼Ê½ÏµÍ³µÄÒ»¸öÄѵãÊÇÈçºÎ±£Ö¤¼Ü¹¹Ï¶à¸ö½ÚµãÔÚ½øÐÐÊÂÎñÐÔ²Ù×÷µÄʱºò±£³ÖÒ»ÖÂÐÔ¡£ÎªÊµÏÖÕâ¸öÄ¿µÄ£¬¶þ½×¶ÎÌá½»Ëã·¨µÄ³ÉÁ¢»ùÓÚÒÔϼÙÉ裺¸Ã·Ö²¼Ê½ÏµÍ³ÖУ¬´æÔÚÒ»¸ö½Úµã×÷ΪЭµ÷Õß(Coordinator)£¬ÆäËû½Úµã×÷Ϊ²ÎÓëÕß(Cohorts)¡£ÇÒ½ÚµãÖ®¼ä¿ÉÒÔ½øÐÐÍøÂçͨÐÅ¡£

ËùÓнڵ㶼²ÉÓÃԤдʽÈÕÖ¾£¬ÇÒÈÕÖ¾±»Ð´Èëºó¼´±»±£³ÖÔÚ¿É¿¿µÄ´æ´¢É豸ÉÏ£¬¼´Ê¹½ÚµãË𻵲»»áµ¼ÖÂÈÕÖ¾Êý¾ÝµÄÏûʧ¡£

ËùÓнڵ㲻»áÓÀ¾ÃÐÔË𻵣¬¼´Ê¹Ë𻵺óÈÔÈ»¿ÉÒÔ»Ö¸´¡£

1. µÚÒ»½×¶Î£¨Í¶Æ±½×¶Î£©£º

Эµ÷Õß½ÚµãÏòËùÓвÎÓëÕß½ÚµãѯÎÊÊÇ·ñ¿ÉÒÔÖ´ÐÐÌá½»²Ù×÷(vote)£¬²¢¿ªÊ¼µÈ´ý¸÷²ÎÓëÕß½ÚµãµÄÏìÓ¦¡£

²ÎÓëÕß½ÚµãÖ´ÐÐѯÎÊ·¢ÆðΪֹµÄËùÓÐÊÂÎñ²Ù×÷£¬²¢½«UndoÐÅÏ¢ºÍRedoÐÅϢдÈëÈÕÖ¾¡££¨×¢Ò⣺Èô³É¹¦ÕâÀïÆäʵÿ¸ö²ÎÓëÕßÒѾ­Ö´ÐÐÁËÊÂÎñ²Ù×÷£©

¸÷²ÎÓëÕß½ÚµãÏìӦЭµ÷Õ߽ڵ㷢ÆðµÄѯÎÊ¡£Èç¹û²ÎÓëÕß½ÚµãµÄÊÂÎñ²Ù×÷ʵ¼ÊÖ´Ðгɹ¦£¬ÔòËü·µ»ØÒ»¸ö¡±Í¬Ò⡱ÏûÏ¢£»Èç¹û²ÎÓëÕß½ÚµãµÄÊÂÎñ²Ù×÷ʵ¼ÊÖ´ÐÐʧ°Ü£¬ÔòËü·µ»ØÒ»¸ö¡±ÖÐÖ¹¡±ÏûÏ¢¡£

2. µÚ¶þ½×¶Î£¨Ìá½»Ö´Ðн׶Σ©£º

µ±Ð­µ÷Õß½Úµã´ÓËùÓвÎÓëÕß½Úµã»ñµÃµÄÏàÓ¦ÏûÏ¢¶¼Îª¡±Í¬Ò⡱ʱ£ºÐ­µ÷Õß½ÚµãÏòËùÓвÎÓëÕ߽ڵ㷢³ö¡±ÕýʽÌá½»(commit)¡±µÄÇëÇó¡£

²ÎÓëÕß½ÚµãÕýʽÍê³É²Ù×÷£¬²¢ÊÍ·ÅÔÚÕû¸öÊÂÎñÆÚ¼äÄÚÕ¼ÓõÄ×ÊÔ´¡£

²ÎÓëÕß½ÚµãÏòЭµ÷Õ߽ڵ㷢ËÍ¡±Íê³É¡±ÏûÏ¢¡£

Эµ÷Õß½ÚµãÊܵ½ËùÓвÎÓëÕ߽ڵ㷴À¡µÄ¡±Íê³É¡±ÏûÏ¢ºó£¬Íê³ÉÊÂÎñ¡£Èç¹ûÈÎÒ»²ÎÓëÕß½ÚµãÔÚµÚÒ»½×¶Î·µ»ØµÄÏìÓ¦ÏûϢΪ¡±ÖÐÖ¹¡±£¬»òÕß Ð­µ÷Õß½ÚµãÔÚµÚÒ»½×¶ÎµÄѯÎʳ¬Ê±Ö®Ç°ÎÞ·¨»ñÈ¡ËùÓвÎÓëÕß½ÚµãµÄÏìÓ¦ÏûϢʱ£ºÐ­µ÷Õß½ÚµãÏòËùÓвÎÓëÕ߽ڵ㷢³ö¡±»Ø¹ö²Ù×÷(rollback)¡±µÄÇëÇó¡£

²ÎÓëÕß½ÚµãÀûÓÃ֮ǰдÈëµÄUndoÐÅÏ¢Ö´Ðлعö£¬²¢ÊÍ·ÅÔÚÕû¸öÊÂÎñÆÚ¼äÄÚÕ¼ÓõÄ×ÊÔ´¡£

²ÎÓëÕß½ÚµãÏòЭµ÷Õ߽ڵ㷢ËÍ¡±»Ø¹öÍê³É¡±ÏûÏ¢¡£

Эµ÷Õß½ÚµãÊܵ½ËùÓвÎÓëÕ߽ڵ㷴À¡µÄ¡±»Ø¹öÍê³É¡±ÏûÏ¢ºó£¬È¡ÏûÊÂÎñ¡£²»¹Ü×îºó½á¹ûÈçºÎ£¬µÚ¶þ½×¶Î¶¼»á½áÊøµ±Ç°ÊÂÎñ¡£

¶þ½×¶ÎÌá½»¿´ÆðÀ´È·ÊµÄܹ»Ìṩԭ×ÓÐԵIJÙ×÷£¬µ«ÊDz»ÐÒµÄÊ£¬¶þ½×¶ÎÌá½»»¹ÊÇÓм¸¸öȱµãµÄ£ºÖ´Ðйý³ÌÖУ¬ËùÓвÎÓë½Úµã¶¼ÊÇÊÂÎñ×èÈûÐ͵ġ£µ±²ÎÓëÕßÕ¼Óй«¹²×ÊԴʱ£¬ÆäËûµÚÈý·½½Úµã·ÃÎʹ«¹²×ÊÔ´²»µÃ²»´¦ÓÚ×èÈû״̬¡£

²ÎÓëÕß·¢Éú¹ÊÕÏ¡£Ð­µ÷ÕßÐèÒª¸øÃ¿¸ö²ÎÓëÕß¶îÍâÖ¸¶¨³¬Ê±»úÖÆ£¬³¬Ê±ºóÕû¸öÊÂÎñʧ°Ü¡££¨Ã»ÓжàÉÙÈÝ´í»úÖÆ£©

Эµ÷Õß·¢Éú¹ÊÕÏ¡£²ÎÓëÕß»áÒ»Ö±×èÈûÏÂÈ¥¡£ÐèÒª¶îÍâµÄ±¸»ú½øÐÐÈÝ´í¡££¨Õâ¸ö¿ÉÒÔÒÀÀµºóÃæÒª½²µÄPaxosЭÒéʵÏÖHA£©

¶þ½×¶ÎÎÞ·¨½â¾öµÄÎÊÌ⣺Эµ÷ÕßÔÙ·¢³öcommitÏûÏ¢Ö®ºóå´»ú£¬¶øÎ¨Ò»½ÓÊÕµ½ÕâÌõÏûÏ¢µÄ²ÎÓëÕßͬʱҲ崻úÁË¡£ÄÇô¼´Ê¹Ð­µ÷Õßͨ¹ýÑ¡¾ÙЭÒé²úÉúÁËеÄЭµ÷Õߣ¬ÕâÌõÊÂÎñµÄ״̬ҲÊDz»È·¶¨µÄ£¬Ã»ÈËÖªµÀÊÂÎñÊÇ·ñ±»ÒѾ­Ìá½»¡£Îª´Ë£¬Dale SkeenºÍMichael StonebrakerÔÚ¡°A Formal Model of Crash Recovery in a Distributed System¡±ÖÐÌá³öÁËÈý½×¶ÎÌύЭÒ飨3PC£©¡£

Èý½×¶ÎÌύЭÒé 3PC

ÓëÁ½½×¶ÎÌá½»²»Í¬µÄÊÇ£¬Èý½×¶ÎÌá½»ÓÐÁ½¸ö¸Ä¶¯µã¡£ÒýÈ볬ʱ»úÖÆ¡£Í¬Ê±ÔÚЭµ÷ÕߺͲÎÓëÕßÖж¼ÒýÈ볬ʱ»úÖÆ¡£

ÔÚµÚÒ»½×¶ÎºÍµÚ¶þ½×¶ÎÖвåÈëÒ»¸ö×¼±¸½×¶Î¡£±£Ö¤ÁËÔÚ×îºóÌá½»½×¶Î֮ǰ¸÷²ÎÓë½ÚµãµÄ״̬ÊÇÒ»Öµġ£Ò²¾ÍÊÇ˵£¬³ýÁËÒýÈ볬ʱ»úÖÆÖ®Í⣬3PC°Ñ2PCµÄ×¼±¸½×¶ÎÔÙ´ÎÒ»·ÖΪ¶þ£¬ÕâÑùÈý½×¶ÎÌá½»¾ÍÓÐCanCommit¡¢PreCommit¡¢DoCommitÈý¸ö½×¶Î¡£

1. CanCommit½×¶Î

3PCµÄCanCommit½×¶ÎÆäʵºÍ2PCµÄ×¼±¸½×¶ÎºÜÏñ¡£Ð­µ÷ÕßÏò²ÎÓëÕß·¢ËÍcommitÇëÇ󣬲ÎÓëÕßÈç¹û¿ÉÒÔÌá½»¾Í·µ»ØYesÏìÓ¦£¬·ñÔò·µ»ØNoÏìÓ¦¡£ÊÂÎñѯÎÊ

Эµ÷ÕßÏò²ÎÓëÕß·¢ËÍCanCommitÇëÇó¡£Ñ¯ÎÊÊÇ·ñ¿ÉÒÔÖ´ÐÐÊÂÎñÌá½»²Ù×÷¡£È»ºó¿ªÊ¼µÈ´ý²ÎÓëÕßµÄÏìÓ¦¡£

ÏìÓ¦·´À¡

²ÎÓëÕß½Óµ½CanCommitÇëÇóÖ®ºó£¬Õý³£Çé¿öÏ£¬Èç¹ûÆä×ÔÉíÈÏΪ¿ÉÒÔ˳ÀûÖ´ÐÐÊÂÎñ£¬Ôò·µ»ØYesÏìÓ¦£¬²¢½øÈëÔ¤±¸×´Ì¬¡£·ñÔò·´À¡No

2. PreCommit½×¶Î

Эµ÷Õ߸ù¾Ý²ÎÓëÕߵķ´Ó¦Çé¿öÀ´¾ö¶¨ÊÇ·ñ¿ÉÒÔ¼ÇÐÔÊÂÎñµÄPreCommit²Ù×÷¡£¸ù¾ÝÏìÓ¦Çé¿ö£¬ÓÐÒÔÏÂÁ½ÖÖ¿ÉÄÜ¡£

¼ÙÈçЭµ÷Õß´ÓËùÓеIJÎÓëÕß»ñµÃµÄ·´À¡¶¼ÊÇYesÏìÓ¦£¬ÄÇô¾Í»áÖ´ÐÐÊÂÎñµÄÔ¤Ö´ÐС£·¢ËÍÔ¤Ìá½»ÇëÇó

Эµ÷ÕßÏò²ÎÓëÕß·¢ËÍPreCommitÇëÇ󣬲¢½øÈëPrepared½×¶Î¡£

ÊÂÎñÔ¤Ìá½»

²ÎÓëÕß½ÓÊÕµ½PreCommitÇëÇóºó£¬»áÖ´ÐÐÊÂÎñ²Ù×÷£¬²¢½«undoºÍredoÐÅÏ¢¼Ç¼µ½ÊÂÎñÈÕÖ¾ÖС£

ÏìÓ¦·´À¡

Èç¹û²ÎÓëÕ߳ɹ¦µÄÖ´ÐÐÁËÊÂÎñ²Ù×÷£¬Ôò·µ»ØACKÏìÓ¦£¬Í¬Ê±¿ªÊ¼µÈ´ý×îÖÕÖ¸Áî¡£¼ÙÈçÓÐÈκÎÒ»¸ö²ÎÓëÕßÏòЭµ÷Õß·¢ËÍÁËNoÏìÓ¦£¬»òÕߵȴý³¬Ê±Ö®ºó£¬Ð­µ÷Õß¶¼Ã»Óнӵ½²ÎÓëÕßµÄÏìÓ¦£¬ÄÇô¾ÍÖ´ÐÐÊÂÎñµÄÖжϡ£·¢ËÍÖжÏÇëÇó

Эµ÷ÕßÏòËùÓвÎÓëÕß·¢ËÍabortÇëÇó¡£

ÖжÏÊÂÎñ

²ÎÓëÕßÊÕµ½À´×ÔЭµ÷ÕßµÄabortÇëÇóÖ®ºó£¨»ò³¬Ê±Ö®ºó£¬ÈÔδÊÕµ½Ð­µ÷ÕßµÄÇëÇ󣩣¬Ö´ÐÐÊÂÎñµÄÖжϡ£

3. doCommit½×¶Î

¸Ã½×¶Î½øÐÐÕæÕýµÄÊÂÎñÌá½»£¬Ò²¿ÉÒÔ·ÖΪÒÔÏÂÁ½ÖÖÇé¿ö¡£

¸Ã½×¶Î½øÐÐÕæÕýµÄÊÂÎñÌá½»£¬Ò²¿ÉÒÔ·ÖΪÒÔÏÂÁ½ÖÖÇé¿ö¡£

3.1 Ö´ÐÐÌá½»·¢ËÍÌá½»ÇëÇó

Эµ÷½ÓÊÕµ½²ÎÓëÕß·¢Ë͵ÄACKÏìÓ¦£¬ÄÇôËû½«´ÓÔ¤Ìύ״̬½øÈëµ½Ìύ״̬¡£²¢ÏòËùÓвÎÓëÕß·¢ËÍdoCommitÇëÇó¡£

ÊÂÎñÌá½»

²ÎÓëÕß½ÓÊÕµ½doCommitÇëÇóÖ®ºó£¬Ö´ÐÐÕýʽµÄÊÂÎñÌá½»¡£²¢ÔÚÍê³ÉÊÂÎñÌá½»Ö®ºóÊÍ·ÅËùÓÐÊÂÎñ×ÊÔ´¡£

ÏìÓ¦·´À¡

ÊÂÎñÌá½»ÍêÖ®ºó£¬ÏòЭµ÷Õß·¢ËÍAckÏìÓ¦¡£

Íê³ÉÊÂÎñ

Эµ÷Õß½ÓÊÕµ½ËùÓвÎÓëÕßµÄackÏìÓ¦Ö®ºó£¬Íê³ÉÊÂÎñ¡£

3.2 ÖжÏÊÂÎñ

Эµ÷ÕßûÓнÓÊÕµ½²ÎÓëÕß·¢Ë͵ÄACKÏìÓ¦£¨¿ÉÄÜÊǽÓÊÜÕß·¢Ë͵IJ»ÊÇACKÏìÓ¦£¬Ò²¿ÉÄÜÏìÓ¦³¬Ê±£©£¬ÄÇô¾Í»áÖ´ÐÐÖжÏÊÂÎñ¡£·¢ËÍÖжÏÇëÇó

Эµ÷ÕßÏòËùÓвÎÓëÕß·¢ËÍabortÇëÇó

ÊÂÎñ»Ø¹ö

²ÎÓëÕß½ÓÊÕµ½abortÇëÇóÖ®ºó£¬ÀûÓÃÆäÔڽ׶ζþ¼Ç¼µÄundoÐÅÏ¢À´Ö´ÐÐÊÂÎñµÄ»Ø¹ö²Ù×÷£¬²¢ÔÚÍê³É»Ø¹öÖ®ºóÊÍ·ÅËùÓеÄÊÂÎñ×ÊÔ´¡£

·´À¡½á¹û

²ÎÓëÕßÍê³ÉÊÂÎñ»Ø¹öÖ®ºó£¬ÏòЭµ÷Õß·¢ËÍACKÏûÏ¢

ÖжÏÊÂÎñ

Эµ÷Õß½ÓÊÕµ½²ÎÓëÕß·´À¡µÄACKÏûÏ¢Ö®ºó£¬Ö´ÐÐÊÂÎñµÄÖжϡ£

·Ö²¼Ê½ÊÂÎñµÄ½â¾ö·½°¸

·Ö²¼Ê½ÊÂÎñµÄ½â¾ö·½°¸ÓÐÈçϼ¸ÖÖ£ºÈ«¾ÖÏûÏ¢

»ùÓÚ¿É¿¿ÏûÏ¢·þÎñµÄ·Ö²¼Ê½ÊÂÎñ

TCC

×î´óŬÁ¦Í¨Öª

·½°¸1£ºÈ«¾ÖÊÂÎñ£¨DTPÄ£ÐÍ£©

È«¾ÖÊÂÎñ»ùÓÚDTPÄ£ÐÍʵÏÖ¡£DTPÊÇÓÉX/Open×éÖ¯Ìá³öµÄÒ»ÖÖ·Ö²¼Ê½ÊÂÎñÄ£ÐÍ¡ª¡ªX/Open Distributed Transaction Processing Reference Model¡£Ëü¹æ¶¨ÁËҪʵÏÖ·Ö²¼Ê½ÊÂÎñ£¬ÐèÒªÈýÖÖ½ÇÉ«£º AP£ºApplication Ó¦ÓÃϵͳ

Ëü¾ÍÊÇÎÒÃÇ¿ª·¢µÄÒµÎñϵͳ£¬ÔÚÎÒÃÇ¿ª·¢µÄ¹ý³ÌÖУ¬¿ÉÒÔʹÓÃ×ÊÔ´¹ÜÀíÆ÷ÌṩµÄÊÂÎñ½Ó¿ÚÀ´ÊµÏÖ·Ö²¼Ê½ÊÂÎñ¡£

TM£ºTransaction Manager ÊÂÎñ¹ÜÀíÆ÷

·Ö²¼Ê½ÊÂÎñµÄʵÏÖÓÉÊÂÎñ¹ÜÀíÆ÷À´Íê³É£¬Ëü»áÌṩ·Ö²¼Ê½ÊÂÎñµÄ²Ù×÷½Ó¿Ú¹©ÎÒÃǵÄÒµÎñϵͳµ÷Óá£ÕâЩ½Ó¿Ú³ÆÎªTX½Ó¿Ú¡£

ÊÂÎñ¹ÜÀíÆ÷»¹¹ÜÀí×ÅËùÓеÄ×ÊÔ´¹ÜÀíÆ÷£¬Í¨¹ýËüÃÇÌṩµÄXA½Ó¿ÚÀ´Í¬Ò»µ÷¶ÈÕâЩ×ÊÔ´¹ÜÀíÆ÷£¬ÒÔʵÏÖ·Ö²¼Ê½ÊÂÎñ¡£

DTPÖ»ÊÇÒ»Ì×ʵÏÖ·Ö²¼Ê½ÊÂÎñµÄ¹æ·¶£¬²¢Ã»Óж¨Òå¾ßÌåÈçºÎʵÏÖ·Ö²¼Ê½ÊÂÎñ£¬TM¿ÉÒÔ²ÉÓÃ2PC¡¢3PC¡¢PaxosµÈЭÒéʵÏÖ·Ö²¼Ê½ÊÂÎñ¡£

RM£ºResource Manager ×ÊÔ´¹ÜÀíÆ÷

Äܹ»ÌṩÊý¾Ý·þÎñµÄ¶ÔÏ󶼿ÉÒÔÊÇ×ÊÔ´¹ÜÀíÆ÷£¬±ÈÈ磺Êý¾Ý¿â¡¢ÏûÏ¢Öмä¼þ¡¢»º´æµÈ¡£´ó²¿·Ö³¡¾°Ï£¬Êý¾Ý¿â¼´Îª·Ö²¼Ê½ÊÂÎñÖеÄ×ÊÔ´¹ÜÀíÆ÷¡£

×ÊÔ´¹ÜÀíÆ÷Äܹ»Ìṩµ¥Êý¾Ý¿âµÄÊÂÎñÄÜÁ¦£¬ËüÃÇͨ¹ýXA½Ó¿Ú£¬½«±¾Êý¾Ý¿âµÄÌá½»¡¢»Ø¹öµÈÄÜÁ¦Ìṩ¸øÊÂÎñ¹ÜÀíÆ÷µ÷Óã¬ÒÔ°ïÖúÊÂÎñ¹ÜÀíÆ÷ʵÏÖ·Ö²¼Ê½µÄÊÂÎñ¹ÜÀí¡£

XAÊÇDTPÄ£ÐͶ¨ÒåµÄ½Ó¿Ú£¬ÓÃÓÚÏòÊÂÎñ¹ÜÀíÆ÷Ìṩ¸Ã×ÊÔ´¹ÜÀíÆ÷(¸ÃÊý¾Ý¿â)µÄÌá½»¡¢»Ø¹öµÈÄÜÁ¦¡£

DTPÖ»ÊÇÒ»Ì×ʵÏÖ·Ö²¼Ê½ÊÂÎñµÄ¹æ·¶£¬RM¾ßÌåµÄʵÏÖÊÇÓÉÊý¾Ý¿â³§ÉÌÀ´Íê³ÉµÄ¡£

ÓÐûÓлùÓÚDTPÄ£Ð͵ķֲ¼Ê½ÊÂÎñÖмä¼þ£¿

DTPÄ£ÐÍÓÐɶÓÅȱµã£¿

·½°¸2£º»ùÓÚ¿É¿¿ÏûÏ¢·þÎñµÄ·Ö²¼Ê½ÊÂÎñ

ÕâÖÖʵÏÖ·Ö²¼Ê½ÊÂÎñµÄ·½Ê½ÐèҪͨ¹ýÏûÏ¢Öмä¼þÀ´ÊµÏÖ¡£¼ÙÉèÓÐAºÍBÁ½¸öϵͳ£¬·Ö±ð¿ÉÒÔ´¦ÀíÈÎÎñAºÍÈÎÎñB¡£´ËʱϵͳAÖдæÔÚÒ»¸öÒµÎñÁ÷³Ì£¬ÐèÒª½«ÈÎÎñAºÍÈÎÎñBÔÚͬһ¸öÊÂÎñÖд¦Àí¡£ÏÂÃæÀ´½éÉÜ»ùÓÚÏûÏ¢Öмä¼þÀ´ÊµÏÖÕâÖÖ·Ö²¼Ê½ÊÂÎñ¡£

ÔÚϵͳA´¦ÀíÈÎÎñAǰ£¬Ê×ÏÈÏòÏûÏ¢Öмä¼þ·¢ËÍÒ»ÌõÏûÏ¢

ÏûÏ¢Öмä¼þÊÕµ½ºó½«¸ÃÌõÏûÏ¢³Ö¾Ã»¯£¬µ«²¢²»Í¶µÝ¡£´ËʱÏÂÓÎϵͳBÈÔÈ»²»ÖªµÀ¸ÃÌõÏûÏ¢µÄ´æÔÚ¡£

ÏûÏ¢Öмä¼þ³Ö¾Ã»¯³É¹¦ºó£¬±ãÏòϵͳA·µ»ØÒ»¸öÈ·ÈÏÓ¦´ð£»

ϵͳAÊÕµ½È·ÈÏÓ¦´ðºó£¬Ôò¿ÉÒÔ¿ªÊ¼´¦ÀíÈÎÎñA£»

ÈÎÎñA´¦ÀíÍê³Éºó£¬ÏòÏûÏ¢Öмä¼þ·¢ËÍCommitÇëÇ󡣸ÃÇëÇó·¢ËÍÍê³Éºó£¬¶ÔϵͳA¶øÑÔ£¬¸ÃÊÂÎñµÄ´¦Àí¹ý³Ì¾Í½áÊøÁË£¬´ËʱËü¿ÉÒÔ´¦Àí±ðµÄÈÎÎñÁË¡£

µ«commitÏûÏ¢¿ÉÄÜ»áÔÚ´«Êä;ÖжªÊ§£¬´Ó¶øÏûÏ¢Öмä¼þ²¢²»»áÏòϵͳBͶµÝÕâÌõÏûÏ¢£¬´Ó¶øÏµÍ³¾Í»á³öÏÖ²»Ò»ÖÂÐÔ¡£Õâ¸öÎÊÌâÓÉÏûÏ¢Öмä¼þµÄÊÂÎñ»Ø²é»úÖÆÍê³É£¬ÏÂÎÄ»á½éÉÜ¡£

ÏûÏ¢Öмä¼þÊÕµ½CommitÖ¸Áîºó£¬±ãÏòϵͳBͶµÝ¸ÃÏûÏ¢£¬´Ó¶ø´¥·¢ÈÎÎñBµÄÖ´ÐУ»

µ±ÈÎÎñBÖ´ÐÐÍê³Éºó£¬ÏµÍ³BÏòÏûÏ¢Öмä¼þ·µ»ØÒ»¸öÈ·ÈÏÓ¦´ð£¬¸æËßÏûÏ¢Öмä¼þ¸ÃÏûÏ¢ÒѾ­³É¹¦Ïû·Ñ£¬´Ëʱ£¬Õâ¸ö·Ö²¼Ê½ÊÂÎñÍê³É¡£

ÉÏÊö¹ý³Ì¿ÉÒԵóöÈçϼ¸¸ö½áÂÛ£º

1. ÏûÏ¢Öмä¼þ°çÑÝÕß·Ö²¼Ê½ÊÂÎñЭµ÷ÕߵĽÇÉ«¡£

2. ϵͳAÍê³ÉÈÎÎñAºó£¬µ½ÈÎÎñBÖ´ÐÐÍê³ÉÖ®¼ä£¬»á´æÔÚÒ»¶¨µÄʱ¼ä²î¡£ÔÚÕâ¸öʱ¼ä²îÄÚ£¬Õû¸öϵͳ´¦ÓÚÊý¾Ý²»Ò»ÖµÄ״̬£¬µ«Õâ¶ÌÔݵIJ»Ò»ÖÂÐÔÊÇ¿ÉÒÔ½ÓÊܵģ¬ÒòΪ¾­¹ý¶ÌÔݵÄʱ¼äºó£¬ÏµÍ³ÓÖ¿ÉÒÔ±£³ÖÊý¾ÝÒ»ÖÂÐÔ£¬Âú×ãBASEÀíÂÛ¡£

ÉÏÊö¹ý³ÌÖУ¬Èç¹ûÈÎÎñA´¦Àíʧ°Ü£¬ÄÇôÐèÒª½øÈë»Ø¹öÁ÷³Ì£¬ÈçÏÂͼËùʾ£º

ÈôϵͳAÔÚ´¦ÀíÈÎÎñAʱʧ°Ü£¬ÄÇô¾Í»áÏòÏûÏ¢Öмä¼þ·¢ËÍRollbackÇëÇ󡣺ͷ¢ËÍCommitÇëÇóÒ»Ñù£¬ÏµÍ³A·¢ÍêÖ®ºó±ã¿ÉÒÔÈÏΪ»Ø¹öÒѾ­Íê³É£¬Ëü±ã¿ÉÒÔÈ¥×öÆäËûµÄÊÂÇé¡£

ÏûÏ¢Öмä¼þÊÕµ½»Ø¹öÇëÇóºó£¬Ö±½Ó½«¸ÃÏûÏ¢¶ªÆú£¬¶ø²»Í¶µÝ¸øÏµÍ³B£¬´Ó¶ø²»»á´¥·¢ÏµÍ³BµÄÈÎÎñB¡£

´ËʱϵͳÓÖ´¦ÓÚÒ»ÖÂÐÔ״̬£¬ÒòΪÈÎÎñAºÍÈÎÎñB¶¼Ã»ÓÐÖ´ÐС£

ÉÏÃæËù½éÉܵÄCommitºÍRollback¶¼ÊôÓÚÀíÏëÇé¿ö£¬µ«ÔÚʵ¼ÊϵͳÖУ¬CommitºÍRollbackÖ¸Áî¶¼ÓпÉÄÜÔÚ´«Êä;ÖжªÊ§¡£ÄÇôµ±³öÏÖÕâÖÖÇé¿öµÄʱºò£¬ÏûÏ¢Öмä¼þÊÇÈçºÎ±£Ö¤Êý¾ÝÒ»ÖÂÐÔÄØ£¿¡ª¡ª´ð°¸¾ÍÊdz¬Ê±Ñ¯ÎÊ»úÖÆ¡£

ϵͳA³ýÁËʵÏÖÕý³£µÄÒµÎñÁ÷³ÌÍ⣬»¹ÐèÌṩһ¸öÊÂÎñѯÎʵĽӿڣ¬¹©ÏûÏ¢Öмä¼þµ÷Óᣵ±ÏûÏ¢Öмä¼þÊÕµ½Ò»ÌõÊÂÎñÐÍÏûÏ¢ºó±ã¿ªÊ¼¼ÆÊ±£¬Èç¹ûµ½Á˳¬Ê±Ê±¼äҲûÊÕµ½ÏµÍ³A·¢À´µÄCommit»òRollbackÖ¸ÁîµÄ»°£¬¾Í»áÖ÷¶¯µ÷ÓÃϵͳAÌṩµÄÊÂÎñѯÎʽӿÚѯÎʸÃϵͳĿǰµÄ״̬¡£¸Ã½Ó¿Ú»á·µ»ØÈýÖÖ½á¹û£º

Ìá½»

Èô»ñµÃµÄ״̬ÊÇ¡°Ìá½»¡±£¬Ôò½«¸ÃÏûϢͶµÝ¸øÏµÍ³B¡£

»Ø¹ö

Èô»ñµÃµÄ״̬ÊÇ¡°»Ø¹ö¡±£¬ÔòÖ±½Ó½«ÌõÏûÏ¢¶ªÆú¡£

´¦ÀíÖÐ

Èô»ñµÃµÄ״̬ÊÇ¡°´¦ÀíÖС±£¬Ôò¼ÌÐøµÈ´ý¡£

ÏûÏ¢Öмä¼þµÄ³¬Ê±Ñ¯ÎÊ»úÖÆÄܹ»·ÀÖ¹ÉÏÓÎϵͳÒòÔÚ´«Êä¹ý³ÌÖжªÊ§Commit/RollbackÖ¸Áî¶øµ¼ÖµÄϵͳ²»Ò»ÖÂÇé¿ö£¬¶øÇÒÄܽµµÍÉÏÓÎϵͳµÄ×èÈûʱ¼ä£¬ÉÏÓÎϵͳֻҪ·¢³öCommit/RollbackÖ¸Áîºó±ã¿ÉÒÔ´¦ÀíÆäËûÈÎÎñ£¬ÎÞÐèµÈ´ýÈ·ÈÏÓ¦´ð¡£¶øCommit/RollbackÖ¸ÁʧµÄÇé¿öͨ¹ý³¬Ê±Ñ¯ÎÊ»úÖÆÀ´ÃÖ²¹£¬ÕâÑù´ó´ó½µµÍÉÏÓÎϵͳµÄ×èÈûʱ¼ä£¬ÌáÉýϵͳµÄ²¢·¢¶È¡£

ÏÂÃæÀ´ËµÒ»ËµÏûϢͶµÝ¹ý³ÌµÄ¿É¿¿ÐÔ±£Ö¤¡£

µ±ÉÏÓÎϵͳִÐÐÍêÈÎÎñ²¢ÏòÏûÏ¢Öмä¼þÌá½»ÁËCommitÖ¸Áîºó£¬±ã¿ÉÒÔ´¦ÀíÆäËûÈÎÎñÁË£¬´ËʱËü¿ÉÒÔÈÏΪÊÂÎñÒѾ­Íê³É£¬½ÓÏÂÀ´ÏûÏ¢Öмä¼þÒ»¶¨»á±£Ö¤ÏûÏ¢±»ÏÂÓÎϵͳ³É¹¦Ïû·Ñµô£¡ÄÇôÕâÊÇÔõô×öµ½µÄÄØ£¿ÕâÓÉÏûÏ¢Öмä¼þµÄͶµÝÁ÷³ÌÀ´±£Ö¤¡£

ÏûÏ¢Öмä¼þÏòÏÂÓÎϵͳͶµÝÍêÏûÏ¢ºó±ã½øÈë×èÈûµÈ´ý״̬£¬ÏÂÓÎϵͳ±ãÁ¢¼´½øÐÐÈÎÎñµÄ´¦Àí£¬ÈÎÎñ´¦ÀíÍê³Éºó±ãÏòÏûÏ¢Öмä¼þ·µ»ØÓ¦´ð¡£ÏûÏ¢Öмä¼þÊÕµ½È·ÈÏÓ¦´ðºó±ãÈÏΪ¸ÃÊÂÎñ´¦ÀíÍê±Ï£¡

Èç¹ûÏûÏ¢ÔÚͶµÝ¹ý³ÌÖжªÊ§£¬»òÏûÏ¢µÄÈ·ÈÏÓ¦´ðÔÚ·µ»ØÍ¾ÖжªÊ§£¬ÄÇôÏûÏ¢Öмä¼þÔڵȴýÈ·ÈÏÓ¦´ð³¬Ê±Ö®ºó¾Í»áÖØÐÂͶµÝ£¬Ö±µ½ÏÂÓÎÏû·ÑÕß·µ»ØÏû·Ñ³É¹¦ÏìӦΪֹ¡£µ±È»£¬Ò»°ãÏûÏ¢Öмä¼þ¿ÉÒÔÉèÖÃÏûÏ¢ÖØÊԵĴÎÊýºÍʱ¼ä¼ä¸ô£¬±ÈÈ磺µ±µÚÒ»´ÎͶµÝʧ°Üºó£¬Ã¿¸ôÎå·ÖÖÓÖØÊÔÒ»´Î£¬Ò»¹²ÖØÊÔ3´Î¡£Èç¹ûÖØÊÔ3´ÎÖ®ºóÈÔȻͶµÝʧ°Ü£¬ÄÇôÕâÌõÏûÏ¢¾ÍÐèÒªÈ˹¤¸ÉÔ¤¡£

ÓеÄͬѧ¿ÉÄÜÒªÎÊ£ºÏûϢͶµÝʧ°ÜºóΪʲô²»»Ø¹öÏûÏ¢£¬¶øÊDz»¶Ï³¢ÊÔÖØÐÂͶµÝ£¿

Õâ¾ÍÉæ¼°µ½ÕûÌ×·Ö²¼Ê½ÊÂÎñϵͳµÄʵÏֳɱ¾ÎÊÌâ¡£

ÎÒÃÇÖªµÀ£¬µ±ÏµÍ³A½«ÏòÏûÏ¢Öмä¼þ·¢ËÍCommitÖ¸Áîºó£¬Ëü±ãÈ¥×ö±ðµÄÊÂÇéÁË¡£Èç¹û´ËʱÏûϢͶµÝʧ°Ü£¬ÐèÒª»Ø¹öµÄ»°£¬¾ÍÐèÒªÈÃϵͳAÊÂÏÈÌṩ»Ø¹ö½Ó¿Ú£¬ÕâÎÞÒÉÔö¼ÓÁ˶îÍâµÄ¿ª·¢³É±¾£¬ÒµÎñϵͳµÄ¸´ÔÓ¶ÈÒ²½«Ìá¸ß¡£¶ÔÓÚÒ»¸öÒµÎñϵͳµÄÉè¼ÆÄ¿±êÊÇ£¬ÔÚ±£Ö¤ÐÔÄܵÄǰÌáÏ£¬×î´óÏ޶ȵؽµµÍϵͳ¸´ÔÓ¶È£¬´Ó¶øÄܹ»½µµÍϵͳµÄÔËά³É±¾¡£

²»Öª´ó¼ÒÊÇ·ñ·¢ÏÖ£¬ÉÏÓÎϵͳAÏòÏûÏ¢Öмä¼þÌá½»Commit/RollbackÏûÏ¢²ÉÓõÄÊÇÒì²½·½Ê½£¬Ò²¾ÍÊǵ±ÉÏÓÎϵͳÌá½»ÍêÏûÏ¢ºó±ã¿ÉÒÔÈ¥×ö±ðµÄÊÂÇ飬½ÓÏÂÀ´Ìá½»¡¢»Ø¹ö¾ÍÍêÈ«½»¸øÏûÏ¢Öмä¼þÀ´Íê³É£¬²¢ÇÒÍêÈ«ÐÅÈÎÏûÏ¢Öмä¼þ£¬ÈÏΪËüÒ»¶¨ÄÜÕýÈ·µØÍê³ÉÊÂÎñµÄÌá½»»ò»Ø¹ö¡£È»¶ø£¬ÏûÏ¢Öмä¼þÏòÏÂÓÎϵͳͶµÝÏûÏ¢µÄ¹ý³ÌÊÇͬ²½µÄ¡£Ò²¾ÍÊÇÏûÏ¢Öмä¼þ½«ÏûϢͶµÝ¸øÏÂÓÎϵͳºó£¬Ëü»á×èÈûµÈ´ý£¬µÈÏÂÓÎϵͳ³É¹¦´¦ÀíÍêÈÎÎñ·µ»ØÈ·ÈÏÓ¦´ðºó²ÅÈ¡Ïû×èÈûµÈ´ý¡£ÎªÊ²Ã´ÕâÁ½ÕßÔÚÉè¼ÆÉÏÊDz»Ò»ÖµÄÄØ£¿

Ê×ÏÈ£¬ÉÏÓÎϵͳºÍÏûÏ¢Öмä¼þÖ®¼ä²ÉÓÃÒ첽ͨÐÅÊÇΪÁËÌá¸ßϵͳ²¢·¢¶È¡£ÒµÎñϵͳֱ½ÓºÍÓû§´ò½»µÀ£¬Óû§ÌåÑéÓÈÎªÖØÒª£¬Òò´ËÕâÖÖÒ첽ͨÐÅ·½Ê½Äܹ»¼«´ó³Ì¶ÈµØ½µµÍÓû§µÈ´ýʱ¼ä¡£´ËÍ⣬Ò첽ͨÐÅÏà¶ÔÓÚͬ²½Í¨ÐŶøÑÔ£¬Ã»ÓÐÁ˳¤Ê±¼äµÄ×èÈûµÈ´ý£¬Òò´ËϵͳµÄ²¢·¢ÐÔÒ²´ó´óÔö¼Ó¡£µ«Ò첽ͨÐÅ¿ÉÄÜ»áÒýÆðCommit/RollbackÖ¸ÁʧµÄÎÊÌ⣬Õâ¾ÍÓÉÏûÏ¢Öмä¼þµÄ³¬Ê±Ñ¯ÎÊ»úÖÆÀ´ÃÖ²¹¡£

ÄÇô£¬ÏûÏ¢Öмä¼þºÍÏÂÓÎϵͳ֮¼äΪʲôҪ²ÉÓÃͬ²½Í¨ÐÅÄØ£¿

Òì²½ÄÜÌáÉýϵͳÐÔÄÜ£¬µ«ËæÖ®»áÔö¼Óϵͳ¸´ÔÓ¶È£»¶øÍ¬²½ËäÈ»½µµÍϵͳ²¢·¢¶È£¬µ«ÊµÏֳɱ¾½ÏµÍ¡£Òò´Ë£¬ÔÚ¶Ô²¢·¢¶ÈÒªÇó²»ÊǺܸߵÄÇé¿öÏ£¬»òÕß·þÎñÆ÷×ÊÔ´½ÏΪ³äÔ£µÄÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔÑ¡Ôñͬ²½À´½µµÍϵͳµÄ¸´ÔÓ¶È¡£

ÎÒÃÇÖªµÀ£¬ÏûÏ¢Öмä¼þÊÇÒ»¸ö¶ÀÁ¢ÓÚÒµÎñϵͳµÄµÚÈý·½Öмä¼þ£¬Ëü²»ºÍÈκÎÒµÎñϵͳ²úÉúÖ±½ÓµÄñîºÏ£¬ËüÒ²²»ºÍÓû§²úÉúÖ±½ÓµÄ¹ØÁª£¬ËüÒ»°ã²¿ÊðÔÚ¶ÀÁ¢µÄ·þÎñÆ÷¼¯ÈºÉÏ£¬¾ßÓÐÁ¼ºÃµÄ¿ÉÀ©Õ¹ÐÔ£¬ËùÒÔ²»±ØÌ«¹ýÓÚµ£ÐÄËüµÄÐÔÄÜ£¬Èç¹û´¦ÀíËÙ¶ÈÎÞ·¨Âú×ãÎÒÃǵÄÒªÇ󣬿ÉÒÔÔö¼Ó»úÆ÷À´½â¾ö¡£¶øÇÒ£¬¼´Ê¹ÏûÏ¢Öмä¼þ´¦ÀíËÙ¶ÈÓÐÒ»¶¨µÄÑÓ³ÙÄÇÒ²ÊÇ¿ÉÒÔ½ÓÊܵģ¬ÒòÎªÇ°ÃæËù½éÉܵÄBASEÀíÂ۾͸æËßÎÒÃÇÁË£¬ÎÒÃÇ×·ÇóµÄÊÇ×îÖÕÒ»ÖÂÐÔ£¬¶ø·ÇʵʱһÖÂÐÔ£¬Òò´ËÏûÏ¢Öмä¼þ²úÉúµÄʱÑÓµ¼ÖÂÊÂÎñ¶ÌÔݵIJ»Ò»ÖÂÊÇ¿ÉÒÔ½ÓÊܵġ£

·½°¸3£º×î´óŬÁ¦Í¨Öª£¨¶¨ÆÚУ¶Ô£©

×î´óŬÁ¦Í¨ÖªÒ²±»³ÆÎª¶¨ÆÚУ¶Ô£¬ÆäʵÔÚ·½°¸¶þÖÐÒѾ­°üº¬£¬ÕâÀïÔÙµ¥¶À½éÉÜ£¬Ö÷ÒªÊÇΪÁË֪ʶÌåϵµÄÍêÕûÐÔ¡£ÕâÖÖ·½°¸Ò²ÐèÒªÏûÏ¢Öмä¼þµÄ²ÎÓ룬Æä¹ý³ÌÈçÏ£º

ÉÏÓÎϵͳÔÚÍê³ÉÈÎÎñºó£¬ÏòÏûÏ¢Öмä¼þͬ²½µØ·¢ËÍÒ»ÌõÏûÏ¢£¬È·±£ÏûÏ¢Öмä¼þ³É¹¦³Ö¾Ã»¯ÕâÌõÏûÏ¢£¬È»ºóÉÏÓÎϵͳ¿ÉÒÔÈ¥×ö±ðµÄÊÂÇéÁË£»

ÏûÏ¢Öмä¼þÊÕµ½ÏûÏ¢ºó¸ºÔ𽫸ÃÏûϢͬ²½Í¶µÝ¸øÏàÓ¦µÄÏÂÓÎϵͳ£¬²¢´¥·¢ÏÂÓÎϵͳµÄÈÎÎñÖ´ÐУ»

µ±ÏÂÓÎϵͳ´¦Àí³É¹¦ºó£¬ÏòÏûÏ¢Öмä¼þ·´À¡È·ÈÏÓ¦´ð£¬ÏûÏ¢Öмä¼þ±ã¿ÉÒÔ½«¸ÃÌõÏûϢɾ³ý£¬´Ó¶ø¸ÃÊÂÎñÍê³É¡£

ÉÏÃæÊÇÒ»¸öÀíÏ뻯µÄ¹ý³Ì£¬µ«ÔÚʵ¼Ê³¡¾°ÖУ¬ÍùÍù»á³öÏÖÈçϼ¸ÖÖÒâÍâÇé¿ö£º

ÏûÏ¢Öмä¼þÏòÏÂÓÎϵͳͶµÝÏûϢʧ°Ü

ÉÏÓÎϵͳÏòÏûÏ¢Öмä¼þ·¢ËÍÏûϢʧ°Ü

¶ÔÓÚµÚÒ»ÖÖÇé¿ö£¬ÏûÏ¢Öмä¼þ¾ßÓÐÖØÊÔ»úÖÆ£¬ÎÒÃÇ¿ÉÒÔÔÚÏûÏ¢Öмä¼þÖÐÉèÖÃÏûÏ¢µÄÖØÊÔ´ÎÊýºÍÖØÊÔʱ¼ä¼ä¸ô£¬¶ÔÓÚÍøÂç²»Îȶ¨µ¼ÖµÄÏûϢͶµÝʧ°ÜµÄÇé¿ö£¬ÍùÍùÖØÊÔ¼¸´ÎºóÏûÏ¢±ã¿ÉÒԳɹ¦Í¶µÝ£¬Èç¹û³¬¹ýÁËÖØÊÔµÄÉÏÏÞÈÔȻͶµÝʧ°Ü£¬ÄÇôÏûÏ¢Öмä¼þ²»ÔÙͶµÝ¸ÃÏûÏ¢£¬¶øÊǼǼÔÚʧ°ÜÏûÏ¢±íÖУ¬ÏûÏ¢Öмä¼þÐèÒªÌṩʧ°ÜÏûÏ¢µÄ²éѯ½Ó¿Ú£¬ÏÂÓÎϵͳ»á¶¨ÆÚ²éѯʧ°ÜÏûÏ¢£¬²¢½«ÆäÏû·Ñ£¬Õâ¾ÍÊÇËùνµÄ¡°¶¨ÆÚУ¶Ô¡±¡£

Èç¹ûÖØ¸´Í¶µÝºÍ¶¨ÆÚУ¶Ô¶¼²»Äܽâ¾öÎÊÌ⣬ÍùÍùÊÇÒòΪÏÂÓÎϵͳ³öÏÖÁËÑÏÖØµÄ´íÎ󣬴Ëʱ¾ÍÐèÒªÈ˹¤¸ÉÔ¤¡£

¶ÔÓÚµÚ¶þÖÖÇé¿ö£¬ÐèÒªÔÚÉÏÓÎϵͳÖн¨Á¢ÏûÏ¢ÖØ·¢»úÖÆ¡£¿ÉÒÔÔÚÉÏÓÎϵͳ½¨Á¢Ò»Õű¾µØÏûÏ¢±í£¬²¢½« ÈÎÎñ´¦Àí¹ý³Ì ºÍ Ïò±¾µØÏûÏ¢±íÖвåÈëÏûÏ¢ ÕâÁ½¸ö²½Öè·ÅÔÚÒ»¸ö±¾µØÊÂÎñÖÐÍê³É¡£Èç¹ûÏò±¾µØÏûÏ¢±í²åÈëÏûϢʧ°Ü£¬ÄÇô¾Í»á´¥·¢»Ø¹ö£¬Ö®Ç°µÄÈÎÎñ´¦Àí½á¹û¾Í»á±»È¡Ïû¡£Èç¹ûÕâÁ¿²½¶¼Ö´Ðгɹ¦£¬ÄÇô¸Ã±¾µØÊÂÎñ¾ÍÍê³ÉÁË¡£½ÓÏÂÀ´»áÓÐÒ»¸öרÃŵÄÏûÏ¢·¢ËÍÕß²»¶ÏµØ·¢Ëͱ¾µØÏûÏ¢±íÖеÄÏûÏ¢£¬Èç¹û·¢ËÍʧ°ÜËü»á·µ»ØÖØÊÔ¡£µ±È»£¬Ò²Òª¸øÏûÏ¢·¢ËÍÕßÉèÖÃÖØÊÔµÄÉÏÏÞ£¬Ò»°ã¶øÑÔ£¬´ïµ½ÖØÊÔÉÏÏÞÈÔÈ»·¢ËÍʧ°Ü£¬ÄǾÍÒâζ×ÅÏûÏ¢Öмä¼þ³öÏÖÑÏÖØµÄÎÊÌ⣬´ËʱҲֻÓÐÈ˹¤¸ÉÔ¤²ÅÄܽâ¾öÎÊÌâ¡£

¶ÔÓÚ²»Ö§³ÖÊÂÎñÐÍÏûÏ¢µÄÏûÏ¢Öмä¼þ£¬Èç¹ûҪʵÏÖ·Ö²¼Ê½ÊÂÎñµÄ»°£¬¾Í¿ÉÒÔ²ÉÓÃÕâÖÖ·½Ê½¡£ËüÄܹ»Í¨¹ýÖØÊÔ»úÖÆ+¶¨ÆÚУ¶ÔʵÏÖ·Ö²¼Ê½ÊÂÎñ£¬µ«Ïà±ÈÓÚµÚ¶þÖÖ·½°¸£¬Ëü´ïµ½Êý¾ÝÒ»ÖÂÐÔµÄÖÜÆÚ½Ï³¤£¬¶øÇÒ»¹ÐèÒªÔÚÉÏÓÎϵͳÖÐʵÏÖÏûÏ¢ÖØÊÔ·¢²¼»úÖÆ£¬ÒÔÈ·±£ÏûÏ¢³É¹¦·¢²¼¸øÏûÏ¢Öмä¼þ£¬ÕâÎÞÒÉÔö¼ÓÁËÒµÎñϵͳµÄ¿ª·¢³É±¾£¬Ê¹µÃÒµÎñϵͳ²»¹»´¿´â£¬²¢ÇÒÕâЩ¶îÍâµÄÒµÎñÂß¼­ÎÞÒÉ»áÕ¼ÓÃÒµÎñϵͳµÄÓ²¼þ×ÊÔ´£¬´Ó¶øÓ°ÏìÐÔÄÜ¡£

Òò´Ë£¬¾¡Á¿Ñ¡ÔñÖ§³ÖÊÂÎñÐÍÏûÏ¢µÄÏûÏ¢Öмä¼þÀ´ÊµÏÖ·Ö²¼Ê½ÊÂÎñ£¬ÈçRocketMQ¡£

·½°¸4£ºTCC£¨Á½½×¶ÎÐÍ¡¢²¹³¥ÐÍ£©

TCC¼´ÎªTry Confirm Cancel£¬ËüÊôÓÚ²¹³¥ÐÍ·Ö²¼Ê½ÊÂÎñ¡£¹ËÃû˼Ò壬TCCʵÏÖ·Ö²¼Ê½ÊÂÎñÒ»¹²ÓÐÈý¸ö²½Ö裺Try£º³¢ÊÔ´ýÖ´ÐеÄÒµÎñ

Õâ¸ö¹ý³Ì²¢Î´Ö´ÐÐÒµÎñ£¬Ö»ÊÇÍê³ÉËùÓÐÒµÎñµÄÒ»ÖÂÐÔ¼ì²é£¬²¢Ô¤ÁôºÃÖ´ÐÐËùÐèµÄÈ«²¿×ÊÔ´

Confirm£ºÖ´ÐÐÒµÎñ

Õâ¸ö¹ý³ÌÕæÕý¿ªÊ¼Ö´ÐÐÒµÎñ£¬ÓÉÓÚTry½×¶ÎÒѾ­Íê³ÉÁËÒ»ÖÂÐÔ¼ì²é£¬Òò´Ë±¾¹ý³ÌÖ±½ÓÖ´ÐУ¬¶ø²»×öÈκμì²é¡£²¢ÇÒÔÚÖ´ÐеĹý³ÌÖУ¬»áʹÓõ½Try½×¶ÎÔ¤ÁôµÄÒµÎñ×ÊÔ´¡£

Cancel£ºÈ¡ÏûÖ´ÐеÄÒµÎñ

ÈôÒµÎñÖ´ÐÐʧ°Ü£¬Ôò½øÈëCancel½×¶Î£¬Ëü»áÊÍ·ÅËùÓÐÕ¼ÓõÄÒµÎñ×ÊÔ´£¬²¢»Ø¹öConfirm½×¶ÎÖ´ÐеIJÙ×÷¡£

ÏÂÃæÒÔÒ»¸öתÕ˵ÄÀý×ÓÀ´½âÊÍÏÂTCCʵÏÖ·Ö²¼Ê½ÊÂÎñµÄ¹ý³Ì¡£

¼ÙÉèÓû§AÓÃËûµÄÕË»§Óà¶î¸øÓû§B·¢Ò»¸ö100ÔªµÄºì°ü£¬²¢ÇÒÓà¶îϵͳºÍºì°üϵͳÊÇÁ½¸ö¶ÀÁ¢µÄϵͳ¡£

Try

´´½¨Ò»ÌõתÕËÁ÷Ë®£¬²¢½«Á÷Ë®µÄ״̬ÉèΪ½»Ò×ÖÐ

½«Óû§AµÄÕË»§Öп۳ý100Ôª£¨Ô¤ÁôÒµÎñ×ÊÔ´£©

Try³É¹¦Ö®ºó£¬±ã½øÈëConfirm½×¶Î

Try¹ý³Ì·¢ÉúÈκÎÒì³££¬¾ù½øÈëCancel½×¶Î

Confirm

ÏòBÓû§µÄºì°üÕË»§ÖÐÔö¼Ó100Ôª

½«Á÷Ë®µÄ״̬ÉèΪ½»Ò×ÒÑÍê³É

Confirm¹ý³Ì·¢ÉúÈκÎÒì³££¬¾ù½øÈëCancel½×¶Î

Confirm¹ý³ÌÖ´Ðгɹ¦£¬Ôò¸ÃÊÂÎñ½áÊø

Cancel

½«Óû§AµÄÕË»§Ôö¼Ó100Ôª

½«Á÷Ë®µÄ״̬ÉèΪ½»Ò×ʧ°Ü

ÔÚ´«Í³ÊÂÎñ»úÖÆÖУ¬ÒµÎñÂß¼­µÄÖ´ÐкÍÊÂÎñµÄ´¦Àí£¬ÊÇÔÚ²»Í¬µÄ½×¶ÎÓɲ»Í¬µÄ²¿¼þÀ´Íê³ÉµÄ£ºÒµÎñÂß¼­²¿·Ö·ÃÎÊ×ÊԴʵÏÖÊý¾Ý´æ´¢£¬Æä´¦ÀíÊÇÓÉÒµÎñϵͳ¸ºÔð£»ÊÂÎñ´¦Àí²¿·Öͨ¹ýЭµ÷×ÊÔ´¹ÜÀíÆ÷ÒÔʵÏÖÊÂÎñ¹ÜÀí£¬Æä´¦ÀíÓÉÊÂÎñ¹ÜÀíÆ÷À´¸ºÔð¡£¶þÕßûÓÐÌ«¶à½»»¥µÄµØ·½£¬ËùÒÔ£¬´«Í³ÊÂÎñ¹ÜÀíÆ÷µÄÊÂÎñ´¦ÀíÂß¼­£¬½öÐèÒª×ÅÑÛÓÚÊÂÎñÍê³É£¨commit/rollback£©½×¶Î£¬¶ø²»±Ø¹Ø×¢ÒµÎñÖ´Ðн׶Ρ£

TCCÈ«¾ÖÊÂÎñ±ØÐë»ùÓÚRM±¾µØÊÂÎñÀ´ÊµÏÖÈ«¾ÖÊÂÎñ

TCC·þÎñÊÇÓÉTry/Confirm/CancelÒµÎñ¹¹³ÉµÄ£¬

ÆäTry/Confirm/CancelÒµÎñÔÚÖ´ÐÐʱ£¬»á·ÃÎÊ×ÊÔ´¹ÜÀíÆ÷£¨Resource Manager£¬ÏÂÎļò³ÆRM£©À´´æÈ¡Êý¾Ý¡£ÕâЩ´æÈ¡²Ù×÷£¬±ØÐëÒª²ÎÓëRM±¾µØÊÂÎñ£¬ÒÔʹÆä¸ü¸ÄµÄÊý¾ÝҪô¶¼commit£¬ÒªÃ´¶¼rollback¡£

ÕâÒ»µã²»ÄÑÀí½â£¬¿¼ÂÇÒ»ÏÂÈçϳ¡¾°£º

¼ÙÉèͼÖеķþÎñBûÓлùÓÚRM±¾µØÊÂÎñ£¨ÒÔRDBSΪÀý£¬¿Éͨ¹ýÉèÖÃauto-commitΪtrueÀ´Ä£Ä⣩£¬ÄÇôһµ©[B:Try]²Ù×÷ÖÐ;ִÐÐʧ°Ü£¬TCCÊÂÎñ¿ò¼ÜºóÐø¾ö¶¨»Ø¹öÈ«¾ÖÊÂÎñʱ£¬¸Ã[B:Cancel]ÔòÐèÒªÅжÏ[B:Try]ÖÐÄÄЩ²Ù×÷ÒѾ­Ð´µ½DB¡¢ÄÄЩ²Ù×÷»¹Ã»ÓÐдµ½DB£º¼ÙÉè[B:Try]ÒµÎñÓÐ5¸öд¿â²Ù×÷£¬[B:Cancel]ÒµÎñÔòÐèÒªÖð¸öÅжÏÕâ5¸ö²Ù×÷ÊÇ·ñÉúЧ£¬²¢½«ÉúЧµÄ²Ù×÷Ö´Ðз´Ïò²Ù×÷¡£

²»ÐÒµÄÊÇ£¬ÓÉÓÚ[B:Cancel]ÒµÎñÒ²ÓÐn£¨0<=n<=5£©¸ö·´ÏòµÄд¿â²Ù×÷£¬´Ëʱһµ©[B:Cancel]Ò²ÖÐ;³ö´í£¬ÔòºóÐøµÄ[B:Cancel]Ö´ÐÐÈÎÎñ¸ü¼Ó·±ÖØ¡£ÒòΪ£¬Ïà±ÈµÚÒ»´Î[B:Cancel]²Ù×÷£¬ºóÐøµÄ[B:Cancel]²Ù×÷»¹ÐèÒªÅжÏÏÈǰµÄ[B:Cancel]²Ù×÷µÄn£¨0<=n<=5£©¸öд¿âÖÐÄöÒѾ­Ö´ÐС¢Äö»¹Ã»ÓÐÖ´ÐУ¬Õâ¾ÍÉæ¼°µ½ÁËÃݵÈÐÔÎÊÌâ¡£¶ø¶ÔÃݵÈÐԵı£ÕÏ£¬ÓֺܿÉÄÜ»¹Ðè񻃾¼°¶îÍâµÄд¿â²Ù×÷£¬¸Ãд¿â²Ù×÷ÓÖ»áÒòΪûÓÐRM±¾µØÊÂÎñµÄÖ§³Ö¶ø´æÔÚÀàËÆÎÊÌâ¡£¡£¡£¿ÉÏë¶øÖª£¬Èç¹û²»»ùÓÚRM±¾µØÊÂÎñ£¬TCCÊÂÎñ¿ò¼ÜÊÇÎÞ·¨ÓÐЧµÄ¹ÜÀíTCCÈ«¾ÖÊÂÎñµÄ¡£

·´Ö®£¬»ùÓÚRM±¾µØÊÂÎñµÄTCCÊÂÎñ£¬ÕâÖÖÇé¿öÔò»áºÜÈÝÒ×´¦Àí£º[B:Try]²Ù×÷ÖÐ;ִÐÐʧ°Ü£¬TCCÊÂÎñ¿ò¼Ü½«Æä²ÎÓëRM±¾µØÊÂÎñÖ±½Órollback¼´¿É¡£ºóÐøTCCÊÂÎñ¿ò¼Ü¾ö¶¨»Ø¹öÈ«¾ÖÊÂÎñʱ£¬ÔÚÖªµÀ¡°[B:Try]²Ù×÷Éæ¼°µÄRM±¾µØÊÂÎñÒѾ­rollback¡±µÄÇé¿öÏ£¬¸ù±¾ÎÞÐèÖ´ÐÐ[B:Cancel]²Ù×÷¡£

»»¾ä»°Ëµ£¬»ùÓÚRM±¾µØÊÂÎñʵÏÖTCCÊÂÎñ¿ò¼Üʱ£¬Ò»¸öTCCÐÍ·þÎñµÄcancelÒµÎñҪôִÐУ¬ÒªÃ´²»Ö´ÐУ¬²»ÐèÒª¿¼ÂDz¿·ÖÖ´ÐеÄÇé¿ö¡£

TCCÊÂÎñ¿ò¼ÜÓ¦¸ÃÌṩConfirm/Cancel·þÎñµÄÃݵÈÐÔ±£ÕÏ

Ò»°ãÈÏΪ£¬·þÎñµÄÃݵÈÐÔ£¬ÊÇÖ¸Õë¶Ôͬһ¸ö·þÎñµÄ¶à´Î(n>1)ÇëÇóºÍ¶ÔËüµÄµ¥´Î(n=1)ÇëÇ󣬶þÕß¾ßÓÐÏàͬµÄ¸±×÷Óá£

ÔÚTCCÊÂÎñÄ£ÐÍÖУ¬Confirm/CancelÒµÎñ¿ÉÄÜ»á±»ÖØ¸´µ÷Óã¬ÆäÔ­ÒòºÜ¶à¡£±ÈÈ磬ȫ¾ÖÊÂÎñÔÚÌá½»/»Ø¹öʱ»áµ÷Óø÷TCC·þÎñµÄConfirm/CancelÒµÎñÂß¼­¡£Ö´ÐÐÕâЩConfirm/CancelÒµÎñʱ£¬¿ÉÄÜ»á³öÏÖÈçÍøÂçÖжϵĹÊÕ϶øÊ¹µÃÈ«¾ÖÊÂÎñ²»ÄÜÍê³É¡£Òò´Ë£¬¹ÊÕϻָ´»úÖÆºóÐøÈÔÈ»»áÖØÐÂÌá½»/»Ø¹öÕâЩδÍê³ÉµÄÈ«¾ÖÊÂÎñ£¬ÕâÑù¾Í»áÔٴε÷ÓòÎÓë¸ÃÈ«¾ÖÊÂÎñµÄ¸÷TCC·þÎñµÄConfirm/CancelÒµÎñÂß¼­¡£

¼ÈÈ»Confirm/CancelÒµÎñ¿ÉÄܻᱻ¶à´Îµ÷Ó㬾ÍÐèÒª±£ÕÏÆäÃݵÈÐÔ¡£

ÄÇô£¬Ó¦¸ÃÓÉTCCÊÂÎñ¿ò¼ÜÀ´ÌṩÃݵÈÐÔ±£ÕÏ£¿»¹ÊÇÓ¦¸ÃÓÉÒµÎñϵͳ×ÔÐÐÀ´±£ÕÏÃݵÈÐÔÄØ£¿

¸öÈËÈÏΪ£¬Ó¦¸ÃÊÇÓÉTCCÊÂÎñ¿ò¼ÜÀ´ÌṩÃݵÈÐÔ±£ÕÏ¡£Èç¹û½ö½öÖ»ÊǼ«¸ö±ð·þÎñ´æÔÚÕâ¸öÎÊÌâµÄ»°£¬ÄÇôÓÉÒµÎñϵͳÀ´¸ºÔðÒ²ÊÇ¿ÉÒԵģ»È»¶ø£¬ÕâÊÇÒ»À๫¹²ÎÊÌ⣬ºÁÎÞÒÉÎÊ£¬ËùÓÐTCC·þÎñµÄConfirm/CancelÒµÎñ´æÔÚÃݵÈÐÔÎÊÌâ¡£TCC·þÎñµÄ¹«¹²ÎÊÌâÓ¦¸ÃÓÉTCCÊÂÎñ¿ò¼ÜÀ´½â¾ö£»¶øÇÒ£¬¿¼ÂÇÒ»ÏÂÓÉÒµÎñϵͳÀ´¸ºÔðÃݵÈÐÔÐèÒª¿¼ÂǵÄÎÊÌ⣬¾Í»á·¢ÏÖ£¬ÕâÎÞÒÉÔö´óÁËÒµÎñϵͳµÄ¸´ÔÓ¶È¡£

 

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

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

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

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