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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
΢·þÎñ--·Ö²¼Ê½ÊÂÎñµÄʵÏÖ·½·¨¼°Ìæ´ú·½°¸
 
À´Ô´£ºcsdn ·¢²¼ÓÚ£º 2017-10-24
  3234  次浏览      28
 

¸ÅÄî³ÎÇå

ÊÂÎñ²¹³¥»úÖÆ: ÔÚÊÂÎñÁ´ÖеÄÈκÎÒ»¸öÕýÏòÊÂÎñ²Ù×÷, ¶¼±ØÐë´æÔÚÒ»¸öÍêÈ«·ûºÏ»Ø¹ö¹æÔòµÄ¿ÉÄæÊÂÎñ.

CAPÀíÂÛ: CAP(Consistency, Availability, Partition Tolerance), ²ûÊöÁËÒ»¸ö·Ö²¼Ê½ÏµÍ³µÄÈý¸öÖ÷Òª·½Ãæ, Ö»ÄÜͬʱÔñÆä¶þ½øÐÐʵÏÖ. ³£¼ûµÄÓÐCPϵͳ, APϵͳ.

ÃݵÈÐÔ: ¼òµ¥µÄ˵, ÒµÎñ²Ù×÷Ö§³ÖÖØÊÔ, ²»»á²úÉú²»ÀûÓ°Ïì. ³£¼ûµÄʵÏÖ·½Ê½: ΪÏûÏ¢¶îÍâÔö¼ÓΨһID.

BASE(Basically avaliable, soft state, eventually consistent): ÊÇ·Ö²¼Ê½ÊÂÎñʵÏÖµÄÒ»ÖÖÀíÂÛ±ê×¼.

ÈáÐÔÊÂÎñ vs. ¸ÕÐÔÊÂÎñ

¸ÕÐÔÊÂÎñÊÇÖ¸Ñϸñ×ñÑ­ACIDÔ­ÔòµÄÊÂÎñ, ÀýÈçµ¥»ú»·¾³ÏµÄÊý¾Ý¿âÊÂÎñ.

ÈáÐÔÊÂÎñÊÇÖ¸×ñÑ­BASEÀíÂÛµÄÊÂÎñ, ͨ³£ÓÃÔÚ·Ö²¼Ê½»·¾³ÖÐ, ³£¼ûµÄʵÏÖ·½Ê½ÓÐ: Á½½×¶ÎÌá½»(2PC), TCC²¹³¥ÐÍÌá½», »ùÓÚÏûÏ¢µÄÒ첽ȷ±£ÐÍ, ×î´óŬÁ¦Í¨ÖªÐÍ.

ͨ³£¶Ô±¾µØÊÂÎñ²ÉÓøÕÐÔÊÂÎñ, ·Ö²¼Ê½ÊÂÎñʹÓÃÈáÐÔÊÂÎñ.

×î¼Ñʵ¼ù

ÏÈÉϽáÂÛ, ÔÙ·Ö±ð½éÉÜ·Ö²¼Ê½ÊÂÎñµÄ¸÷ÖÖʵÏÖ·½Ê½.

Èç¹ûÒµÎñ³¡¾°ÐèҪǿһÖÂÐÔ, ÄÇô¾¡Á¿±ÜÃ⽫ËüÃÇ·ÅÔÚ²»Í¬·þÎñÖÐ, Ò²¾ÍÊǾ¡Á¿Ê¹Óñ¾µØÊÂÎñ, ±ÜÃâʹÓÃǿһÖÂÐԵķֲ¼Ê½ÊÂÎñ.

Èç¹ûÒµÎñ³¡¾°Äܹ»½ÓÊÜ×îÖÕÒ»ÖÂÐÔ, ÄÇô×îºÃÊÇʹÓûùÓÚÏûÏ¢µÄ×îÖÕÒ»ÖÂÐԵķ½°¸(Ò첽ȷ±£ÐÍ)À´½â¾ö.

Èç¹ûÒµÎñ³¡¾°ÐèҪǿһÖÂÐÔ, ²¢ÇÒÖ»Äܹ»½øÐзֲ¼Ê½·þÎñ²¿Êð, ÄÇô×îºÃÊÇʹÓÃTCC·½°¸¶ø²»ÊÇ2PC·½°¸À´½â¾ö.

×¢Òâ: ÒÔÏÂÿÖÖ·½°¸¶¼Óв»Í¬µÄÊÊÓó¡ºÏ, ÐèÒª¸ù¾Ýʵ¼ÊÒµÎñ³¡¾°À´Ñ¡Ôñ.

Á½½×¶ÎÌá½»(2PC)

Á½½×¶ÎÌá½»(Two Phase Commit, 2PC), ¾ßÓÐǿһÖÂÐÔ, ÊÇCPϵͳµÄÒ»ÖÖµäÐÍʵÏÖ.

Á½½×¶ÎÌá½», ³£¼ûµÄ±ê×¼ÊÇXA, JTAµÈ. ÀýÈçOracleµÄÊý¾Ý¿âÖ§³ÖXA.

ÏÂͼÊÇÁ½½×¶ÎÌá½»µÄʾÒâͼ:

ͼµÄÉϰëÊÇÁ½½×¶ÎÌá½»³É¹¦µÄÑÝʾ, ϰëÊÇÁ½½×¶ÎÌύʧ°ÜµÄÑÝʾ. ¹ØÓÚÁ½½×¶ÎÌá½»ÍøÉÏÓкܶྭµäµÄ½²½â, ÕâÀï¾Í²»Ï¸ËµÁË, ¿ÉÒԲο¼Ç°ÃæµÄÁ´½Ó.

ȱµã

Á½½×¶ÎÌá½»Öеĵڶþ½×¶Î, Эµ÷ÕßÐèÒªµÈ´ýËùÓвÎÓëÕß·¢³öyesÇëÇó, »òÕßÒ»¸ö²ÎÓëÕß·¢³önoÇëÇóºó, ²ÅÄÜÖ´ÐÐÌá½»»òÕßÖжϲÙ×÷. Õâ»áÔì³É³¤Ê±¼äÍ¬Ê±Ëø×¡¶à¸ö×ÊÔ´, Ôì³ÉÐÔÄÜÆ¿¾±, Èç¹û²ÎÓëÕßÓÐÒ»¸öºÄʱ³¤µÄ²Ù×÷, ÐÔÄÜËðºÄ»á¸üÃ÷ÏÔ.

ʵÏÖ¸´ÔÓ, ²»ÀûÓÚϵͳµÄÀ©Õ¹, ²»ÍƼö.

TCC (Try-Confirm-Cancle)

TCC, ÊÇ»ùÓÚ²¹³¥ÐÍÊÂÎñµÄAPϵͳµÄÒ»ÖÖʵÏÖ, ¾ßÓÐ×îÖÕÒ»ÖÂÐÔ.

ÏÂÃæÒÔ¿Í»§¹ºÂòÉÌÆ·Ê±µÄ¸¶¿î²Ù×÷ΪÀý½øÐн²½â:

Try:

Íê³ÉËùÓеÄÒµÎñ¼ì²é(Ò»ÖÂÐÔ),Ô¤Áô±ØÐëÒµÎñ×ÊÔ´(×¼¸ôÀëÐÔ);

ÌåÏÖÔÚ±¾ÀýÖÐ, ¾ÍÊÇÈ·ÈϿͻ§ÕË»§Óà¶î×ã¹»Ö§¸¶(Ò»ÖÂÐÔ), Ëø×¡¿Í»§ÕË»§, ÉÌ»§ÕË»§(×¼¸ôÀëÐÔ).

Confirm:

ʹÓÃTry½×¶ÎÔ¤ÁôµÄÒµÎñ×ÊÔ´Ö´ÐÐÒµÎñ(ÒµÎñ²Ù×÷±ØÐëÊÇÃݵȵÄ), Èç¹ûÖ´ÐгöÏÖÒì³£, Òª½øÐÐÖØÊÔ.

ÔÚÕâÀï¾ÍÊÇÖ´Ðпͻ§ÕË»§¿Û¿î, ÉÌ»§ÕË»§ÈëÕ˲Ù×÷.

Cancle:

ÊÍ·ÅTry½×¶ÎÔ¤ÁôµÄÒµÎñ×ÊÔ´, ÔÚÕâÀï¾ÍÊÇÊͷſͻ§ÕË»§ºÍÉÌ»§ÕË»§µÄËø;

Èç¹ûÈÎÒ»×ÓÒµÎñÔÚConfirm½×¶ÎÓвÙ×÷ÎÞ·¨Ö´Ðгɹ¦, »áÔì³É¶ÔÒµÎñ»î¶¯¹ÜÀíÆ÷µÄÏìÓ¦³¬Ê±, ´ËʱҪ¶ÔÆäËûÒµÎñÖ´Ðв¹³¥ÐÔÊÂÎñ. Èç¹û²¹³¥²Ù×÷Ö´ÐÐÒ²³öÏÖÒì³£, ±ØÐë½øÐÐÖØÊÔ, ÈôʵÔÚÎÞ·¨Ö´Ðгɹ¦, ÔòÊÂÎñ¹ÜÀíÆ÷±ØÐëÄܹ»¸ÐÖªµ½Ê§°ÜµÄ²Ù×÷, ½øÐÐlog(ÓÃÓÚʺóÈ˹¤½øÐв¹³¥ÐÔÊÂÎñ²Ù×÷»òÕß½»ÓÉÖмä¼þ½Ó¹ÜÔÚÖ®ºó½øÐв¹³¥ÐÔÊÂÎñ²Ù×÷).

Óŵã

¶Ô±ÈÓëÇ°ÃæÌáµ½µÄÁ½½×¶ÎÌá½»·¨, ÓÐÁ½´óÓÅÊÆ:

TCCÄܹ»¶Ô·Ö²¼Ê½ÊÂÎñÖеĸ÷¸ö×ÊÔ´½øÐзֱðËø¶¨, ·Ö±ðÌá½»ÓëÊÍ·Å, ÀýÈç, ¼ÙÉèÓÐABÁ½¸ö²Ù×÷, ¼ÙÉèA²Ù×÷ºÄʱ¶Ì, ÄÇôA¾ÍÄܽϿìµÄÍê³É×ÔÉíµÄtry-confirm-cancelÁ÷³Ì, ÊÍ·Å×ÊÔ´. ÎÞÐèµÈ´ýB²Ù×÷. Èç¹ûʺó³öÏÖÎÊÌâ, ×·¼ÓÖ´Ðв¹³¥ÐÔÊÂÎñ¼´¿É.

TCCÊǰó¶¨ÔÚ¸÷¸ö×ÓÒµÎñÉϵÄ(³ýÁËcancleÖеÄÈ«¾Ö»Ø¹ö²Ù×÷), Ò²¾ÍÊǸ÷·þÎñÖ®¼ä¿ÉÒÔÔÚÒ»¶¨³Ì¶ÈÉÏ¡±Òì²½²¢ÐС±Ö´ÐÐ.

×¢ÒâÊÂÏî

ÊÂÎñ¹ÜÀíÆ÷(Эµ÷Æ÷)Õâ¸ö½Úµã±ØÐëÒÔ´øÍ¬²½¸´ÖÆÓïÒåµÄ¸ß¿ÉÓü¯Èº(HAC)·½Ê½²¿Êð.

ÊÂÎñ¹ÜÀíÆ÷(Эµ÷Æ÷)»¹ÐèҪʹÓöàÊýÅÉËã·¨À´±ÜÃ⼯Ⱥ·¢ÉúÄÔÁÑÎÊÌâ.

ÊÊÓó¡¾°

ÑϸñÒ»ÖÂÐÔ

Ö´ÐÐʱ¼ä¶Ì

ʵʱÐÔÒªÇó¸ß

¾ÙÀý: ºì°ü, ÊÕ¸¶¿îÒµÎñ.

Ò첽ȷ±£ÐÍ

ͨ¹ý½«Ò»ÏµÁÐͬ²½µÄÊÂÎñ²Ù×÷±äΪ»ùÓÚÏûÏ¢Ö´ÐеÄÒì²½²Ù×÷, ±ÜÃâÁË·Ö²¼Ê½ÊÂÎñÖеÄͬ²½×èÈû²Ù×÷µÄÓ°Ïì.

Õâ¸ö·½°¸ÕæÕýʵÏÖÁËÁ½¸ö·þÎñµÄ½âñî, ½âñîµÄ¹Ø¼ü¾ÍÊÇÒì²½ÏûÏ¢ºÍ²¹³¥ÐÔÊÂÎñ.

ÕâÀïÒÔÒ»¸öÀý×Ó×÷Ϊ½²½â:

Ö´Ðв½ÖèÈçÏÂ:

MQ·¢ËÍ·½·¢ËÍÔ¶³ÌÊÂÎñÏûÏ¢µ½MQ Server;

MQ Server¸øÓèÏìÓ¦, ±íÃ÷ÊÂÎñÏûÏ¢Òѳɹ¦µ½´ïMQ Server.

MQ·¢ËÍ·½Commit±¾µØÊÂÎñ.

Èô±¾µØÊÂÎñCommit³É¹¦, Ôò֪ͨMQ ServerÔÊÐí¶ÔÓ¦ÊÂÎñÏûÏ¢±»Ïû·Ñ; Èô±¾µØÊÂÎñʧ°Ü, Ôò֪ͨMQ Server¶ÔÓ¦ÊÂÎñÏûÏ¢Ó¦±»¶ªÆú.

ÈôMQ·¢ËÍ·½³¬Ê±Î´¶ÔMQ Server×÷³ö±¾µØÊÂÎñÖ´ÐÐ״̬µÄ·´À¡, ÄÇôÐèÒªMQ ServferÏòMQ·¢ËÍ·½Ö÷¶¯»Ø²éÊÂÎñ״̬, ÒÔ¾ö¶¨ÊÂÎñÏûÏ¢ÊÇ·ñÄܱ»Ïû·Ñ.

µ±µÃÖª±¾µØÊÂÎñÖ´Ðгɹ¦Ê±, MQ ServerÔÊÐíMQ¶©ÔÄ·½Ïû·Ñ±¾ÌõÊÂÎñÏûÏ¢.

ÐèÒª¶îÍâ˵Ã÷µÄÒ»µã, ¾ÍÊÇÊÂÎñÏûϢͶµÝµ½MQ¶©ÔÄ·½ºó, ²¢²»Ò»¶¨Äܹ»³É¹¦Ö´ÐÐ. ÐèÒªMQ¶©ÔÄ·½Ö÷¶¯¸øÓèÏû·Ñ·´À¡(ack)

Èç¹ûMQ¶©ÔÄ·½Ö´ÐÐÔ¶³ÌÊÂÎñ³É¹¦, Ôò¸øÓèÏû·Ñ³É¹¦µÄack, ÄÇôMQ Server¿ÉÒÔ°²È«½«ÊÂÎñÏûÏ¢ÒÆ³ý;

Èç¹ûÖ´ÐÐʧ°Ü, MQ ServerÐèÒª¶ÔÏûÏ¢ÖØÐÂͶµÝ, Ö±ÖÁÏû·Ñ³É¹¦.

×¢ÒâÊÂÏî

ÏûÏ¢Öмä¼þÔÚϵͳÖаçÑÝÒ»¸öÖØÒªµÄ½ÇÉ«, ËùÓеÄÊÂÎñÏûÏ¢¶¼ÐèҪͨ¹ýËüÀ´´«´ï, ËùÒÔÏûÏ¢Öмä¼þÒ²ÐèÒªÖ§³Ö HAC À´È·±£ÊÂÎñÏûÏ¢²»¶ªÊ§.

¸ù¾ÝÒµÎñÂß¼­µÄ¾ßÌåʵÏÖ²»Í¬£¬»¹¿ÉÄÜÐèÒª¶ÔÏûÏ¢Öмä¼þÔö¼ÓÏûÏ¢²»Öظ´, ²»ÂÒÐòµÈÆäËüÒªÇó.

ÊÊÓó¡¾°

Ö´ÐÐÖÜÆÚ½Ï³¤

ʵʱÐÔÒªÇ󲻸ß

ÀýÈç:

¿çÐÐתÕË/»ã¿îÒµÎñ(Á½¸ö·þÎñ·Ö±ðÔÚ²»Í¬µÄÒøÐÐÖÐ)

ÍË»õ/ÍË¿îÒµÎñ

²ÆÎñ, Õ˵¥Í³¼ÆÒµÎñ(ÏÈ·¢Ë͵½ÏûÏ¢Öмä¼þ, È»ºó½øÐÐÅúÁ¿¼ÇÕË)

×î´óŬÁ¦Í¨ÖªÐÍ

ÕâÊÇ·Ö²¼Ê½ÊÂÎñÖÐÒªÇó×îµÍµÄÒ»ÖÖ, Ò²¿ÉÒÔͨ¹ýÏûÏ¢Öмä¼þʵÏÖ, ÓëÇ°ÃæÒ첽ȷ±£ÐͲÙ×÷²»Í¬µÄÒ»µãÊÇ, ÔÚÏûÏ¢ÓÉMQ ServerͶµÝµ½Ïû·ÑÕßÖ®ºó, ÔÊÐíÔÚ´ïµ½×î´óÖØÊÔ´ÎÊýÖ®ºóÕý³£½áÊøÊÂÎñ.

ÊÊÓó¡¾°

½»Ò×½á¹ûÏûÏ¢µÄ֪ͨµÈ.

С½á

²»¹ÜÊÇͬ²½ÊÂÎñÖеÄÊÂÎñ¹ÜÀíÆ÷(Эµ÷Õß), »¹ÊÇÒì²½ÊÂÎñÖÐʹÓõÄÏûÏ¢Öмä¼þ£¬ÈôÒª´ïµ½Ò»ÖÂÐÔ±£Ö¤£¬¶¼ÐèҪʹÓôøÓÐͬ²½¸´ÖÆÓïÒåµÄ HAC ÌṩµÄ¸ß¿ÉÓú͸߿ɿ¿ÌØÐÔ£¬ÕâЩ¶¼ÊÇÒÔÐÔÄÜΪ´ú¼ÛµÄ£¬ÎÞÒɳÉΪÁËSOA ¼Ü¹¹ÖеĵäÐÍÐÔÄÜÆ¿¾±Ö®Ò».

   
3234 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

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

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

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