±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁË΢·þÎñ¼Ü¹¹Ï£¬ÈçºÎ¿Ë·þ·Ö²¼Ê½ÊÂÎñÄÑÌ⣿
±¾ÎÄÀ´×ÔÓÚÖªºõ £¬ÓÉ»ðÁú¹ûÈí¼þlinda±à¼¡¢ÍƼö¡£ |
|
ʲôÊÇ΢·þÎñ£¿Î¢·þÎñÓÐʲôÓÅÊÆºÍÀ§ÄÑ£¿
ʲôÊÇ΢·þÎñ¼Ü¹¹£¿
¼ò¶øÑÔÖ®£¬Î¢·þÎñ¼Ü¹¹µÄϵͳÊÇÒ»¸ö·Ö²¼Ê½µÄϵͳ£¬°´ÒµÎñ½øÐл®·ÖΪ¶ÀÁ¢µÄ·þÎñµ¥Ôª£¬½â¾öµ¥ÌåϵͳµÄ²»×㣬ͬʱҲÂú×ãÔ½À´Ô½¸´ÔÓµÄÒµÎñÐèÇó¡£Ã¿¸ö΢·þÎñ½ö¹Ø×¢ÓÚÍê³ÉÒ»¼þÈÎÎñ²¢ºÜºÃµØÍê³É¸ÃÈÎÎñ¡£
΢·þÎñ¼Ü¹¹µÄÓÅÊÆ
1. ½«¸´ÔÓµÄÒµÎñ²ð·Ö³É¶à¸öСµÄÒµÎñ£¬Ã¿¸öÒµÎñ²ð·Ö³ÉÒ»¸ö·þÎñ£¬½«¸´ÔÓµÄÎÊÌâ¼òµ¥»¯¡£ÀûÓÚ·Ö¹¤£¬½µµÍÐÂÈ˵Äѧϰ³É±¾¡£
2. ΢·þÎñϵͳÊÇ·Ö²¼Ê½ÏµÍ³£¬ÒµÎñÓëÒµÎñÖ®¼äÍêÈ«½âñî£¬Ëæ×ÅÒµÎñµÄÔö¼Ó¿ÉÒÔ¸ù¾ÝÒµÎñÔÙ²ð·Ö£¬¾ßÓм«Ç¿µÄºáÏòÀ©Õ¹ÄÜÁ¦¡£
3. ·þÎñ¼ä²ÉÓà HTTP ÐÒéͨÐÅ£¬·þÎñÓë·þÎñÖ®¼äÍêÈ«¶ÀÁ¢¡£Ã¿¸ö·þÎñ¿ÉÒÔ¸ù¾ÝÒµÎñ³¡¾°Ñ¡È¡ºÏÊʵıà³ÌÓïÑÔºÍÊý¾Ý¿â¡£
4. ·þÎñ¶ÀÁ¢²¿Êð£¬Ã¿¸ö·þÎñµÄÐ޸ĺͲ¿Êð¶ÔÆäËû·þÎñûÓÐÓ°Ïì¡£
ËäȻ΢·þÎñÓÐÒÔÉϵÄÓÅÊÆ£¬µ«ÊÇ΢·þÎñʵ¼ùÈÔ´¦ÓÚ̽Ë÷½×¶Î£¬ºÜ¶àÖÐСÐÍ»¥ÁªÍø¹«Ë¾£¬¼øÓÚ¾Ñé¡¢¼¼ÊõʵÁ¦µÈÎÊÌ⣬΢·þÎñÂ䵨±È½ÏÀ§ÄÑ¡£ÖøÃû¼Ü¹¹Ê¦Chris
RichardsonÖ¸³ö£¬Ä¿Ç°Î¢·þÎñÖ÷Òª´æÈçϼ¸·½ÃæÀ§ÄÑ£º
1. µ¥ÌåÓ¦Óòð·ÖΪ·Ö²¼Ê½ÏµÍ³ºó£¬½ø³Ì¼äµÄͨѶ»úÖÆºÍ¹ÊÕÏ´¦Àí´ëÊ©±äµÄ¸ü¼Ó¸´ÔÓ¡£
2. ϵͳ΢·þÎñ»¯ºó£¬Ò»¸ö¿´ËƼòµ¥µÄ¹¦ÄÜ£¬ÄÚ²¿¿ÉÄÜÐèÒªµ÷Óöà¸ö·þÎñ²¢²Ù×÷¶à¸öÊý¾Ý¿âʵÏÖ£¬·þÎñµ÷Óõķֲ¼Ê½ÊÂÎñÎÊÌâ±äµÄ·Ç³£Í»³ö¡£
3. ΢·þÎñÊýÁ¿Öڶ࣬Æä²âÊÔ¡¢²¿Êð¡¢¼à¿ØµÈ¶¼±äµÄ¸ü¼ÓÀ§ÄÑ¡£
Ëæ×ÅRPC¿ò¼ÜµÄ³ÉÊ죬µÚÒ»¸öÎÊÌâÒѾÖ𽥵õ½½â¾ö¡£ÀýÈçDubbo¿ÉÒÔÖ§³Ö¶àÖÖͨѶÐÒ飬Spring
Cloud¿ÉÒԷdz£ºÃµÄÖ§³Örestfulµ÷Ó᣶ÔÓÚµÚÈý¸öÎÊÌâ£¬Ëæ×ÅDocker¡¢DevOps¼¼ÊõµÄ·¢Õ¹ÒÔ¼°¸÷¹«ÓÐÔÆPaaSƽ̨×Ô¶¯»¯ÔËά¹¤¾ßµÄÍÆ³ö£¬Î¢·þÎñµÄ²âÊÔ¡¢²¿ÊðÓëÔËά»á±äµÃÔ½À´Ô½ÈÝÒס£
¶ø¶ÔÓÚµÚ¶þ¸öÎÊÌ⣬ÏÖÔÚ»¹Ã»ÓÐͨÓ÷½°¸ºÜºÃµÄ½â¾ö΢·þÎñ²úÉúµÄÊÂÎñÎÊÌâ¡£·Ö²¼Ê½ÊÂÎñÒѾ³ÉΪ΢·þÎñÂ䵨×î´óµÄ×è°£¬Ò²ÊÇ×î¾ßÌôÕ½ÐÔµÄÒ»¸ö¼¼ÊõÄÑÌâ¡£ÏÂÃæ½«ÉîÈëºÍ´ó¼Ò̽ÌÖ΢·þÎñ¼Ü¹¹Ï£¬·Ö²¼Ê½ÊÂÎñµÄ¸÷ÖÖ½â¾ö·½°¸¡£
΢·þÎñ¼Ü¹¹Ï£¬ÈçºÎ¿Ë·þ·Ö²¼Ê½ÊÂÎñÄÑÌ⣿
ʲôÊÇÊÂÎñ
ÊÂÎñÊÇÓÉÒ»×éSQLÓï¾ä×é³ÉµÄÂß¼´¦Àíµ¥Ôª£¬ÊÂÎñ¾ßÓÐÒÔÏÂ4¸öÊôÐÔ£¬Í¨³£¼ò³ÆÎªÊÂÎñµÄACIDÊôÐÔ£º
Ô×ÓÐÔ£¨Atomicity£©£ºÊÂÎñÊÇÒ»¸öÔ×Ó²Ù×÷µ¥Ôª£¬Æä¶ÔÊý¾ÝµÄÐ޸ģ¬ÒªÃ´È«¶¼Ö´ÐУ¬ÒªÃ´È«¶¼²»Ö´ÐС£
Ò»ÖÂÐÔ£¨Consistent£©£ºÔÚÊÂÎñ¿ªÊ¼ºÍÍê³Éʱ£¬Êý¾Ý¶¼±ØÐë±£³ÖÒ»ÖÂ״̬¡£ÕâÒâζ×ÅËùÓÐÏà¹ØµÄÊý¾Ý¹æÔò¶¼±ØÐëÓ¦ÓÃÓÚÊÂÎñµÄÐ޸ģ¬ÒÔ±£³ÖÊý¾ÝµÄÍêÕûÐÔ¡£
¸ôÀëÐÔ£¨Isolation£©£ºÊý¾Ý¿âϵͳÌṩһ¶¨µÄ¸ôÀë»úÖÆ£¬±£Ö¤ÊÂÎñÔÚ²»ÊÜÍⲿ²¢·¢²Ù×÷Ó°ÏìµÄ¡°¶ÀÁ¢¡±»·¾³Ö´ÐС£Êý¾Ý¿âÊÂÎñ¸ôÀë¼¶±ðÓɵ͵½¸ßÒÀ´ÎΪRead
uncommitted¡¢Read committed¡¢Repeatable ¡¢Serializable¡£
³Ö¾ÃÐÔ£¨Durability£©£ºÊÂÎñÍê³ÉÖ®ºó£¬Ëü¶ÔÓÚÊý¾ÝµÄÐÞ¸ÄÊÇÓÀ¾ÃÐԵ쬼´Ê¹³öÏÖϵͳ¹ÊÕÏÒ²Äܹ»±£³Ö¡£
·Ö²¼Ê½ÊÂÎñµäÐͳ¡¾°£º
ÒøÐÐתÕËÒµÎñÊÇÒ»¸öµäÐÍ·Ö²¼Ê½ÊÂÎñ³¡¾°£¬Í¨³£°üÀ¨ÒÔÏÂÈýÖÖÇé¿ö£º
A. Ö§ÐÐÄÚתÕË£ºÍ¬Ò»ÒøÐеÄÏà֧ͬÐÐÄÚתÕË
B. ÐÐÄÚתÕË£ºÍ¬Ò»ÒøÐеIJ»Í¬Ö§ÐмäתÕË
C. ¿çÐÐתÕË£º²»Í¬ÒøÐеÄϵͳ½øÐÐתÕË
¶ÔÓÚ´«Í³¼¯ÖÐʽ¼Ü¹¹£¬A¡¢Bͨ³£Îª±¾µØÊÂÎñ£¬CΪ·Ö²¼Ê½ÊÂÎñ¡£ÒµÎñ΢·þÎñ¸ÄÔìºó£¬×ªÈ롢ת³öͨ³£Îª²»Í¬µÄ΢·þÎñ£¬Í¬Ò»¸ö΢·þÎñҲͨ³£ÔËÐÐÓÚ²»Í¬ÊµÀýÖС£A¿ÉÄܱä³ÉÒ»¸ö·Ö²¼Ê½ÊÂÎñ£¬Ò²¿ÉÄÜͨ¹ýһЩ·½·¨¹æ±Ü£¬ÔÚ±¾µØÊÂÎñÄÚÍê³É¡£BºÍCºÜÄѹæ±Ü£¬Ö»ÄÜÊÇ·Ö²¼Ê½ÊÂÎñ¡£
΢·þÎñ×î¼Ñʵ¼ù½¨Ò龡Á¿¹æ±Ü·Ö²¼Ê½ÊÂÎñ£¬µ«ÊÇÔںܶàÒµÎñ³¡¾°£¨±ÈÈçÉÏÃæµÄB¡¢CתÕ˳¡¾°£©£¬·Ö²¼Ê½ÊÂÎñÊÇÒ»¸öÈÆ²»¿ªµÄ¼¼ÊõÎÊÌâ¡£
·Ö²¼Ê½ÊÂÎñ³£Óýâ¾ö·½°¸
ΪÁ˽â¾ö·Ö²¼Ê½ÏµÍ³Ò»ÖÂÐÔÎÊÌ⣬ǰÈËÔÚÐÔÄܺÍÊý¾ÝÒ»ÖÂÐԵķ´·´¸´¸´È¨ºâ¹ý³ÌÖÐ×ܽáÁËÐí¶àµäÐ͵ÄÐÒéºÍËã·¨¡£ÆäÖУ¬×î³£ÓõÄÊÇÁ½½×Ìá½»ÐÒ飨2
Phase Commitment Protocol£©¡£
Á½½×¶ÎÌá½»·½°¸
½»Ò×Öмä¼þÓëÊý¾Ý¿âͨ¹ý XA ½Ó¿Ú¹æ·¶£¬Ê¹ÓÃÁ½½×¶ÎÌá½»À´Íê³ÉÒ»¸öÈ«¾ÖÊÂÎñ£¬ XA ¹æ·¶µÄ»ù´¡ÊÇÁ½½×¶ÎÌá½»ÐÒé¡£
µÚÒ»½×¶ÎÊDZí¾ö½×¶Î£¬ËùÓвÎÓëÕß¶¼½«±¾ÊÂÎñÄÜ·ñ³É¹¦µÄÐÅÏ¢·´À¡·¢¸øÐµ÷Õߣ»µÚ¶þ½×¶ÎÊÇÖ´Ðн׶Σ¬Ðµ÷Õ߸ù¾ÝËùÓвÎÓëÕߵķ´À¡£¬Í¨ÖªËùÓвÎÓëÕߣ¬²½µ÷Ò»ÖµØÔÚËùÓзÖÖ§ÉÏÌá½»»òÕ߻عö¡£

Á½½×¶ÎÌá½»·½°¸Ó¦Ó÷dz£¹ã·º£¬µäÐÍÉÌÓÃÈí¼þ°üÀ¨Oracle TuxedoºÍIBM CICS¡£ËüµÄÓŵãÊǶÔÒµÎñ´úÂëÇÖÈë½ÏµÍ£¬µ«È±µãÒ²ºÜÃ÷ÏÔ£º
ÐÔÄܵÍÏ£ºÓÉÓÚ XA ÐÒé×ÔÉíµÄÌØµã£¬Ëü»áÔì³ÉÊÂÎñ×ÊÔ´³¤Ê±¼äµÃ²»µ½ÊÍ·Å£¬Ëø¶¨ÖÜÆÚ³¤£¬¶øÇÒÔÚÓ¦ÓòãÉÏÃæÎÞ·¨¸ÉÔ¤£¬Êý¾Ý²¢·¢³åÍ»¸ßµÄ³¡¾°ÐÔÄܺܲ
µ¥µãÎÊÌ⣺е÷ÕßÔÚÕû¸öÁ½½×¶ÎÌá½»¹ý³ÌÖаçÑÝמÙ×ãÇáÖØµÄ×÷Óã¬Ò»µ©Ðµ÷ÕßËùÔÚ·þÎñÆ÷å´»ú£¬¾Í»áÓ°ÏìÕû¸öÊý¾Ý¿â¼¯ÈºµÄÕý³£ÔËÐС£±ÈÈçÔÚµÚ¶þ½×¶ÎÖУ¬Èç¹ûе÷ÕßÒòΪ¹ÊÕϲ»ÄÜÕý³£·¢ËÍÊÂÎñÌá½»»ò»Ø¹ö֪ͨ£¬ÄÇô²ÎÓëÕßÃǽ«Ò»Ö±´¦ÓÚ×èÈû״̬¡£
ͬ²½×èÈû£ºÁ½½×¶ÎÌá½»Ö´Ðйý³ÌÖУ¬ËùÓеIJÎÓëÕß¶¼ÐèÒªÌý´Óе÷ÕßµÄͳһµ÷¶È£¬ÆÚ¼ä´¦ÓÚ×èÈû״̬¶ø²»ÄÜ´ÓÊÂÆäËû²Ù×÷£¬Ð§Âʼ°ÆäµÍÏ¡£
Òò´Ë£¬Á½½×¶ÎÌá½»·½°¸ÔÚ»¥ÁªÍøÒµÎñÖкÜÉÙʹÓã¬ÎÞ·¨Âú×ã¸ß²¢·¢ÐèÇó¡£
ΪÁËÕâ¸öÃÖ²¹ÕâÖÖ·½°¸´øÀ´ÐÔÄܵ͵ÄÎÊÌ⣬´ó¼ÒÓÖÏë³öÁ˺ܶàÖÖ·½°¸À´½â¾ö£¬Í¨¹ýÔÚÓ¦Óòã×öÎÄÕ£¬¼´ÈëÇÖÒµÎñµÄ·½Ê½£¬±È½ÏµäÐ͵ÄÊÇTCC
·½°¸ºÍ»ùÓÚ¿É¿¿ÏûÏ¢µÄ×îÖÕÒ»ÖÂÐÔ·½°¸¡£
TCCÊÂÎñ·½°¸
TCCÊÂÎñÄ£ÐÍÔÚµçÉÌ¡¢½ðÈÚÁìÓòÂ䵨½Ï¶à¡£TCC·½°¸ÆäʵÊÇÁ½½×¶ÎÌá½»µÄÒ»ÖָĽø¡£Æä½«Õû¸öÒµÎñÂß¼µÄÿ¸ö·ÖÖ§ÏÔʽµÄ·Ö³ÉÁËTry¡¢Confirm¡¢CancelÈý¸ö²Ù×÷¡£Try²¿·ÖÍê³ÉÒµÎñµÄ×¼±¸¹¤×÷£¬confirm²¿·ÖÍê³ÉÒµÎñµÄÌá½»£¬cancel²¿·ÖÍê³ÉÊÂÎñµÄ»Ø¹ö¡£»ù±¾ÔÀíÈçÏÂͼËùʾ¡£

ÊÂÎñ¿ªÊ¼Ê±£¬ÒµÎñÓ¦ÓûáÏòÊÂÎñе÷Æ÷×¢²áÆô¶¯ÊÂÎñ¡£Ö®ºóÒµÎñÓ¦Óûáµ÷ÓÃËùÓзþÎñµÄtry½Ó¿Ú£¬Íê³ÉÒ»½×¶Î×¼±¸¡£Ö®ºóÊÂÎñе÷Æ÷»á¸ù¾Ýtry½Ó¿Ú·µ»ØÇé¿ö£¬¾ö¶¨µ÷ÓÃconfirm½Ó¿Ú»òÕßcancel½Ó¿Ú¡£Èç¹û½Ó¿Úµ÷ÓÃʧ°Ü£¬»á½øÐÐÖØÊÔ¡£
TCC·½°¸ÈÃÓ¦ÓÃ×Ô¼º¶¨ÒåÊý¾Ý¿â²Ù×÷µÄÁ£¶È£¬Ê¹µÃ½µµÍËø³åÍ»¡¢Ìá¸ßÍÌÍÂÁ¿³ÉΪ¿ÉÄÜ£¬±ÈÈ绪Ϊ·Ö²¼Ê½ÊÂÎñÖмä¼þDTMÐÔÄܼ«¸ß£¬ÆÕͨÅäÖ÷þÎñÆ÷¿ÉÒÔÖ§³ÖÈ«¾ÖÊÂÎñ1Íò+
TPS£¬·ÖÖ§ÊÂÎñ3Íò+ TPS¡£ µ±È»TCC·½°¸Ò²Óв»×ãÖ®´¦£¬¼¯ÖбíÏÖÔÚÒÔÏÂÁ½¸ö·½Ã棺
ÒµÎñÇÖÈëÐÔÇ¿¡£ÒµÎñÂß¼µÄÿ¸ö·ÖÖ§¶¼ÐèҪʵÏÖtry¡¢confirm¡¢cancelÈý¸ö²Ù×÷£¬Ó¦ÓÃÇÖÈëÐÔ½ÏÇ¿£¬¸ÄÔì³É±¾¸ß¡£
ʵÏÖÄѶȽϴó¡£ÎªÁËÂú×ãÒ»ÖÂÐÔµÄÒªÇó£¬Òª³ä·Ö¿¼ÂÇÃݵȲÙ×÷£¬ÔÊÐíÖØ¸´Ö´ÐУ¬Ò²Òª·ÀÖ¹×ÊÔ´Ðü¹Ò£¬×öºÃ²¢·¢·ÃÎÊ¿ØÖƺÍÊý¾Ý¿É¼ûÐÔ¿ØÖƵȡ£
ÉÏÊöÔÒòµ¼ÖÂTCC·½°¸´ó¶à±»Ñз¢ÊµÁ¦½ÏÇ¿¡¢ÓÐÆÈÇÐÐèÇóµÄ´ó¹«Ë¾Ëù²ÉÓá£Î¢·þÎñ³«µ¼·þÎñµÄÇáÁ¿»¯£¬¶øTCC·½°¸ÖкܶàÊÂÎñµÄ´¦ÀíÂß¼ÐèÒªÓ¦ÓÃ×Ô¼º±àÂëʵÏÖ£¬¸´ÔÓÇÒ¿ª·¢Á¿´ó¡£
»ùÓÚÏûÏ¢µÄ×îÖÕÒ»ÖÂÐÔ·½°¸
ÏûÏ¢Ò»ÖÂÐÔ·½°¸ÊÇͨ¹ýÏûÏ¢Öмä¼þ±£Ö¤ÉÏÏÂÓÎÓ¦ÓÃÊý¾Ý²Ù×÷µÄÒ»ÖÂÐÔ¡£»ù±¾Ë¼Â·Êǽ«±¾µØ²Ù×÷ºÍ·¢ËÍÏûÏ¢·ÅÔÚÒ»¸ö±¾µØÊÂÎñÖУ¬±£Ö¤±¾µØ²Ù×÷ºÍÏûÏ¢·¢ËÍҪôÁ½Õß¶¼³É¹¦»òÕß¶¼Ê§°Ü¡£ÏÂÓÎÓ¦ÓÃÏòÏûϢϵͳ¶©ÔĸÃÏûÏ¢£¬ÊÕµ½ÏûÏ¢ºóÖ´ÐÐÏàÓ¦²Ù×÷¡£

ÏûÏ¢×îÖÕÒ»Ö·½°¸´Ó±¾ÖÊÉϽ²Êǽ«·Ö²¼Ê½ÊÂÎñת»»ÎªÁ½¸ö±¾µØÊÂÎñ£¬È»ºóÒÀ¿¿ÏÂÓÎÒµÎñµÄÖØÊÔ»úÖÆ´ïµ½×îÖÕÒ»ÖÂÐÔ¡£»ùÓÚÏûÏ¢µÄ×îÖÕÒ»ÖÂÐÔ·½°¸¶ÔÓ¦ÓÃÇÖÈëÐÔÒ²ºÜ¸ß£¬Ó¦ÓÃÐèÒª½øÐдóÁ¿ÒµÎñ¸ÄÔ죬³É±¾·Ç³£¸ß¡£
ÈëÇÖ´úÂëµÄ·½°¸ÊÇ»ùÓÚÏÖÓÐÇéÐΡ°ÆÈ²»µÃÒÑ¡±²ÅÍÆ³öµÄ½â¾ö·½°¸£¬Êµ¼ÊÉÏËüÃÇʵÏÖÆðÀ´·Ç³£²»ÓÅÑÅ£¬±ÈÈçTCC£¬Ò»¸öÊÂÎñµÄµ÷ÓÃͨ³£°éËæ¶øÀ´µÄÊǶԸÃÊÂÎñ½Ó¿ÚÔö¼ÓһϵÁеķ´Ïò²Ù×÷£¬Ìá½»Âß¼±ØÈ»°éËæ×ŻعöµÄÂß¼£¬ÕâÑùµÄ´úÂë»áʹµÃÏîÄ¿·Ç³£Ó·Ö×£¬Î¬»¤³É±¾¸ß¡£
Õë¶ÔÉÏÃæËù˵µÄ·Ö²¼Ê½ÊÂÎñ½â¾ö·½°¸µÄÍ´µã£¬ºÜÏÔÈ»£¬ÎÒÃÇÀíÏëµÄ·Ö²¼Ê½ÊÂÎñ½â¾ö·½°¸¿Ï¶¨ÊÇÐÔÄÜÒªºÃ¶øÇÒÒª¶ÔÒµÎñÎÞÇÖÈ룬ҵÎñ²ãÎÞÐè¹ØÐÄ·Ö²¼Ê½ÊÂÎñ»úÖÆµÄÔ¼Êø£¬×öµ½ÊÂÎñÓëÒµÎñ·ÖÀ룬Ҳ¾ÍÊDZ¾ÎÄËùÖØµãÍÆ¼öµÄ·ÇÇÖÈëÊÂÎñ¡£
·ÇÇÖÈëÊÂÎñ·½°¸
a. µäÐͼܹ¹
·ÇÇÖÈëÊÂÎñµäÐͼܹ¹ÈçÏÂͼËùʾ£º

ÊÂÎñºËÐÄ×é¼þ°üÀ¨£º
Transaction Coordinator (TC)£º ÊÂÎñе÷Æ÷£¬·Ö²¼Ê½ÊÂÎñ´óÄÔ£¬²úÉúºÍά»¤È«¾ÖÊÂÎñ¡¢·ÖÖ§ÊÂÎñ£¬ÍƽøÊÂÎñÌá½»Óë»Ø¹öµÄ¶þ½×¶Î´¦Àí¡£TC
ServerÒÔ¼¯ÈºÐÎʽÌṩÊÂÎñе÷ÄÜÁ¦¡£
Transaction Manager (TM)£º ¶¨ÒåÈ«¾ÖÊÂÎñµÄ±ß½ç£¬ÓëÊÂÎñе÷Æ÷ͨÐÅÒÔ¿ªÆô¡¢Ìá½»»ò»Ø¹öÈ«¾ÖÊÂÎñ¡£
Resource Manager (RM)£º ×ÊÔ´¹ÜÀíÆ÷£¬¹ÜÀí·ÖÖ§ÊÂÎñ´¦ÀíµÄ×ÊÔ´£¬ÓëÊÂÎñе÷Æ÷ͨÐÅÒÔ¿ªÆô¡¢½áÊøÊÂÎñ·ÖÖ§£¬²¢½ÓÊÕÊÂÎñе÷Æ÷Ö¸ÁîÍê³É¶þ½×¶Î·ÖÖ§ÊÂÎñÌá½»»ò»Ø¹ö¡£
Lock Server £¨LS£©£º ·Ö²¼Ê½Ëø·þÎñÆ÷£¬¿ÉÒÔͨ¹ýËü¶Ô½øÐÐÖеķֲ¼Ê½ÊÂÎñËù²Ù×÷µÄ×ÊÔ´²éѯ¡¢¼ÓËø¡¢·ÅËø¡£
Ò»¸ö·Ö²¼Ê½ÊÂÎñ³ÆÎªÒ»¸öÈ«¾ÖÊÂÎñ£¬ÏÂÃæ¹ÒÈô¸É¸ö·ÖÖ§ÊÂÎñ£¬Ò»¸ö·ÖÖ§ÊÂÎñÊÇÒ»¸öÂú×ã ACID µÄ±¾µØÊÂÎñ¡£·ÇÇÖÈëÊÂÎñµÄºËÐÄ˼ÏëÊÇ×ÊÔ´¹ÜÀíÆ÷À¹½ØÒµÎñSQL£¬¶ÔÆä½âÎö²¢×ö¶îÍâµÄһЩÊý¾Ý´¦Àí£¬²úÉúundo
log²¢±£´æ£¬Ò»µ©·¢ÉúÈ«¾ÖÊÂÎñ»Ø¹ö£¬Í¨¹ý¸÷¸ö·ÖÖ§ÊÂÎñ¶ÔÓ¦µÄundo logÍê³ÉËùÓзÖÖ§ÊÂÎñ»Ø¹ö¡£
´ó¼ÒºÜÈÝÒ×Ïëµ½£¬Á½¸öÈ«¾ÖÊÂÎñ²¢ÐÐÐÞ¸ÄÁËÏàͬÊý¾Ý£¬¿ÉÄÜ»áÔì³É¸ù¾Ýundo logÍê³É»Ø¹ö²úÉúÊý¾Ý´íÎó¡£½â¾öµÄ·½·¨ÊÇͨ¹ýLock
Server¶ÔÊÂÎñËùÐÞ¸ÄÊý¾Ý¼ÓËø£¬È«¾ÖÊÂÎñÌá½»ºóÁ¢¼´·ÅËø£¬È«¾ÖÊÂÎñ»Ø¹öÔòµÈ´ý·ÖÖ§ÊÂÎñ»Ø¹öÍê³É·ÅËø¡£
b. µäÐÍÁ÷³Ì
µäÐÍ·Ö²¼Ê½ÊÂÎñÖ÷ÒªÖ´Ðв½ÖèÈçÏ£º
1.TMÇëÇóTC¿ªÊ¼ÐµÄÈ«¾ÖÊÂÎñ£¬TC´´½¨È«¾ÖÊÂÎñ²¢·µ»ØÈ«¾ÖÊÂÎñID£¨XID£©¡£
2.¸ù¾ÝXID¹¹½¨ÊÂÎñÉÏÏÂÎÄ£¬Í¨¹ý΢·þÎñµÄµ÷ÓÃÁ´´«²¥¡£
3.RM·¢ÏÖ×Ô¼º´¦ÓÚÊÂÎñÉÏÏÂÎÄ£¬µÃµ½È«¾ÖÊÂÎñID²¢½âÎöSQL£¬²úÉúundo logºÍ·Ö²¼Ê½ÊÂÎñËøÊý¾Ý£¬ÇëÇóTC´´½¨·ÖÖ§ÊÂÎñ¡£
4.TC ͨ¹ýLS¼ÓËø£¬¼ÓËø³É¹¦ºó´´½¨·ÖÖ§ÊÂÎñID²¢·µ»Ø¡£
5.RM °Ñ·ÖÖ§ÊÂÎñIDÓëundo log¹ØÁª£¬ÓëÒµÎñÔʼSQLÔÚÒ»¸ö±¾µØÊÂÎñÄÚÌá½»¡£
6.ÖØ¸´3~5£¬ÎªÈ«¾ÖÊÂÎñ·¶Î§ÄÚµÄÿ¸ö±¾µØÊÂÎñ´´½¨Ò»¸ö·ÖÖ§ÊÂÎñ¡£
7.Èç¹ûÈ«¾ÖÊÂÎñ±ß½çÄÚûÓÐÈκÎÒì³££¬ÔòTMÇëÇóTCÌύȫ¾ÖÊÂÎñ£»Èç¹ûÓÐÒì³££¬ÔòTMÇëÇóTC»Ø¹öÈ«¾ÖÊÂÎñ¡£
8. TC±ê¼ÇÈ«¾ÖÊÂÎñ״̬£¬Èç¹ûΪÌá½»ÔòÁ¢¼´Í¨¹ýLS·ÅËø¡£ÍƽøXIDËù¶ÔӦȫ¾ÖÊÂÎñϵÄËùÓзÖÖ§ÊÂÎñ½øÐжþ½×¶Î´¦Àí£¬·¢ËÍÇëÇóµ½RM¡£
9.RMÍê³É·ÖÖ§ÊÂÎñµÄÌá½»»ò»Ø¹ö£¬²¢·µ»Ø×´Ì¬µ½TC¡£
10.TC¶ÔÍê³É»Ø¹öµÄ·Ö֧ͨ¹ýLS·ÅËø¡£ËùÓзÖÖ§Íê³Éºó£¬·µ»ØÈ«¾ÖÊÂÎñ´¦Àí½á¹ûµ½TM¡£
¶þ½×¶ÎÊÂÎñ´¦Àí±È½Ï¹Ø¼ü£¬ÔÚ´ËÖØµã˵Ã÷һϡ£
c. ·ÖÖ§ÊÂÎñÌá½»
Èç¹ûÈ«¾ÖÊÂÎñ״̬ΪÌá½»£¬Ôò¶Ôÿ¸ö·ÖÖ§·¢Æð·ÖÖ§Ìá½»£¬Á÷³ÌÈçÏÂͼËùʾ£º

RMÊÕµ½·ÖÖ§ÊÂÎñÌá½»ÇëÇó£¬Ïȱ£´æ·ÖÖ§ÊÂÎñµÄIDÔÚ¶ÓÁÐÖв¢·µ»Ø¡£Ò»¸öÏ̶߳¨Ê±´Ó¶ÓÁÐÖÐÈ¡³öÒ»Åú·ÖÖ§ÊÂÎñID£¬¹¹½¨SQLÅúÁ¿É¾³ýËù¶ÔÓ¦µÄundo
logÈÕÖ¾¡£·ÖÖ§ÊÂÎñÌá½»¿ÉÒÔÒì²½ÅúÁ¿´¦Àí£¬ÊÇÒòΪȫ¾ÖÊÂÎñÒѾÌá½»£¬undo log×÷ΪÖмä״̬ÒѾ²»ÔÙÖØÒª£¬Ö»Òª¶¨ÆÚÇåÀí¼´¿É¡£
d. ·ÖÖ§ÊÂÎñ»Ø¹ö
Èç¹ûÈ«¾ÖÊÂÎñ״̬Ϊ»Ø¹ö»ò³¬Ê±£¬Ôò¶Ôÿ¸ö·ÖÖ§·¢Æð·ÖÖ§»Ø¹ö£¬Á÷³ÌÈçÏÂͼËùʾ£º

RMÊÕµ½·ÖÖ§ÊÂÎñ»Ø¹öÇëÇ󣬿ªÆôÒ»¸ö±¾µØÊÂÎñ£¬Í¨¹ý·ÖÖ§IDÕÒµ½¶ÔÓ¦µÄundo log£¬¹¹½¨»Ø¹öSQLÓï¾ä²¢Ö´ÐУ¬É¾³ýundo
log£¬È»ºóÌá½»±¾µØÊÂÎñ¡£Èç¹û˳ÀûÍê³É£¬TCÊÕµ½ÏìÓ¦ºóͨ¹ýLSÇåÀí¸Ã·ÖÖ§ËùÕ¼ÓÃ×ÊÔ´¡£
e. ÐÔÄÜ·ÖÎö
·ÇÇÖÈëÊÂÎñÏà±ÈXAÁ½½×¶ÎÌá½»Ò»¸öÖØÒªÐÔÄÜÓÅÊÆÔÚÓÚËø¶¨×ÊԴʱ¼ä¸ü¶Ì¡£Êµ¼ÊÒµÎñÖУ¬ÎÒÃÇÖªµÀ¾ø´ó¶àÊýÊÂÎñ״̬ΪÌá½»£¬ºÜÉÙ±ÈÀýΪ»Ø¹ö¡£¶ÔÓÚXAÀ´Ëµ£¬ÎÞÂÛÊÇÌá½»»¹Êǻعö£¬×ÊÔ´¶¼ÊÇÔÚ¶þ½×¶ÎÊÍ·Å¡£¶Ô±¾ÎÄËù½éÉܵķÇÇÖÈëÊÂÎñÀ´Ëµ£¬Ìύ״̬µÄÈ«¾ÖÊÂÎñ£¬¶þ½×¶ÎûÓбØÒªÄÃËø£¬Ö»ÓÐÉÙ±ÈÀýµÄ»Ø¹ö״̬µÄÈ«¾ÖÊÂÎñ£¬²ÅÐèÒªÔÚ¶þ½×¶Î·ÅËø¡£
·ÇÇÖÈëÊÂÎñ²»ÊÜÏÞÓÚÊý¾Ý¿âXA½Ó¿Ú£¬ÊµÏÖÍêÈ«¿É¿Ø¡£TC¡¢RM¡¢LSÕâЩ¹Ø¼ü×é¼þ¶ÔÐÔÄÜÓ°ÏìºÜ´ó£¬Á¼ºÃµÄÉè¼Æ¡¢ÊµÏÖ¿ÉÒÔÈ¡µÃ·Ç³£¸ßµÄÐÔÄÜ¡£·ÇÇÖÈëʽÊÂÎñʵ¼ùÖ¤Ã÷£¬Ëü¿ÉÒÔÇáËÉÂú×ã¾ø´ó¶àÊý¸ß²¢·¢ÒµÎñ³¡¾°µÄÐÔÄÜÐèÇó¡£
µäÐͺËÐÄÒµÎñϵͳ·Ö²¼Ê½ÊÂÎñ¸ÄÔìʵÀý
»ªÎªÔÆStackΪijÔËÓªÉ̺ËÐÄÒµÎñϵͳ·Ö²¼Ê½ÊÂÎñ¸ÄÔ죬¸Ã¿Í»§ÒµÎñÔÚÔ³õ³äÖµ¡¢¿Û·ÑÒµÎñ¸ß·åÆÚµÈ³£¼ûµÄ²¢·¢³¡¾°Ê±£¬¶Ô·Ö²¼Ê½ÏµÍ³Ìá³öÌôÕ½£º
¸ß²¢·¢µÄ·Ö²¼Ê½ÊÂÎñ·ÃÎÊÕË»§±í£¬XAÁ½½×¶ÎÌá½»ÓÉÓÚ¼ÓËøÊ±¼ä³¤£¬ÑÏÖØÓ°ÏìÒµÎñ¡£ÕûÌåÐÔÄÜÒªÇó´ï1000+
TPS£¬´«Í³»ò¿ªÔ´·Ö²¼Ê½ÊÂÎñÄÑÒÔÂú×ã¸ß¿ÉÓÃÐÔÓë¸ßÐÔÄÜÒªÇó¡£
XAÊÂÎñÓëÆäËûÊý¾Ý¿â²Ù×÷µÄÒ»ÖÂÐÔÎÊÌâ¡£ÐèÒª°ÑXAÊÂÎñ×÷ΪDTM TCCÊÂÎñµÄÒ»¸ö·ÖÖ§£¬½«±ðµÄÊý¾Ý¿â²Ù×÷ÊÇÁíÍâµÄ·ÖÖ§¡£
»ªÎªÔÆStack»ìºÏÔÆ½â¾ö·½°¸·Ö²¼Ê½ÊÂÎñÖмä¼þDTMͨ¹ýһϵÁд´Ð¼¼Êõ£¬Ìṩ¸ßÐÔÄÜ¡¢¸ß¿ÉÓᢸ߿ɿ¿¡¢¸ß°²È«¡¢µÍÇÖÈë¡¢Ò×ʹÓõķֲ¼Ê½ÊÂÎñ·þÎñ£¬Ö§³ÖTCCÊÂÎñºÍ·ÇÇÖÈëÊÂÎñÁ½ÖÖÄ£ÐÍ£¬ÖúÁ¦Æóҵ΢·þÎñ»¯¸ÄÔ죬ÓÅÑŵؽâ¾ö·Ö²¼Ê½ÏµÍ³ÏÂÊý¾ÝÒ»ÖÂÐÔÄÑÌâ¡£
|