ÔÚ֮ǰµÄÎÄÕÂÖУ¬ÎÒ½éÉÜÁË·Ö¿â·Ö±íµÄ¼¸ÖÖ±íÏÖÐÎʽºÍÍæ·¨£¬Ò²Öصã½éÉÜÁË´¹Ö±·Ö¿âËù´øÀ´µÄÎÊÌâºÍ½â¾ö·½·¨¡£±¾ÆªÖУ¬ÎÒÃǽ«¼ÌÐøÁÄÁÄˮƽ·Ö¿â·Ö±íµÄһЩ¼¼ÇÉ¡£
·ÖƬ¼¼ÊõµÄÓÉÀ´
¹ØÏµÐÍÊý¾Ý¿â±¾Éí±È½ÏÈÝÒ׳ÉΪϵͳÐÔÄÜÆ¿¾±£¬µ¥»ú´æ´¢ÈÝÁ¿¡¢Á¬½ÓÊý¡¢´¦ÀíÄÜÁ¦µÈ¶¼ºÜÓÐÏÞ£¬Êý¾Ý¿â±¾ÉíµÄ¡°ÓÐ״̬ÐÔ¡±µ¼ÖÂÁËËü²¢²»ÏñWebºÍÓ¦Ó÷þÎñÆ÷ÄÇôÈÝÒ×À©Õ¹¡£ÔÚ»¥ÁªÍøÐÐÒµº£Á¿Êý¾ÝºÍ¸ß²¢·¢·ÃÎʵĿ¼ÑéÏ£¬´ÏÃ÷µÄ¼¼ÊõÈËÔ±Ìá³öÁË·Ö¿â·Ö±í¼¼Êõ£¨ÓÐЩµØ·½Ò²³ÆÎªSharding¡¢·ÖƬ£©¡£Í¬Ê±£¬Á÷Ðеķֲ¼Ê½ÏµÍ³Öмä¼þ£¨ÀýÈçMongoDB¡¢ElasticSearchµÈ£©¾ù×ÔÉíÓѺÃÖ§³ÖSharding£¬ÆäÔÀíºÍ˼Ïë¶¼ÊÇ´óͬСÒìµÄ¡£
·Ö²¼Ê½È«¾ÖΨһID
ÔںܶàÖÐСÏîÄ¿ÖУ¬ÎÒÃÇÍùÍùÖ±½ÓʹÓÃÊý¾Ý¿â×ÔÔöÌØÐÔÀ´Éú³ÉÖ÷¼üID£¬ÕâÑùȷʵ±È½Ï¼òµ¥¡£¶øÔÚ·Ö¿â·Ö±íµÄ»·¾³ÖУ¬Êý¾Ý·Ö²¼ÔÚ²»Í¬µÄ·ÖƬÉÏ£¬²»ÄÜÔÙ½èÖúÊý¾Ý¿â×ÔÔö³¤ÌØÐÔÖ±½ÓÉú³É£¬·ñÔò»áÔì³É²»Í¬·ÖƬÉϵÄÊý¾Ý±íÖ÷¼ü»áÖØ¸´¡£¼òµ¥½éÉÜÏÂʹÓúÍÁ˽â¹ýµÄ¼¸ÖÖIDÉú³ÉËã·¨¡£
TwitterµÄSnowflake£¨ÓÖÃû¡°Ñ©»¨Ëã·¨¡±£©
UUID/GUID£¨Ò»°ãÓ¦ÓóÌÐòºÍÊý¾Ý¿â¾ùÖ§³Ö£©
MongoDB ObjectID£¨ÀàËÆUUIDµÄ·½Ê½£©
Ticket Server£¨Êý¾Ý¿âÉú´æ·½Ê½£¬Flickr²ÉÓõľÍÊÇÕâÖÖ·½Ê½£©
ÆäÖУ¬Twitter µÄSnowflakeËã·¨ÊDZÊÕß½ü¼¸ÄêÔÚ·Ö²¼Ê½ÏµÍ³ÏîÄ¿ÖÐʹÓÃ×î¶àµÄ£¬Î´·¢ÏÖÖØ¸´»ò²¢·¢µÄÎÊÌâ¡£¸ÃËã·¨Éú³ÉµÄÊÇ64λΨһId£¨ÓÉ41λµÄtimestamp+
10λ×Ô¶¨ÒåµÄ»úÆ÷Âë+ 13λÀÛ¼Ó¼ÆÊýÆ÷×é³É£©¡£ÕâÀï²»×ö¹ý¶à½éÉÜ£¬¸ÐÐËȤµÄ¶ÁÕß¿É×ÔÐвéÔÄÏà¹Ø×ÊÁÏ¡£
³£¼û·ÖƬ¹æÔòºÍ²ßÂÔ
·ÖƬ×ֶθÃÈçºÎÑ¡Ôñ
ÔÚ¿ªÊ¼·ÖƬ֮ǰ£¬ÎÒÃÇÊ×ÏÈҪȷ¶¨·ÖƬ×ֶΣ¨Ò²¿É³ÆÎª¡°Æ¬¼ü¡±£©¡£ºÜ¶à³£¼ûµÄÀý×Ӻͳ¡¾°ÖÐÊDzÉÓÃID»òÕßʱ¼ä×ֶνøÐвð·Ö¡£ÕâÒ²²¢²»¾ø¶ÔµÄ£¬ÎҵĽ¨ÒéÊǽáºÏʵ¼ÊÒµÎñ£¬Í¨¹ý¶ÔϵͳÖÐÖ´ÐеÄsqlÓï¾ä½øÐÐͳ¼Æ·ÖÎö£¬Ñ¡Ôñ³öÐèÒª·ÖƬµÄÄǸö±íÖÐ×îÆµ·±±»Ê¹Ó㬻òÕß×îÖØÒªµÄ×Ö¶ÎÀ´×÷Ϊ·ÖƬ×ֶΡ£
³£¼û·ÖƬ¹æÔò
³£¼ûµÄ·ÖƬ²ßÂÔÓÐËæ»ú·ÖƬºÍÁ¬Ðø·ÖƬÕâÁ½ÖÖ£¬ÈçÏÂͼËùʾ£º

µ±ÐèҪʹÓÃ·ÖÆ¬×ֶνøÐз¶Î§²éÕÒʱ£¬Á¬Ðø·ÖƬ¿ÉÒÔ¿ìËÙ¶¨Î»·ÖƬ½øÐиßЧ²éѯ£¬´ó¶àÊýÇé¿öÏ¿ÉÒÔÓÐЧ±ÜÃâ¿ç·ÖƬ²éѯµÄÎÊÌâ¡£ºóÆÚÈç¹ûÏë¶ÔÕû¸ö·ÖƬ¼¯ÈºÀ©ÈÝʱ£¬Ö»ÐèÒªÌí¼Ó½Úµã¼´¿É£¬ÎÞÐè¶ÔÆäËû·ÖƬµÄÊý¾Ý½øÐÐÇ¨ÒÆ¡£µ«ÊÇ£¬Á¬Ðø·ÖƬҲÓпÉÄÜ´æÔÚÊý¾ÝÈȵãµÄÎÊÌ⣬¾ÍÏñͼÖа´Ê±¼ä×Ö¶Î·ÖÆ¬µÄÀý×Ó£¬ÓÐЩ½Úµã¿ÉÄܻᱻƵ·±²éѯѹÁ¦½Ï´ó£¬ÈÈÊý¾Ý½Úµã¾Í³ÉΪÁËÕû¸ö¼¯ÈºµÄÆ¿¾±¡£¶øÓÐЩ½Úµã¿ÉÄÜ´æµÄÊÇÀúÊ·Êý¾Ý£¬ºÜÉÙÐèÒª±»²éѯµ½¡£
Ëæ»ú·ÖƬÆäʵ²¢²»ÊÇËæ»úµÄ£¬Ò²×ñÑÒ»¶¨¹æÔò¡£Í¨³££¬ÎÒÃÇ»á²ÉÓÃHashȡģµÄ·½Ê½½øÐÐ·ÖÆ¬²ð·Ö£¬ËùÒÔÓÐЩʱºòÒ²±»³ÆÎªÀëÉ¢·ÖƬ¡£Ëæ»ú·ÖƬµÄÊý¾ÝÏà¶Ô±È½Ï¾ùÔÈ£¬²»ÈÝÒ׳öÏÖÈȵãºÍ²¢·¢·ÃÎÊµÄÆ¿¾±¡£µ«ÊÇ£¬ºóÆÚ·ÖƬ¼¯ÈºÀ©ÈÝÆðÀ´ÐèÒªÇ¨ÒÆ¾ÉµÄÊý¾Ý¡£Ê¹ÓÃÒ»ÖÂÐÔHashËã·¨Äܹ»ºÜ´ó³Ì¶ÈµÄ±ÜÃâÕâ¸öÎÊÌ⣬ËùÒԺܶàÖмä¼þµÄ·ÖƬ¼¯Èº¶¼»á²ÉÓÃÒ»ÖÂÐÔHashËã·¨¡£ÀëÉ¢·ÖƬҲºÜÈÝÒ×ÃæÁÙ¿ç·ÖƬ²éѯµÄ¸´ÔÓÎÊÌâ¡£
Êý¾ÝÇ¨ÒÆ£¬ÈÝÁ¿¹æ»®£¬À©ÈݵÈÎÊÌâ
ºÜÉÙÓÐÏîÄ¿»áÔÚ³õÆÚ¾Í¿ªÊ¼¿¼ÂÇ·ÖÆ¬Éè¼ÆµÄ£¬Ò»°ã¶¼ÊÇÔÚÒµÎñ¸ßËÙ·¢Õ¹ÃæÁÙÐÔÄܺʹ洢µÄÆ¿¾±Ê±²Å»áÌáǰ׼±¸¡£Òò´Ë£¬²»¿É±ÜÃâµÄ¾ÍÐèÒª¿¼ÂÇÀúÊ·Êý¾ÝÇ¨ÒÆµÄÎÊÌâ¡£Ò»°ã×ö·¨¾ÍÊÇͨ¹ý³ÌÐòÏȶÁ³öÀúÊ·Êý¾Ý£¬È»ºó°´ÕÕÖ¸¶¨µÄ·ÖƬ¹æÔòÔÙ½«Êý¾ÝдÈëµ½¸÷¸ö·ÖƬ½ÚµãÖС£
´ËÍ⣬ÎÒÃÇÐèÒª¸ù¾Ýµ±Ç°µÄÊý¾ÝÁ¿ºÍQPSµÈ½øÐÐÈÝÁ¿¹æ»®£¬×ۺϳɱ¾ÒòËØ£¬ÍÆËã³ö´ó¸ÅÐèÒª¶àÉÙ·ÖÆ¬£¨Ò»°ã½¨Òéµ¥¸ö·ÖƬÉϵĵ¥±íÊý¾ÝÁ¿²»Òª³¬¹ý1000W£©¡£
Èç¹ûÊDzÉÓÃËæ»ú·ÖƬ£¬ÔòÐèÒª¿¼ÂǺóÆÚµÄÀ©ÈÝÎÊÌ⣬Ïà¶Ô»á±È½ÏÂé·³¡£Èç¹ûÊDzÉÓõķ¶Î§·ÖƬ£¬Ö»ÐèÒªÌí¼Ó½Úµã¾Í¿ÉÒÔ×Ô¶¯À©ÈÝ¡£
¿ç·ÖƬ¼¼ÊõÎÊÌâ
¿ç·ÖƬµÄÅÅÐò·ÖÒ³
Ò»°ãÀ´½²£¬·ÖҳʱÐèÒª°´ÕÕÖ¸¶¨×ֶνøÐÐÅÅÐò¡£µ±ÅÅÐò×ֶξÍÊÇ·ÖÆ¬×ֶεÄʱºò£¬ÎÒÃÇͨ¹ý·ÖƬ¹æÔò¿ÉÒԱȽÏÈÝÒ×¶¨Î»µ½Ö¸¶¨µÄ·ÖƬ£¬¶øµ±ÅÅÐò×Ö¶Î·Ç·ÖÆ¬×ֶεÄʱºò£¬Çé¿ö¾Í»á±äµÃ±È½Ï¸´ÔÓÁË¡£ÎªÁË×îÖÕ½á¹ûµÄ׼ȷÐÔ£¬ÎÒÃÇÐèÒªÔÚ²»Í¬µÄ·ÖƬ½ÚµãÖн«Êý¾Ý½øÐÐÅÅÐò²¢·µ»Ø£¬²¢½«²»Í¬·ÖƬ·µ»ØµÄ½á¹û¼¯½øÐлã×ܺÍÔÙ´ÎÅÅÐò£¬×îºóÔÙ·µ»Ø¸øÓû§¡£ÈçÏÂͼËùʾ£º

ÉÏÃæÍ¼ÖÐËùÃèÊöµÄÖ»ÊÇ×î¼òµ¥µÄÒ»ÖÖÇé¿ö£¨È¡µÚÒ»Ò³Êý¾Ý£©£¬¿´ÆðÀ´¶ÔÐÔÄܵÄÓ°Ïì²¢²»´ó¡£µ«ÊÇ£¬Èç¹ûÏëÈ¡³öµÚ10Ò³Êý¾Ý£¬Çé¿öÓÖ½«±äµÃ¸´ÔӺܶ࣬ÈçÏÂͼËùʾ£º

ÓÐЩ¶ÁÕß¿ÉÄܲ¢²»Ì«Àí½â£¬ÎªÊ²Ã´²»ÄÜÏñ»ñÈ¡µÚÒ»Ò³Êý¾ÝÄÇÑù¼òµ¥´¦Àí£¨ÅÅÐòÈ¡³öǰ10ÌõÔٺϲ¢¡¢ÅÅÐò£©¡£Æäʵ²¢²»ÄÑÀí½â£¬ÒòΪ¸÷·ÖƬ½ÚµãÖеÄÊý¾Ý¿ÉÄÜÊÇËæ»úµÄ£¬ÎªÁËÅÅÐòµÄ׼ȷÐÔ£¬±ØÐë°ÑËùÓÐ·ÖÆ¬½ÚµãµÄǰNÒ³Êý¾Ý¶¼ÅÅÐòºÃºó×öºÏ²¢£¬×îºóÔÙ½øÐÐÕûÌåµÄÅÅÐò¡£ºÜÏÔÈ»£¬ÕâÑùµÄ²Ù×÷ÊDZȽÏÏûºÄ×ÊÔ´µÄ£¬Óû§Ô½Íùºó·Ò³£¬ÏµÍ³ÐÔÄܽ«»áÔ½²î¡£
¿ç·ÖƬµÄº¯Êý´¦Àí
ÔÚʹÓÃMax¡¢Min¡¢Sum¡¢CountÖ®ÀàµÄº¯Êý½øÐÐͳ¼ÆºÍ¼ÆËãµÄʱºò£¬ÐèÒªÏÈÔÚÿ¸ö·ÖƬÊý¾ÝÔ´ÉÏÖ´ÐÐÏàÓ¦µÄº¯Êý´¦Àí£¬È»ºóÔÙ½«¸÷¸ö½á¹û¼¯½øÐжþ´Î´¦Àí£¬×îÖÕÔÙ½«´¦Àí½á¹û·µ»Ø¡£ÈçÏÂͼËùʾ£º

¿ç·ÖƬjoin
JoinÊǹØÏµÐÍÊý¾Ý¿âÖÐ×î³£ÓõÄÌØÐÔ£¬µ«ÊÇÔÚ·ÖÆ¬¼¯ÈºÖУ¬joinÒ²±äµÃ·Ç³£¸´ÔÓ¡£Ó¦¸Ã¾¡Á¿±ÜÃâ¿ç·ÖƬµÄjoin²éѯ£¨ÕâÖÖ³¡¾°£¬±ÈÉÏÃæµÄ¿ç·ÖƬ·ÖÒ³¸ü¼Ó¸´ÔÓ£¬¶øÇÒ¶ÔÐÔÄܵÄÓ°ÏìºÜ´ó£©¡£Í¨³£ÓÐÒÔϼ¸ÖÖ·½Ê½À´±ÜÃ⣺
È«¾Ö±í
È«¾Ö±íµÄ¸ÅÄî֮ǰÔÚ¡°´¹Ö±·Ö¿â¡±Ê±Ìá¹ý¡£»ù±¾Ë¼ÏëÒ»Ö£¬¾ÍÊǰÑһЩÀàËÆÊý¾Ý×ÖµäÓÖ¿ÉÄÜ»á²úÉújoin²éѯµÄ±íÐÅÏ¢·Åµ½¸÷·ÖƬÖУ¬´Ó¶ø±ÜÃâ¿ç·ÖƬµÄjoin¡£
ER·ÖƬ
ÔÚ¹ØÏµÐÍÊý¾Ý¿âÖУ¬±íÖ®¼äÍùÍù´æÔÚһЩ¹ØÁªµÄ¹ØÏµ¡£Èç¹ûÎÒÃÇ¿ÉÒÔÏÈÈ·¶¨ºÃ¹ØÁª¹ØÏµ£¬²¢½«ÄÇЩ´æÔÚ¹ØÁª¹ØÏµµÄ±í¼Ç¼´æ·ÅÔÚͬһ¸ö·ÖƬÉÏ£¬ÄÇô¾ÍÄܺܺõıÜÃâ¿ç·ÖƬjoinÎÊÌâ¡£ÔÚÒ»¶Ô¶à¹ØÏµµÄÇé¿öÏ£¬ÎÒÃÇͨ³£»áÑ¡Ôñ°´ÕÕÊý¾Ý½Ï¶àµÄÄÇÒ»·½½øÐвð·Ö¡£ÈçÏÂͼËùʾ£º

ÕâÑùÒ»À´£¬Data Node1ÉÏÃæµÄ¶©µ¥±íÓë¶©µ¥Ïêϸ±í¾Í¿ÉÒÔÖ±½Ó¹ØÁª£¬½øÐоֲ¿µÄjoin²éѯÁË£¬Data
Node2ÉÏÒ²Ò»Ñù¡£»ùÓÚER·ÖƬµÄÕâÖÖ·½Ê½£¬Äܹ»ÓÐЧ±ÜÃâ´ó¶àÊýÒµÎñ³¡¾°ÖеĿç·ÖƬjoinÎÊÌâ¡£
ÄÚ´æ¼ÆËã
Ëæ×ÅsparkÄÚ´æ¼ÆËãµÄÐËÆð£¬ÀíÂÛÉÏÀ´½²£¬ºÜ¶à¿çÊý¾ÝÔ´µÄ²Ù×÷ÎÊÌâ¿´ÆðÀ´Ëƺõ¶¼Äܹ»µÃµ½½â¾ö¡£¿ÉÒÔ½«Êý¾Ý¶ª¸øspark¼¯Èº½øÐÐÄÚ´æ¼ÆË㣬×îºó½«¼ÆËã½á¹û·µ»Ø¡£
¿ç·ÖƬÊÂÎñÎÊÌâ
¿ç·ÖƬÊÂÎñÒ²·Ö²¼Ê½ÊÂÎñ£¬ÏëÒªÁ˽â·Ö²¼Ê½ÊÂÎñ£¬¾ÍÐèÒªÁ˽⡰XA½Ó¿Ú¡±ºÍ¡°Á½½×¶ÎÌá½»¡±¡£ÖµµÃÌáµ½µÄÊÇ£¬MySQL5.5xºÍ5.6xÖеÄxaÖ§³ÖÊÇ´æÔÚÎÊÌâµÄ£¬»áµ¼ÖÂÖ÷´ÓÊý¾Ý²»Ò»Ö¡£Ö±µ½5.7x°æ±¾Öвŵõ½ÐÞ¸´¡£JavaÓ¦ÓóÌÐò¿ÉÒÔ²ÉÓÃAtomikos¿ò¼ÜÀ´ÊµÏÖXAÊÂÎñ£¨J2EEÖÐJTA£©¡£¸ÐÐËȤµÄ¶ÁÕß¿ÉÒÔ×ÔÐвο¼¡¶·Ö²¼Ê½ÊÂÎñÒ»ÖÂÐÔ½â¾ö·½°¸¡·£¬Á´½ÓµØÖ·£º
http://www.infoq.com/cn/articles/solution-of-distributed-system-transaction-consistency
ÎÒÃǵÄÏµÍ³ÕæµÄÐèÒª·Ö¿â·Ö±íÂð
¶ÁÍêÉÏÃæÄÚÈÝ£¬²»½ûÒýÆðÓÐЩ¶ÁÕßµÄ˼¿¼£¬ÎÒÃǵÄϵͳÊÇ·ñÐèÒª·Ö¿â·Ö±íÂð£¿
ÆäʵÕâµãûÓÐÃ÷È·µÄÅжϱê×¼£¬±È½ÏÒÀÀµÊµ¼ÊÒµÎñÇé¿öºÍ¾ÑéÅжϡ£ÒÀÕÕ±ÊÕ߸öÈ˵ľÑ飬һ°ãMySQLµ¥±í1000W×óÓÒµÄÊý¾ÝÊÇûÓÐÎÊÌâµÄ£¨Ç°ÌáÊÇÓ¦ÓÃϵͳºÍÊý¾Ý¿âµÈ²ãÃæÉè¼ÆºÍÓÅ»¯µÄ±È½ÏºÃ£©¡£µ±È»£¬³ýÁË¿¼Âǵ±Ç°µÄÊý¾ÝÁ¿ºÍÐÔÄÜÇé¿öʱ£¬×÷Ϊ¼Ü¹¹Ê¦£¬ÎÒÃÇÐèÒªÌáǰ¿¼ÂÇϵͳ°ëÄêµ½Ò»Äê×óÓÒµÄÒµÎñÔö³¤Çé¿ö£¬¶ÔÊý¾Ý¿â·þÎñÆ÷µÄQPS¡¢Á¬½ÓÊý¡¢ÈÝÁ¿µÈ×öºÏÀíÆÀ¹ÀºÍ¹æ»®£¬²¢Ìáǰ×öºÃÏàÓ¦µÄ×¼±¸¹¤×÷¡£Èç¹ûµ¥»úÎÞ·¨Âú×㣬ÇÒºÜÄÑÔÙ´ÓÆäËû·½ÃæÓÅ»¯£¬ÄÇô˵Ã÷ÊÇÐèÒª¿¼ÂÇ·ÖÆ¬µÄ¡£ÕâÖÖÇé¿ö¿ÉÒÔÏÈÈ¥µôÊý¾Ý¿âÖÐ×ÔÔöID£¬Îª·ÖƬºÍºóÃæµÄÊý¾ÝÇ¨ÒÆ¹¤×÷Ìáǰ×ö×¼±¸¡£
ºÜ¶àÈ˾õµÃ¡°·Ö¿â·Ö±í¡±ÊÇÒËÔç²»Ò˳٣¬Ó¦¸Ã¾¡Ôç½øÐУ¬ÒòΪµ£ÐÄÔ½Íùºó¹«Ë¾ÒµÎñ·¢Õ¹Ô½¿ì¡¢ÏµÍ³Ô½À´Ô½¸´ÔÓ¡¢ÏµÍ³Öع¹ºÍÀ©Õ¹Ô½À§ÄÑ¡ÕâÖÖ»°ÌýÆðÀ´ÊÇÓÐÄÇôһµãµÀÀí£¬µ«ÎҵĹ۵ãÇ¡ºÃÏà·´£¬¶ÔÓÚ¹ØÏµÐÍÊý¾Ý¿âÀ´½²£¬ÎÒÈÏΪ¡°Äܲ»·ÖƬ¾Í±ð·ÖƬ¡±£¬³ý·ÇÊÇÏµÍ³ÕæÕýÐèÒª£¬ÒòΪÊý¾Ý¿â·ÖƬ²¢·ÇµÍ³É±¾»òÕßÃâ·ÑµÄ¡£
ÕâÀï±ÊÕßÍÆ¼öÒ»¸ö±È½Ï¿¿Æ×µÄ¹ý¶É¼¼Êõ¨C¡°±í·ÖÇø¡±¡£Ö÷Á÷µÄ¹ØÏµÐÍÊý¾Ý¿âÖлù±¾¶¼Ö§³Ö¡£²»Í¬µÄ·ÖÇøÔÚÂß¼ÉÏÈÔÊÇÒ»ÕÅ±í£¬µ«ÊÇÎïÀíÉÏÈ´ÊÇ·Ö¿ªµÄ£¬ÄÜÔÚÒ»¶¨³Ì¶ÈÉÏÌá¸ß²éѯÐÔÄÜ£¬¶øÇÒ¶ÔÓ¦ÓóÌÐò͸Ã÷£¬ÎÞÐèÐÞ¸ÄÈκδúÂë¡£±ÊÕßÔø¾¸ºÔðÓÅ»¯¹ýÒ»¸öϵͳ£¬Ö÷ÒµÎñ±íÓдóÔ¼8000W×óÓÒµÄÊý¾Ý£¬¿¼Âǵ½³É±¾ÎÊÌ⣬µ±Ê±¾ÍÊDzÉÓá°±í·ÖÇø¡±À´×öµÄ£¬Ð§¹û±È½ÏÃ÷ÏÔ£¬ÇÒϵͳÔËÐеĺÜÎȶ¨¡£
С½á
×îºó£¬Óкܶà¶ÁÕß¶¼ÏëÁ˽⵱ǰÉçÇøÖÐÓÐûÓпªÔ´Ãâ·ÑµÄ·Ö¿â·Ö±í½â¾ö·½°¸£¬±Ï¾¹Õ¾ÔÚ¾ÞÈ˵ļç°òÉÏÄÜÊ¡Á¦ºÜ¶à¡£µ±Ç°Ö÷ÒªÓÐÁ½Àà½â¾ö·½°¸£º
»ùÓÚÓ¦ÓóÌÐò²ãÃæµÄDDAL£¨·Ö²¼Ê½Êý¾Ý¿â·ÃÎʲ㣩
±È½ÏµäÐ͵ľÍÊÇÌÔ±¦°ë¿ªÔ´µÄTDDL£¬µ±µ±Íø¿ªÔ´µÄSharding-JDBCµÈ¡£·Ö²¼Ê½Êý¾Ý·ÃÎʲãÎÞÐèÓ²¼þͶÈ룬¼¼ÊõÄÜÁ¦½ÏÇ¿µÄ´ó¹«Ë¾Í¨³£»áÑ¡Ôñ×ÔÑлò²ÎÕÕ¿ªÔ´¿ò¼Ü½øÐжþ´Î¿ª·¢ºÍ¶¨ÖÆ¡£¶ÔÓ¦ÓóÌÐòµÄÇÖÈëÐÔÒ»°ã½Ï´ó£¬»áÔö¼Ó¼¼Êõ³É±¾ºÍ¸´ÔÓ¶È¡£Í¨³£½öÖ§³ÖÌØ¶¨±à³ÌÓïÑÔÆ½Ì¨£¨Javaƽ̨µÄ¾Ó¶à£©£¬»òÕß½öÖ§³ÖÌØ¶¨µÄÊý¾Ý¿âºÍÌØ¶¨Êý¾Ý·ÃÎÊ¿ò¼Ü¼¼Êõ£¨Ò»°ãÖ§³ÖMySQLÊý¾Ý¿â£¬JDBC¡¢MyBatis¡¢HibernateµÈ¿ò¼Ü¼¼Êõ£©¡£
Êý¾Ý¿âÖмä¼þ£¬±È½ÏµäÐ͵ÄÏñmycat£¨ÔÚ°¢À↑ԴµÄcobar»ù´¡ÉÏ×öÁ˺ܶàÓÅ»¯ºÍ¸Ä½ø£¬ÊôÓÚºóÆðÖ®Ð㣬Ҳ֧³ÖºÜ¶àÐÂÌØÐÔ£©£¬»ùÓÚGoÓïÑÔʵÏÖkingSharding£¬±È½ÏÀÏÅÆµÄAtlas£¨ÓÉ360¿ªÔ´£©µÈ¡£ÕâЩÖмä¼þÔÚ»¥ÁªÍøÆóÒµÖдóÁ¿±»Ê¹Óá£ÁíÍ⣬MySQL
5.xÆóÒµ°æÖйٷ½ÌṩµÄFabric×é¼þÒ²ºÅ³ÆÖ§³Ö·ÖƬ¼¼Êõ£¬²»¹ý¹úÄÚʹÓÃµÄÆóÒµ½ÏÉÙ¡£
Öмä¼þÒ²¿ÉÒÔ³ÆÎª¡°Í¸Ã÷Íø¹Ø¡±£¬´óÃû¶¦¶¦µÄmysql_proxy´ó¸ÅÊǸÃÁìÓòµÄ±Ç׿£¨ÓÉMySQL¹Ù·½Ìṩ£¬½öÏÞÓÚʵÏÖ¡°¶Áд·ÖÀ롱£©¡£Öмä¼þÒ»°ãʵÏÖÁËÌØ¶¨Êý¾Ý¿âµÄÍøÂçͨÐÅÐÒ飬ģÄâÒ»¸öÕæÊµµÄÊý¾Ý¿â·þÎñ£¬ÆÁ±ÎÁ˺ó¶ËÕæÊµµÄServer£¬Ó¦ÓóÌÐòͨ³£Ö±½ÓÁ¬½ÓÖмä¼þ¼´¿É¡£¶øÔÚÖ´ÐÐSQL²Ù×÷ʱ£¬Öмä¼þ»á°´ÕÕÔ¤Ïȶ¨Òå·ÖƬ¹æÔò£¬¶ÔSQLÓï¾ä½øÐнâÎö¡¢Â·ÓÉ£¬²¢¶Ô½á¹û¼¯×ö¶þ´Î¼ÆËãÔÙ×îÖÕ·µ»Ø¡£ÒýÈëÊý¾Ý¿âÖмä¼þµÄ¼¼Êõ³É±¾¸üµÍ£¬¶ÔÓ¦ÓóÌÐòÀ´½²ÇÖÈëÐÔ¼¸ºõûÓУ¬¿ÉÒÔÂú×ã´ó²¿·ÖµÄÒµÎñ¡£Ôö¼ÓÁ˶îÍâµÄÓ²¼þͶÈëºÍÔËά³É±¾£¬Í¬Ê±£¬Öмä¼þ×ÔÉíÒ²´æÔÚÐÔÄÜÆ¿¾±ºÍµ¥µã¹ÊÕÏÎÊÌ⣬ÐèÒªÄܹ»±£Ö¤Öмä¼þ×ÔÉíµÄ¸ß¿ÉÓᢿÉÀ©Õ¹¡£
×ÜÖ®£¬²»¹ÜÊÇʹÓ÷ֲ¼Ê½Êý¾Ý·ÃÎʲ㻹ÊÇÊý¾Ý¿âÖмä¼þ£¬¶¼»á´øÀ´Ò»¶¨µÄ³É±¾ºÍ¸´ÔÓ¶È£¬Ò²»áÓÐÒ»¶¨µÄÐÔÄÜÓ°Ïì¡£ËùÒÔ£¬»¹Ðè¶ÁÕ߸ù¾Ýʵ¼ÊÇé¿öºÍÒµÎñ·¢Õ¹ÐèÒªÉ÷ÖØ¿¼ÂǺÍÑ¡Ôñ¡£
|