¶øÔÚCQRS¼Ü¹¹Ï£¬ÒòΪCQRS¼Ü¹¹°Ñ¶ÁºÍд·ÖÀëÁË£¬ËùÒÔ¿ÉÓÃÐÔÏ൱ÓÚ±»¸ôÀëÔÚÁËÁ½¸ö²¿·ÖÈ¥¿¼ÂÇ¡£ÎÒÃÇÖ»ÐèÒª¿¼ÂÇC¶ËÈçºÎ½â¾öдµÄ¿ÉÓÃÐÔ£¬Q¶ËÈçºÎ½â¾ö¶ÁµÄ¿ÉÓÃÐÔ¼´¿É¡£C¶Ë½â¾ö¿ÉÓÃÐÔ£¬ÎÒ¾õµÃÊǸü¼ÓÈÝÒ׵ģ¬ÒòΪC¶ËÊÇÏûÏ¢Çý¶¯µÄ¡£ÎÒÃÇÒª×öÈκÎÊý¾ÝÐÞ¸Äʱ£¬¶¼»á·¢ËÍCommandµ½·Ö²¼Ê½ÏûÏ¢¶ÓÁУ¬È»ºóºó¶ËÏû·ÑÕß´¦ÀíCommand->²úÉúÁìÓòʼþ->³Ö¾Ã»¯Ê¼þ->·¢²¼Ê¼þµ½·Ö²¼Ê½ÏûÏ¢¶ÓÁÐ->×îºóʼþ±»Q¶ËÏû·Ñ¡£Õâ¸öÁ´Â·ÊÇÏûÏ¢Çý¶¯µÄ¡£Ïà±È´«Í³¼Ü¹¹µÄÖ±½Ó·þÎñ·½·¨µ÷Ó㬿ÉÓÃÐÔÒª¸ßºÜ¶à¡£ÒòΪ¾ÍËãÎÒÃÇ´¦ÀíCommandµÄºó¶ËÏû·ÑÕßÔÝʱ¹ÒÁË£¬Ò²²»»áÓ°ÏìÇ°¶ËController·¢ËÍCommand£¬ControllerÒÀÈ»¿ÉÓᣴÓÕâ¸ö½Ç¶ÈÀ´Ëµ£¬CQRS¼Ü¹¹ÔÚÊý¾ÝÐÞ¸ÄÉÏ¿ÉÓÃÐÔÒª¸ü¸ß¡£²»¹ýÄã¿ÉÄÜ»á˵£¬ÒªÊÇ·Ö²¼Ê½ÏûÏ¢¶ÓÁйÒÁËÄØ£¿ºÇºÇ£¬¶Ô£¬ÕâȷʵҲÊÇÓпÉÄܵġ£µ«ÊÇÒ»°ã·Ö²¼Ê½ÏûÏ¢¶ÓÁÐÊôÓÚÖмä¼þ£¬Ò»°ãÖмä¼þ¶¼¾ßÓкܸߵĿÉÓÃÐÔ£¨Ö§³Ö¼¯ÈººÍÖ÷±¸Çл»£©£¬ËùÒÔÏà±ÈÎÒÃǵÄÓ¦ÓÃÀ´Ëµ£¬¿ÉÓÃÐÔÒª¸ßºÜ¶à¡£ÁíÍ⣬ÒòΪÃüÁîÊÇÏÈ·¢Ë͵½·Ö²¼Ê½ÏûÏ¢¶ÓÁУ¬ÕâÑù¾ÍÄܳä·ÖÀûÓ÷ֲ¼Ê½ÏûÏ¢¶ÓÁеÄÓÅÊÆ£ºÒì²½»¯¡¢Àģʽ¡¢Ï÷·åÌî¹È¡¢»ùÓÚ¶ÓÁеÄˮƽÀ©Õ¹¡£ÕâЩÌØÐÔ¿ÉÒÔ±£Ö¤¼´±ãÇ°¶ËControllerÔڸ߷åʱ˲¼ä·¢ËÍ´óÁ¿µÄCommand¹ýÀ´£¬Ò²²»»áµ¼Öºó¶Ë´¦ÀíCommandµÄÓ¦Óùҵô£¬ÒòΪÎÒÃÇÊǸù¾Ý×Ô¼ºµÄÏû·ÑÄÜÁ¦ÀÈ¡Command¡£ÕâµãÒ²ÊÇCQRS C¶ËÔÚ¿ÉÓÃÐÔ·½ÃæµÄÓÅÊÆ£¬Æäʵ±¾ÖÊÒ²ÊÇ·Ö²¼Ê½ÏûÏ¢¶ÓÁдøÀ´µÄÓÅÊÆ¡£ËùÒÔ£¬´ÓÕâÀïÎÒÃÇ¿ÉÒÔÌå»áµ½EDA¼Ü¹¹£¨Ê¼þÇý¶¯¼Ü¹¹£©ÊǷdz£ÓмÛÖµµÄ£¬Õâ¸ö¼Ü¹¹Ò²ÌåÏÖÁËÎÒÃÇÄ¿Ç°±È½ÏÁ÷ÐеÄReactive Programming£¨ÏìӦʽ±à³Ì£©µÄ˼Ïë¡£
È»ºó£¬¶ÔÓÚQ¶Ë£¬Ó¦¸Ã˵ºÍ´«Í³¼Ü¹¹Ã»Ê²Ã´Çø±ð£¬ÒòΪ¶¼ÊÇÒª´¦Àí¸ß²¢·¢µÄ²éѯ¡£ÕâµãÒÔÇ°ÔõôÓÅ»¯µÄ£¬ÏÖÔÚ»¹ÊÇÔõôÓÅ»¯¡£µ«ÊǾÍÏñÎÒÉÏÃæ¿ÉÀ©Õ¹ÐÔÀïÇ¿µ÷µÄ£¬CQRS¼Ü¹¹¿ÉÒÔ¸ü·½±ãµÄÌṩ¸ü¶àµÄView´æ´¢£¬Êý¾Ý¿â¡¢»º´æ¡¢ËÑË÷ÒýÇæ¡¢NoSQL£¬¶øÇÒÕâЩ´æ´¢µÄ¸üÐÂÍêÈ«¿ÉÒÔ²¢ÐнøÐУ¬»¥Ï಻»áÍÏÀÛ¡£ÀíÏëµÄ³¡¾°£¬ÎÒ¾õµÃÓ¦¸ÃÊÇ£¬Èç¹ûÄãµÄÓ¦ÓÃҪʵÏÖÈ«ÎÄË÷ÒýÕâÖÖ¸´ÔÓ²éѯ£¬ÄÇ¿ÉÒÔÔÚQ¶ËʹÓÃËÑË÷ÒýÇ棬±ÈÈçElasticSearch£»Èç¹ûÄãµÄ²éѯ³¡¾°¿ÉÒÔͨ¹ýkeyvalueÕâÖÖÊý¾Ý½á¹¹Âú×㣬ÄÇÎÒÃÇ¿ÉÒÔÔÚQ¶ËʹÓÃRedisÕâÖÖNoSql·Ö²¼Ê½»º´æ¡£×ÜÖ®£¬ÎÒÈÏΪCQRS¼Ü¹¹£¬ÎÒÃǽâ¾ö²éѯÎÊÌâ»á±È´«Í³¼Ü¹¹¸ü¼ÓÈÝÒ×£¬ÒòΪÎÒÃÇÑ¡Ôñ¸ü¶àÁË¡£µ«ÊÇÄã¿ÉÄÜ»á˵£¬Îҵij¡¾°Ö»ÄÜÓùØϵÐÍÊý¾Ý¿â½â¾ö£¬ÇÒ²éѯµÄ²¢·¢Ò²ÊǷdz£¸ß¡£ÄÇû°ì·¨ÁË£¬Î¨Ò»µÄ°ì·¨¾ÍÊÇ·ÖÉ¢²éѯIO£¬ÎÒÃǶÔÊý¾Ý¿â×ö·Ö¿â·Ö±í£¬ÒÔ¼°¶ÔÊý¾Ý¿â×öÒ»Ö÷¶à±¸£¬²éѯ×ß±¸»ú¡£ÕâµãÉÏ£¬½â¾ö˼·¾ÍÊǺʹ«Í³¼Ü¹¹Ò»ÑùÁË¡£
ÐÔÄÜ¡¢ÉìËõÐÔ±¾À´Ïë°ÑÐÔÄܺÍÉìËõÐÔ·Ö¿ªÐ´µÄ£¬µ«ÊÇÏëÏëÕâÁ½¸öÆäʵÓÐÒ»¶¨µÄ¹ØÁª£¬ËùÒÔ¾ö¶¨·ÅÔÚÒ»Æðд¡£
ÉìËõÐÔµÄÒâ˼ÊÇ£¬µ±Ò»¸öϵͳ£¬ÔÚ100ÈË·ÃÎÊʱ£¬ÐÔÄÜ£¨ÍÌÍÂÁ¿¡¢ÏìӦʱ¼ä£©ºÜ²»´í£¬ÔÚ100WÈË·ÃÎÊʱÐÔÄÜҲͬÑù²»´í£¬Õâ¾ÍÊÇÉìËõÐÔ¡£100ÈË·ÃÎʺÍ100WÈË·ÃÎÊ£¬¶ÔϵͳµÄѹÁ¦ÏÔÈ»ÊDz»Í¬µÄ¡£Èç¹ûÎÒÃǵÄϵͳ£¬Ôڼܹ¹ÉÏ£¬Äܹ»×öµ½Í¨¹ý¼òµ¥µÄÔö¼Ó»úÆ÷£¬¾ÍÄÜÌá¸ßϵͳµÄ·þÎñÄÜÁ¦£¬ÄÇÎÒÃǾͿÉÒÔ˵ÕâÖּܹ¹µÄÉìËõÐÔºÜÇ¿¡£ÄÇÎÒÃÇÀ´ÏëÏ봫ͳ¼Ü¹¹ºÍCQRS¼Ü¹¹ÔÚÐÔÄܺÍÉìËõÐÔÉÏÃæµÄ±íÏÖ¡£
˵µ½ÐÔÄÜ£¬´ó¼ÒÒ»°ã»áÏÈ˼¿¼Ò»¸öϵͳµÄÐÔÄÜÆ¿¾±ÔÚÄÄÀï¡£Ö»ÒªÎÒÃǽâ¾öÁËÐÔÄÜÆ¿¾±£¬ÄÇϵͳ¾ÍÒâζמßÓÐͨ¹ýˮƽÀ©Õ¹À´´ïµ½¿ÉÉìËõµÄÄ¿µÄÁË£¨µ±È»ÕâÀïûÓп¼ÂÇÊý¾Ý´æ´¢µÄˮƽÀ©Õ¹£©¡£ËùÒÔ£¬ÎÒÃÇÖ»Òª·ÖÎöһϴ«Í³¼Ü¹¹ºÍCQRS¼Ü¹¹µÄÆ¿¾±µãÔÚÄÄÀï¼´¿É¡£
´«Í³¼Ü¹¹£¬Æ¿¾±Í¨³£ÔڵײãÊý¾Ý¿â¡£È»ºóÎÒÃÇÒ»°ãµÄ×ö·¨ÊÇ£¬¶ÔÓÚ¶Á£ºÍ¨³£Ê¹Óûº´æ¾Í¿ÉÒÔ½â¾ö´ó²¿·Ö²éѯÎÊÌ⣻¶ÔÓÚд£º°ì·¨Ò²Óкܶ࣬±ÈÈç·Ö¿â·Ö±í£¬»òÕßʹÓÃNoSQL£¬µÈµÈ¡£±ÈÈç°¢Àï´óÁ¿²ÉÓ÷ֿâ·Ö±íµÄ·½°¸£¬¶øÇÒδÀ´Ó¦¸Ã»áÈ«²¿Ê¹ÓøߴóÉϵÄOceanBaseÀ´Ìæ´ú·Ö¿â·Ö±íµÄ·½°¸¡£Í¨¹ý·Ö¿â·Ö±í£¬±¾À´Ò»Ì¨Êý¾Ý¿â·þÎñÆ÷¸ß·åʱ¿ÉÄÜÒª³ÐÊÜ10WµÄ¸ß²¢·¢Ð´£¬Èç¹ûÎÒÃÇ°ÑÊý¾Ý·Åµ½Ê®Ì¨Êý¾Ý¿â·þÎñÆ÷ÉÏ£¬ÄÇÿ̨»úÆ÷Ö»ÐèÒª³Ðµ£1WµÄд£¬Ïà¶ÔÓÚÒª³ÐÊÜ10WµÄд£¬ÏÖÔÚд1W¾ÍÏÔµÃÇáËɺܶàÁË¡£ËùÒÔ£¬Ó¦¸Ã˵Êý¾Ý´æ´¢¶Ô´«Í³¼Ü¹¹À´Ëµ£¬Ò²ÔçÒѲ»ÔÙÊÇÆ¿¾±ÁË¡£
´«Í³¼Ü¹¹Ò»´ÎÊý¾ÝÐ޸ĵIJ½ÖèÊÇ£º1£©´ÓDBÈ¡³öÊý¾Ýµ½Äڴ棻2£©ÄÚ´æÐÞ¸ÄÊý¾Ý£»3£©¸üÐÂÊý¾Ý»ØDB¡£×ܹ²Éæ¼°µ½2´ÎÊý¾Ý¿âIO¡£
È»ºóCQRS¼Ü¹¹£¬CQÁ½¶Ë¼ÓÆðÀ´ËùÓõÄʱ¼ä¿Ï¶¨±È´«Í³¼Ü¹¹Òª¶à£¬ÒòΪCQRS¼Ü¹¹×î¶àÓÐ3´ÎÊý¾Ý¿âIO£¬1£©³Ö¾Ã»¯ÃüÁ2£©³Ö¾Ã»¯Ê¼þ£»3£©¸ù¾Ýʼþ¸üжÁ¿â¡£ÎªÊ²Ã´Ëµ×î¶à£¿ÒòΪ³Ö¾Ã»¯ÃüÁîÕâÒ»²½²»ÊDZØÐëµÄ£¬ÓÐÒ»ÖÖ³¡¾°ÊDz»ÐèÒª³Ö¾Ã»¯ÃüÁîµÄ¡£CQRS¼Ü¹¹Öг־û¯ÃüÁîµÄÄ¿µÄÊÇΪÁË×öÃݵȴ¦Àí£¬¼´ÎÒÃÇÒª·Àֹͬһ¸öÃüÁî±»´¦ÀíÁ½´Î¡£ÄÇÄÄÒ»ÖÖ³¡¾°Ï¿ÉÒÔ²»ÐèÒª³Ö¾Ã»¯ÃüÁîÄØ£¿¾ÍÊǵ±ÃüÁîʱÔÚ´´½¨¾ÛºÏ¸ùʱ£¬¿ÉÒÔ²»ÐèÒª³Ö¾Ã»¯ÃüÁÒòΪ´´½¨¾ÛºÏ¸ùËù²úÉúµÄʼþµÄ°æ±¾ºÅ×ÜÊÇΪ1£¬ËùÒÔÎÒÃÇÔڳ־û¯Ê¼þʱ¸ù¾Ýʼþ°æ±¾ºÅ¾ÍÄܼì²âµ½ÕâÖÖÖظ´¡£
ËùÒÔ£¬ÎÒÃÇ˵£¬ÄãÒªÓÃCQRS¼Ü¹¹£¬¾Í±ØÐëÒª½ÓÊÜCQÊý¾ÝµÄ×îÖÕÒ»ÖÂÐÔ£¬ÒòΪÈç¹ûÄãÒÔ¶Á¿âµÄ¸üÐÂÍê³ÉΪ²Ù×÷´¦ÀíÍê³ÉµÄ»°£¬ÄÇÒ»´ÎÒµÎñ³¡¾°ËùÓõÄʱ¼äºÜ¿ÉÄܱȴ«Í³¼Ü¹¹Òª¶à¡£µ«ÊÇ£¬Èç¹ûÎÒÃÇÒÔC¶ËµÄ´¦ÀíΪ½áÊøµÄ»°£¬ÔòCQRS¼Ü¹¹¿ÉÄÜÒª¿ì£¬ÒòΪC¶Ë¿ÉÄÜÖ»ÐèÒªÒ»´ÎÊý¾Ý¿âIO¡£ÎÒ¾õµÃÕâÀïÓÐÒ»µãºÜÖØÒª£¬¶ÔÓÚCQRS¼Ü¹¹£¬ÎÒÃǸü¼Ó¹Ø×¢C¶Ë´¦ÀíÍê³ÉËùÓõÄʱ¼ä£»¶øQ¶ËµÄ´¦ÀíÉÔ΢ÂýÒ»µãû¹Øϵ£¬ÒòΪQ¶ËÖ»Êǹ©ÎÒÃDz鿴Êý¾ÝÓõģ¨×îÖÕÒ»ÖÂÐÔ£©¡£ÎÒÃÇÑ¡ÔñCQRS¼Ü¹¹£¬¾Í±ØÐëÒª½ÓÊÜQ¶ËÊý¾Ý¸üÐÂÓÐÒ»µãµãÑÓ³ÙµÄȱµã£¬·ñÔò¾Í²»Ó¦¸ÃʹÓÃÕâÖּܹ¹¡£ËùÒÔ£¬Ï£Íû´ó¼ÒÔÚ¸ù¾ÝÄãµÄÒµÎñ³¡¾°×ö¼Ü¹¹Ñ¡ÐÍʱһ¶¨Òª³ä·ÖÈÏʶµ½ÕâÒ»µã¡£
ÁíÍ⣬ÉÏÃæÔÙ̸µ½Êý¾ÝÒ»ÖÂÐÔʱÌáµ½£¬´«Í³¼Ü¹¹»áʹÓÃÊÂÎñÀ´±£Ö¤Êý¾ÝµÄÇ¿Ò»ÖÂÐÔ£»Èç¹ûÊÂÎñÔ½¸´ÔÓ£¬ÄÇÒ»´ÎÊÂÎñËøµÄ±í¾ÍÔ½¶à£¬ËøÊÇϵͳÉìËõÐԵĴóµÐ£»¶øCQRS¼Ü¹¹£¬Ò»¸öÃüÁîÖ»»áÐÞ¸ÄÒ»¸ö¾ÛºÏ¸ù£¬Èç¹ûÒªÐ޸Ķà¸ö¾ÛºÏ¸ù£¬Ôòͨ¹ýSagaÀ´ÊµÏÖ¡£´Ó¶øÈƹýÁ˸´ÔÓÊÂÎñµÄÎÊÌ⣬ͨ¹ý×îÖÕÒ»ÖÂÐÔµÄ˼·×öµ½ÁË×î´óµÄ²¢ÐкÍ×îÉٵIJ¢·¢£¬´Ó¶øÕûÌåÉÏÌá¸ßϵͳµÄÍÌÍÂÄÜÁ¦¡£
ËùÒÔ£¬×ÜÌåÀ´Ëµ£¬ÐÔÄÜÆ¿¾±·½Ã棬Á½Öּܹ¹¶¼ÄÜ¿Ë·þ¡£¶øÖ»Òª¿Ë·þÁËÐÔÄÜÆ¿¾±£¬ÄÇÉìËõÐԾͲ»ÊÇÎÊÌâÁË£¨µ±È»£¬ÕâÀïÎÒûÓп¼ÂÇÊý¾Ý¶ªÊ§¶ø´øÀ´µÄϵͳ²»¿ÉÓõÄÎÊÌâ¡£Õâ¸öÎÊÌâÊÇËùÓмܹ¹¶¼ÎÞ·¨»Ø±ÜµÄÎÊÌ⣬ΨһµÄ½â¾ö°ì·¨¾ÍÊÇÊý¾ÝÈßÓ࣬ÕâÀï²»×öÕ¹¿ªÁË£©¡£Á½ÕßµÄÆ¿¾±¶¼ÔÚÊý¾ÝµÄ³Ö¾Ã»¯ÉÏ£¬µ«ÊÇ´«Í³µÄ¼Ü¹¹ÒòΪ´ó²¿·Öϵͳ¶¼ÊÇÒª´æ´¢Êý¾Ýµ½¹ØϵÐÍÊý¾Ý¿â£¬ËùÒÔÖ»ÄÜ×Ô¼º²ÉÓ÷ֿâ·Ö±íµÄ·½°¸¡£¶øCQRS¼Ü¹¹£¬Èç¹ûÎÒÃÇÖ»¹Ø×¢C¶ËµÄÆ¿¾±£¬ÓÉÓÚC¶ËÒª±£´æµÄ¶«Î÷ºÜ¼òµ¥£¬¾ÍÊÇÃüÁîºÍʼþ£»Èç¹ûÄãÐŵĹýһЩ³ÉÊìµÄNoSQL£¨ÎÒ¾õµÃʹÓÃÎĵµÐÔÊý¾Ý¿âÈçMongoDBÕâÖֱȽÏÊʺϴ洢ÃüÁîºÍʼþ£©£¬ÇÒÄãÒ²ÓÐ×ã¹»µÄÄÜÁ¦ºÍ¾ÑéÈ¥ÔËάËüÃÇ£¬ÄÇ¿ÉÒÔ¿¼ÂÇʹÓÃNoSQLÀ´³Ö¾Ã»¯¡£Èç¹ûÄã¾õµÃNoSQL¿¿²»×¡»òÕßû°ì·¨ÍêÈ«ÕÆ¿Ø£¬ÄÇ¿ÉÒÔʹÓùØϵÐÍÊý¾Ý¿â¡£µ«ÕâÑùÄãÒ²Òª¸¶³öŬÁ¦£¬±ÈÈçÐèÒª×Ô¼º¸ºÔð·Ö¿â·Ö±íÀ´±£´æÃüÁîºÍʼþ£¬ÒòΪÃüÁîºÍʼþµÄÊý¾ÝÁ¿¶¼ÊǺܴóµÄ¡£²»¹ýĿǰһЩÔÆ·þÎñÈç°¢ÀïÔÆ£¬ÒѾÌṩÁËDRDSÕâÖÖÖ±½ÓÖ§³Ö·Ö¿â·Ö±íµÄÊý¾Ý¿â´æ´¢·½°¸£¬¼«´óµÄ¼ò»¯ÁËÎÒÃÇ´æ´¢ÃüÁîºÍʼþµÄ³É±¾¡£¾ÍÎÒ¸öÈ˶øÑÔ£¬ÎÒ¾õµÃÎÒ»¹ÊÇ»á²ÉÓ÷ֿâ·Ö±íµÄ·½°¸£¬ÔÒòºÜ¼òµ¥£ºÈ·±£Êý¾Ý¿É¿¿ÂäµØ¡¢³ÉÊì¡¢¿É¿Ø£¬¶øÇÒÖ§³ÖÕâÖÖÖ»¶ÁÊý¾ÝµÄÂäµØ£¬¿ò¼ÜÄÚÖÃÒªÖ§³Ö·Ö¿â·Ö±íÒ²²»ÊÇʲôÄÑÊ¡£ËùÒÔ£¬Í¨¹ýÕâ¸ö¶Ô±ÈÎÒÃÇÖªµÀ´«Í³¼Ü¹¹£¬ÎÒÃDZØÐëʹÓ÷ֿâ·Ö±í£¨³ý·Ç°¢ÀïÕâÖָߴóÉÏ¿ÉÒÔʹÓÃOceanBase£©£»¶øCQRS¼Ü¹¹£¬¿ÉÒÔ´ø¸øÎÒÃǸü¶àÑ¡Ôñ¿Õ¼ä¡£ÒòΪ³Ö¾Ã»¯ÃüÁîºÍʼþÊǺܼòµ¥µÄ£¬ËüÃǶ¼ÊDz»¿ÉÐ޸ĵÄÖ»¶ÁÊý¾Ý£¬ÇÒ¶Ôkv´æ´¢ÓѺã¬Ò²¿ÉÒÔÑ¡ÔñÎĵµÐÍNoSQL£¬C¶ËÓÀÔ¶ÊÇÐÂÔöÊý¾Ý£¬¶øûÓÐÐ޸Ļòɾ³ýÊý¾Ý¡£×îºó£¬¾ÍÊǹØÓÚQ¶ËµÄÆ¿¾±£¬Èç¹ûÄãQ¶ËÒ²ÊÇʹÓùØϵÐÍÊý¾Ý¿â£¬ÄǺʹ«Í³¼Ü¹¹Ò»Ñù£¬¸ÃÔõôÓÅ»¯¾ÍÔõôÓÅ»¯¡£¶øCQRS¼Ü¹¹ÔÊÐíÄãʹÓÃÆäËûµÄ¼Ü¹¹À´ÊµÏÖQ£¬ËùÒÔÓÅ»¯ÊÖ¶ÎÏà¶Ô¸ü¶à¡£
½áÊøÓï
¡¡