ÔÚÏÖ´úÆóÒµ¼¶Ó¦Óüܹ¹ÖУ¬Î¢Ð§À͵ı¬Õ¨Ê½ÔöÌí´øÀ´ÁËÖØ´óµÄµ¯ÐÔÓëѸËÙÐÔ£¬µ«Í¬Ê±Ò²Òý·¢ÁËÒ»¸öÖØ´óÌôÕ½¡ª¡ªÂþÑÜʽÊÂÎñµÄÖÎÀí¡£¹Å°åµ¥ÌåÓ¦ÓÃÖеÄÊÂÎñ´ó¶¼¿ÉÒÔÓÉÊý¾Ý¿âµÄACIDÌØÕ÷°ü¹Ü£¬¶øÔÚ΢ЧÀͼܹ¹ÖУ¬¸÷¸öЧÀ͵ÄÊý¾Ý¿â¿ÉÄÜÂþÑÜÔÚ²î±ðµÄÇéÐΡ¢²î±ðµÄµØÇø£¬ÏëÒª°ü¹ÜÈ«¾ÖÊý¾ÝÒ»ÖÂÐÔ£¬µ¥¿¿Êý¾Ý¿âÊÂÎñÏÔÈ»ÎÞ·¨Öª×ãÐèÇó¡£
ÔÚÎÒµÄÊÂÇéʵ¼ùÖУ¬×îÏȽӴ¥µ½µÄ¼Æ»®ÊÇ¡°Á½¶ÎÌá½»¡±£¨2PC£¬Two-PhaseCommit£©£¬µ«¾ÓÉÏÖʵӦÓúó·¢Ã÷£¬2PCËäÈ»°ü¹ÜǿһÖÂÐÔ£¬µ«ËüµÄÐÔÄÜÆ¿¾±ºÍÛÕ±ÕÎÊÌâÈÃÎÒÍû¶øÈ´²½¡£ÓÚÊÇ£¬TCC£¨Try-Confirm-Cancel£©ºÍSaga£¨³¤ÊÂÎñ£©Á½´ó¼Æ»®Öð½¥³ÉΪÐÐÒµÖ÷Á÷¡£
TCCÀíÄîµÄ½¹µã£¬Êǽ«ÂþÑÜʽÊÂÎñ²ð½âΪÁ½¸ö½×¶Î£ºÔ¤Áô×ÊÔ´µÄ¡°ÊÔ̽½×¶Î£¨Try£©¡±£¬ÒÔ¼°ºóÐøÈ·ÈÏ»ò»Ø¹öµÄ¡°È·ÈÏ£¨Confirm£©¡±ºÍ¡°×÷·Ï£¨Cancel£©¡±¡£ÕâÑùÒ»À´£¬Ã¿¸öЧÀͶ¼¿ÉÒÔ×ÔÖ÷¿ØÖÆÊÂÎñÁ÷³Ì£¬¾ßÓкܺõÄÀ©Õ¹ÐԺ͵¯ÐÔ¡£ÎÒµÄÊÂÇéÖУ¬½ÓÄÉTCCµÄÏîÄ¿Ö÷Òª¼¯ÖÐÔÚÖ§¸¶Óë¶©µ¥³¡¾°¡£
ÿ´ÎÓû§Ö§¸¶Ê±£¬ÏȽøÈë¡°ÊÔ̽¡±×´Ì¬£¬½«Ö§¸¶Ô¤Áô£¬´ý¶©µ¥È·ÈϺó£¬Ö´ÐС°È·ÈÏ¡±²Ù×÷£»ÈôÊǶ©µ¥×÷·Ï»òÒì³££¬ÔòÖ´ÐС°×÷·Ï¡±¡£
ʵÑéTCCʱ£¬×î´óµÄÌôÕ½ÔÚÓÚÉè¼ÆºÏÀíµÄÅâ³¥Âß¼¡£ÓÉÓÚÔÚ¶à°ì·¨¡¢¶àЧÀ͵ij¡¾°ÖУ¬²»¿É×èÖ¹»á·ºÆðÒì³£ÇéÐΣ¬ºÃ±ÈÍøÂçÖÐÖ¹¡¢³¬Ê±µÈ¡£Õâʱ¼ä£¬Åâ³¥»úÖÆ±ã±äµÃÖÁ¹ØÖ÷Òª£¬ºÃ±È¶©µ¥×÷·Ïʱ£¬±ØÐèÒª°ü¹ÜÖ§¸¶×ʽð»ñµÃ׼ȷ·µ»¹£¬²»¿É·ºÆð×ʽð´íλ»ò¡°ËÀËø¡±¡£ÔÚÎÒ×Ô¼ºÍƶ¯µÄÏîÄ¿Àͨ³£»á½èÖúÐÂÎÅÐÐÁУ¬ÊµÏÖÒì²½Åâ³¥²Ù×÷£¬°ü¹ÜϵͳµÄ×îÖÕÒ»ÖÂÐÔ¡£
Ïà±È֮ϣ¬Saga³¤ÊÂÎñ¸üÆ«ÏòÓÚ¡°ÊÂÎñÇý¶¯¡±µÄ·½·¨£¬Æä½¹µãÍ·ÄÔÊÇʹÓÃÐÂÎÅ֪ͨ£¬´®ÁªÆðһϵÁÐÍâµØÊÂÎñ£¬ÐγÉÒ»¸ö״̬ת»»Á´¡£ÔÚSagaÖУ¬ÊÂÎñµÄÿһ²½ÊÇÒ»¸öÍâµØÊÂÎñ£¬Ê§°Üʱ»á´¥·¢¡°Åâ³¥Ðж¯¡±¡ª¡ªÀàËÆÓÚTCCµÄ¡°»Ø¹ö¡±£¬µ«ÊµÏÖ·½·¨¸üΪÎÞа£¬ÓÈÆäÊÊÓÃÓÚÖØ´óÓªÒµ³¡¾°¡£
ÔÚÏÖʵÊÂÇéÖУ¬ÎÒ·¢Ã÷SagaÍùÍùÐèÒªÓÅÒìµÄÊÂÎñÇý¶¯¼Ü¹¹ºÍÐÂÎÅÐÐÁÐÖ§³Ö£¬ºÃ±ÈKafka¡¢RabbitMQ£¬È·±£¸÷»·½ÚµÄͨѶ¿É¿¿¡£SagaµÄÓŵãÔÚÓÚ£¬×èÖ¹ËùÓÐЧÀͶ¼±»Ô¼ÊøÔÚÈ«¾ÖËøÖУ¬Ò²²»±ØÆÚ´ýËùÓл·½ÚÍê³É¼¨ÄÜ·µ»ØÐ§¹û£¬¼«´óÌáÉýϵͳµÄÍÌͺÍÏìÓ¦ËÙÂÊ¡£
È»¶øËüÒ²ÓÐÈõµã£¬×îÏÔ×ŵÄÊÇʵÏÖÖØ´ó¡¢Åâ³¥Âß¼ÄÑÒÔÉè¼Æ£¬ÓÈÆäÔÚ¶à±ß³¡¾°ÖÐÈÝÒ×·ºÆð¡°Åâ³¥²»ÍêÈ«¡±¡¢¡°ÐÂÎÅɥʧ¡±µÈÎÊÌâ¡£
×ܽáÀ´¿´£¬TCCºÍSagaÁ½Õ߸÷ÓÐÓÅÁÓ£¬ÏÖʵӦÓÃÖÐӦƾ֤ӪҵÐèÇó¡¢ÏµÍ³¼Ü¹¹ºÍÈÝ´íÈÝÔÖÄÜÁ¦È¨ºâÑ¡Ôñ¡£TCCÊʺ϶ÔÒ»ÖÂÐÔÒªÇ󼫸ߡ¢ÊÂÎñ½Ï¶ÌµÄ³¡¾°£»SagaÔò¸üÊʺϸßÍÌÍ¡¢×îÖÕÒ»ÖÂÐÔµÄÓªÒµ³¡¾°¡£ÔÚÎÒµÄÊÂÇéʵ¼ùÖУ¬Í¨³£»áÁ¬ÏµÁ½ÕßµÄÓÅÊÆ£¬Éè¼Æ»ìÏý¼Æ»®£¬ÊµÏÖÐÔÄÜÓëÒ»ÖÂÐÔÖ®¼äµÄƽºâ¡£
ËäÈ»£¬Ì¸ÆðÂþÑÜʽÊÂÎñ£¬Ã»Óв»Óöµ½¿ÓµÄ¡£´ÓÉè¼Æµ½ÊµÏÖ£¬ÔÙµ½Î¬»¤£¬Ã¿Ò»²½¶¼ÐèÒªÉîͼԶÂÇ¡£ºÃ±È£¬ÔõÑùÖÎÀíÅâ³¥Õ½ÂԵĶàÑùÐÔ£¿ÔõÑù¼à¿ØÖØ´óµÄÊÂÎñ״̬£¿ÔõÑùÓÅ»¯ÐÔÄÜÒÔïÔÌÑÓ³Ù£¿ÕâЩ¶¼Ä¥Á·×żܹ¹Ê¦µÄÖǻۺÍÂÄÀú¡£ÔÚʵ¼ùÖÐһֱ̽Ë÷¡¢Ï¸»¯£¬ÊÇÌáÉý×ÔÉíÊÖÒÕÄÜÁ¦µÄ²»¶þÇÏÃÅ¡£
ÈôÊÇÄãÒ²ÔÚ΢ЧÀ͵ÄÌìÏÂÀï̽Ë÷ÂþÑÜʽÊÂÎñ£¬ÎÞ·Á´ÓTCCºÍSagaÈëÊÖ£¬Á¬ÏµÏÖʵ³¡¾°ÎÞаÔËÓá£ÉñÍùδÀ´£¬ÂþÑÜʽÊÂÎñ»á±äµÃÔ½À´Ô½ÖÇÄÜ»¯¡¢×Ô¶¯»¯£¬ÉõÖÁ¿ÉÄܱ»AI¸¨ÖúʵÏÖ¡°×ÔÎÒÐÞ¸´¡±¡£ÏàÐÅÔÚһֱʵ¼ùÓëѧϰÖУ¬ÎÒÃǶ¼ÄܳÉΪ½â¾öÖØ´óÂþÑÜʽÊÂÎñÄÑÌâµÄÄÜÊÖ¡£
Ê×ÏÈÊǼܹ¹Éè¼Æ¡£ÔÚÒýÈëTCC»òSaga¼Æ»®Ö®Ç°£¬±ØÐèÇåÎú½ç˵ӪҵÁ÷³Ì¡£ÓªÒµÁ÷³ÌµÄÖØÆ¯ºóÖ±½ÓÓ°Ïì×ÅÂþÑÜʽÊÂÎñµÄÉè¼Æ¡£ºÃ±È£¬¶©µ¥Ö§¸¶¡¢¿â´æ¿Û¼õ¡¢ÎïÁ÷µ÷ÀíÈý¸ö»·½Ú£¬ÈôÊÇÊÇÏßÐÔ¹ØÏµ£¬Saga¿ÉÒԺܺõش®ÁªÆðÀ´£»ÈôÊÇÉæ¼°¶àÖØÒÀÀµ¹ØÏµ£¬»òÕßÐèÒª°ü¹ÜǿһÖ£¬ÄÇôTCC¿ÉÄܸüºÏÊÊ¡£
²»¹ý£¬ÎÞÂÛ½ÓÄÉÄÄÖּƻ®£¬¶¼½¨Òé·â×°³É¿É¸´ÓõÄÄ£¿é£¬Àû±ãºóÐøÎ¬»¤ºÍ¶à³¡¾°¸´Óá£
ÐÂÎÅÖÐÐļþµÄÑ¡ÐÍÓëÉèÖöԼƻ®µÄÎȹÌÐÔÆðµ½¾öÒéÐÔ×÷Óá£ÐÂÎÅɥʧ¡¢Öظ´¡¢Ë³ÐòÅÓÔÓ£¬¶¼¿ÉÄܵ¼ÖÂÊÂÎñ״̬Òì³£¡£»ùÓÚÎÒÔÚÏîÄ¿ÖеÄʵ¼ù£¬¾³£»áÑ¡ÔñÐÂÎÅÐÐÁеÄÑÏ¿áͶµÝÓïÒ壬ºÃ±ÈKafkaµÄÃݵÈÐÔÉè¼Æ»òRabbitMQµÄÊÂÎñģʽ£¬È·±£ÊÂÎñµÄ¿É¿¿½»¸¶¡£ÊµÏÖÃݵȻúÖÆ¡¢×´Ì¬´æ´¢ÓëÊÂÎñÅâ³¥Âß¼µÄϸÃÜÁ¬Ïµ£¬Êǰü¹ÜÕûϵһÇнáʵÐÔµÄÒªº¦¡£
µÚÈý£¬¼à¿ØºÍÊÂÎñ×·×Ù¡£ºÜÏÔÈ»£¬µ±ÂþÑÜʽÊÂÎñÁ´Ìõ±ä³¤£¬¹ÊÕÏÅŲé¾Í±äµÃÓÈÎªÖØ´ó¡£Ê¹ÓÃÁ´Â·×·×Ù¹¤¾ß£¬ºÃ±ÈZipkin»òSkyWalking£¬¿ÉÒÔ×ÊÖú¿ª·¢Õß¿ìËÙ¶¨Î»ÎÊÌâ½Úµã¡£½¨ÉèÍêÉÆµÄÊÂÎñ״̬¼à¿Ø£¬ÊµÊ±²¶»ñÒì³£ºÍ³¬Ê±ÊƼþ£¬Ò²ÄÜ´ó´óËõ¶ÌÐÞ¸´Ê±¼ä¡£
ʵ¼ùÖУ¬ÎÒ³£ÓõÄ×ö·¨ÊÇ£¬ÎªÃ¿¸öÂþÑÜʽÊÂÎñ¿ª·¢Î¨Ò»µÄ×·×ÙID£¬Á¬ÏµÈÕÖ¾ºÍÖ¸±êÒ»¸Ù¾¿¾¹£¬È·±£Ã¿´Îµ÷ÊÔ¶¼ÄÜ¡°Óм£¿ÉÑ¡±¡£
ÔÚÐÔÄÜÓÅ»¯·½Ã棬ïÔÌÍøÂçŲÓá¢Ëõ¶ÌÊÂÎñÖÜÆÚ£¬ÊÇÌáÉýϵͳÏìÓ¦ËÙÂʵÄÖ÷ÒªÊֶΡ£ºÃ±È£¬½«²¿·Ö±ØÐèµÄ²Ù×÷Ô¤ÏÈ»º´æ£¬¼ÓËÙÏìÓ¦ËÙÂÊ£¬»òÕßÔÚÉè¼ÆÊ±£¬°ÑһЩ·Ç½¹µãµÄÁ÷³ÌÒì²½»¯¡¢Ðͬ»¯£¬¼õÇáÊÂÎñÁ´µÄѹÁ¦¡£Í¨¹ýºÏÀíµÄÓªÒµ²ð·Ö¡¢ÓÅÏȼ¶µ÷½âºÍÈÝ´íÉèÖ㬿ÉÒÔʵÏÖ¡°¼È°ü¹ÜÊý¾ÝÒ»Ö£¬ÓÖ²»Ó°ÏìÓû§ÌåÑ顱µÄÄ¿µÄ¡£
ÓªÒµ³¡¾°µÄÖØ´óÐÔ¾³£ÇýʹÎÒÃÇһֱȥÑо¿¡¢Á¢Òì³öеļƻ®¡£ÀýÈ磬ÓеÄÍŶÓÁ¬ÏµTCCÓëSaga£¬Ðγɡ°»ìÏýʽ¡±¼Ü¹¹£¬Õë¶Ô²î±ðµÄÓªÒµ»·½Ú½ÓÄɲî±ðµÄÕ½ÂÔ¡£Ä³Ð©Òªº¦ÊÂÎñ½ÓÄÉTCC£¬È·±£Ç¿Ò»Ö£»¶øÒ»Ð©·Ç½¹µãÊÂÎñ½ÓÄÉSaga£¬Ìá¸ßÍÌÍ¡£ÕâÖÖ°´³¡¾°¶¨ÖƵÄÕ½ÂÔ£¬ÎªÏµÍ³´øÀ´Á˸ü¸ßµÄµ¯ÐԺͿÉÀ©Õ¹ÐÔ¡£
ËäÈ»£¬ÂþÑÜʽÊÂÎñÖÎÀíÁ÷³ÌµÄÖØ´óÐÔÒ²Òâζ×Å£¬ÐèÒªÍŶӾ߱¸¸»ºñµÄÂÄÀúºÍÑÏÃܵÄÁ÷³Ì¿ØÖÆ¡£ÔÚÎÒ¼ÓÈëµÄÏîÄ¿ÖУ¬ÓÐʱ¼ä»áÉè¼Æ×¨Ãŵġ°ÊÂÎñµ÷ÀíÖÐÐÄ¡±£¬Í³Ò»ÖÎÀíÒì³£·´Ïì¡¢Åâ³¥Ö´ÐС¢×´Ì¬»Ö¸´µÈ½¹µã»·½Ú¡£Á¬ÏµÎ¢Ð§À͵ÄÒ»Á¬¼¯³É¡¢×Ô¶¯»¯²âÊÔ¡¢»Ò¶ÈÐû²¼£¬Öð²½¹¹½¨ÆðÒ»Ì׿ÉÒ»Á¬ÑݽøµÄÊÂÎñÖÎÀíϵͳ¡£
×îÒªº¦µÄÊÇ£¬ÒªÓС°ÈÝ´í¡±Í·ÄÔ¡£ÎÞÂÛÔÙÔõôÓÅ»¯£¬¶¼²»¿ÉÄÜ×öµ½¾ø¶ÔÎÞ´í¡£ÔÚÉè¼ÆÊÂÎñ¼Æ»®Ê±£¬ÒªÔ¤ÁôÒ»¶¨µÄ»º³å¿Õ¼ä£¬×¢ÖØÒì³£ÇéÐεĽçÏßÌõ¼þ£¬×öµ½¡°Ê§°Ü¿É¿Ø¡±¡£ÍŶÓÒª½¨ÉèÒ»Ì׳ÉÊìµÄÒì³£±¨¾¯ºÍ¿ìËÙÓ¦¼±»úÖÆ£¬È·±£Ã¿Ò»ÌõÊÂÎñÁ´¶¼ÄÜ"ƽ°²´©Ô½"¡£
δÀ´µÄÂþÑÜʽÊÂÎñ£¬¿ÉÄÜ»á½èÖúAIÓë´óÊý¾Ý£¬ÌáǰչÍûºÍ¹æ±ÜDZÔÚΣº¦£¬ÊµÏÖ¡°×Ô¶¯·ÀÓù¡±¡£¶øÎÒÏàÐÅ£¬ÔÚÒ»Ö±µÄʵ¼ùÖУ¬ÎÒÃÇÄܹ»Ò»Ö±ÓÅ»¯¼Æ»®£¬Ìá¸ßϵͳµÄÈÝ´íÄÜÁ¦£¬×îÖÕʵÏÖ¡°Êý¾ÝÒ»Ö¡¢ÏµÍ³¸ßЧ¡¢Óû§ÂúÔØ¶ø¹é¡±µÄÀíÏëÄ¿µÄ¡£
Õû¸öÂóÌËäÈ»³äÂúÌôÕ½£¬µ«Ò²³äÂúÏ£Íû¡£¼ÇµÃ£¬Ã¿´Î½â¾öÒ»¸öÄÑÌ⣬¶¼ÊǶÔ×Ô¼ºµÄÒ»´ÎÌáÉý¡£¼á³ÖºÃÆæ¡¢ÓÂÓÚ̽Ë÷£¬Î´À´µÄÂþÑÜʽÊÂÎñ³¡¾°£¬½«»á¸üÖÇÄÜ¡¢¸ü¸ßЧ£¬Ò²¸üÌù½üÿСÎÒ˽¼ÒµÄÏÖʵÐèÇó¡£
ÈôÊÇÄãÒ²¶ÔÕâ¸öÁìÓò³äÂúÈÈÇ飬ÎÞ·ÁÔÚʵ¼ùÖжàʵÑé²î±ð×éºÏ£¬Á¬ÏµÓªÒµÌصãÖÆ¶©×îÊʺϵļƻ®¡£×îÖÕ£¬ÂþÑÜʽÊÂÎñ²»ÔÙÊÇÄÑÒÔÓâÔ½µÄ¡°¸ßǽ¡±£¬¶øÊÇÈÃ΢ЧÀͼܹ¹¸ü¼áÈÍ¡¢¸üÖÇÄܵġ°ÇÅÁº¡±¡£