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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
storm·Ö²¼Ê½Á÷¼ÆËãÒýÇæ
 
×÷Õߣº³¬¼¶¹È¸è À´Ô´£ºCSDN ·¢²¼ÓÚ 2015-12-29
  3407  次浏览      30
 

³¡¾°

°éËæ×ÅÐÅÏ¢¿Æ¼¼ÈÕÐÂÔÂÒìµÄ·¢Õ¹£¬ÐÅÏ¢³ÊÏÖ³ö±¬·¢Ê½µÄÅòÕÍ£¬ÈËÃÇ»ñÈ¡ÐÅÏ¢µÄ;¾¶Ò²¸ü¼Ó¶àÑù¡¢¸ü¼Ó±ã½Ý£¬Í¬Ê±¶ÔÓÚÐÅÏ¢µÄʱЧÐÔÒªÇóÒ²Ô½À´Ô½¸ß¡£¾Ù¸öËÑË÷³¡¾°ÖеÄÀý×Ó£¬µ±Ò»¸öÂô¼Ò·¢²¼ÁËÒ»Ìõ±¦±´ÐÅϢʱ£¬ËûÏ£ÍûµÄµ±È»ÊÇÕâ¸ö±¦±´ÂíÉϾͿÉÒÔ±»Âô¼ÒËÑË÷³öÀ´¡¢µã»÷¡¢¹ºÂòÀ²£¬Ïà·´£¬Èç¹ûÕâ¸ö±¦±´ÒªµÈµ½µÚ¶þÌì»òÕ߸ü¾Ã²Å¿ÉÒÔ±»ËѳöÀ´£¬¹À¼ÆÕâ¸ö´ó¸ç¾ÍÒªÂîÄïÁË¡£ÔÙ¾ÙÒ»¸öÍÆ¼öµÄÀý×Ó£¬Èç¹ûÓû§×òÌìÔÚÌÔ±¦ÉÏÂòÁËһ˫Íà×Ó£¬½ñÌìÏëÂòÒ»¸±Ó¾¾µÈ¥ÓÎÓ¾£¬µ«ÊÇÈ´·¢ÏÖϵͳÔÚ²»ÒÅÓàÁ¦µØ¸øËûÍÆ¼öÍà×Ó¡¢Ð¬×Ó£¬¸ù±¾¶ÔËû½ñÌìѰÕÒÓ¾¾µµÄÐÐΪÊÓ¶ø²»¼û£¬¹À¼ÆÕâ¸çÃÇÐÄÀï¾Í»áÏëÍÆ¼öÄãÃÃѽ¡£ÆäʵÉÔ΢Á˽âµã±³¾°ÖªÊ¶µÄÂëÅ©ÃǶ¼ÖªµÀ£¬ÕâÊÇÒòΪºǫ́ϵͳ×öµÄÊÇÿÌìÒ»´ÎµÄÈ«Á¿´¦Àí£¬¶øÇÒ´ó¶àÊÇÔÚÒ¹ÉîÈ˾²Ö®Ê±×öµÄ£¬ÄÇôÄã½ñÌì°×Ìì×öµÄÊÂÇ鵱ȻҪÃ÷Ìì²ÅÄÜ·´Ó³³öÀ´À²¡£

ʵÏÖÒ»¸öʵʱ¼ÆËãϵͳ

È«Á¿Êý¾Ý´¦ÀíʹÓõĴó¶àÊǶ¦¶¦´óÃûµÄhadoop»òÕßhive£¬×÷Ϊһ¸öÅú´¦Àíϵͳ£¬hadoopÒÔÆäÍÌÍÂÁ¿´ó¡¢×Ô¶¯ÈÝ´íµÈÓŵ㣬ÔÚº£Á¿Êý¾Ý´¦ÀíÉϵõ½Á˹㷺µÄʹÓᣵ«ÊÇ£¬hadoop²»Éó¤ÊµÊ±¼ÆË㣬ÒòΪËüÌìÈ»¾ÍÊÇΪÅú´¦Àí¶øÉúµÄ£¬ÕâÒ²ÊÇÒµ½çÒ»ÖµĹ²Ê¶¡£·ñÔò×î½üÕâÁ½ÄêÒ²²»»áÓÐs4,storm,pumaÕâЩʵʱ¼ÆËãϵͳÈçÓêºó´ºËñ°ãð³öÀ´À²¡£ÏÈÅ׿ªs4,storm,pumaÕâЩϵͳ²»Ì¸£¬ÎÒÃÇÊ×ÏÈÀ´¿´Ò»Ï£¬Èç¹ûÈÃÎÒÃÇ×Ô¼ºÉè¼ÆÒ»¸öʵʱ¼ÆËãϵͳ£¬ÎÒÃÇÒª½â¾öÄÄЩÎÊÌâ¡£

µÍÑÓ³Ù¡£¶¼ËµÁËÊÇʵʱ¼ÆËãϵͳÁË£¬ÑÓ³ÙÊÇÒ»¶¨ÒªµÍµÄ¡£

¸ßÐÔÄÜ¡£ÐÔÄܲ»¸ß¾ÍÊÇÀË·Ñ»úÆ÷£¬ÀË·Ñ»úÆ÷ÊÇÒªÊÜÅúÆÀµÄŶ¡£

·Ö²¼Ê½¡£ÏµÍ³¶¼ÊÇΪӦÓó¡¾°¶øÉúµÄ£¬Èç¹ûÄãµÄÓ¦Óó¡¾°¡¢ÄãµÄÊý¾ÝºÍ¼ÆËãµ¥»ú¾ÍÄܸ㶨£¬ÄÇô²»Óÿ¼ÂÇÕâЩ¸´ÔÓµÄÎÊÌâÁË¡£ÎÒÃÇËù˵µÄÊǵ¥»ú¸ã²»¶¨µÄÇé¿ö¡£

¿ÉÀ©Õ¹¡£°éËæ×ÅÒµÎñµÄ·¢Õ¹£¬ÎÒÃǵÄÊý¾ÝÁ¿¡¢¼ÆËãÁ¿¿ÉÄÜ»áÔ½À´Ô½´ó£¬ËùÒÔÏ£ÍûÕâ¸öϵͳÊÇ¿ÉÀ©Õ¹µÄ¡£

ÈÝ´í¡£ÕâÊÇ·Ö²¼Ê½ÏµÍ³ÖÐͨÓÃÎÊÌâ¡£Ò»¸ö½Úµã¹ÒÁ˲»ÄÜÓ°ÏìÎÒµÄÓ¦Óá£

ºÃ£¬Èç¹û½ö½öÐèÒª½â¾öÕâ5¸öÎÊÌ⣬¿ÉÄÜ»áÓÐÎÞÊýÖÖ·½°¸£¬¶øÇÒ¸÷ÓÐǧÇï£¬Ëæ±ã¾ÙÒ»ÖÖ·½°¸£¬Ê¹ÓÃÏûÏ¢¶ÓÁÐ+·Ö²¼ÔÚ¸÷¸ö»úÆ÷ÉϵŤ×÷½ø³Ì¾ÍokÀ²¡£ÎÒÃÇÔÙ¼ÌÐøÍùÏ¿´¡£

ÈÝÒ×ÔÚÉÏÃæ¿ª·¢Ó¦ÓóÌÐò¡£Ç×£¬ÄãÉè¼ÆµÄϵͳÐèÒªÓ¦ÓóÌÐò¿ª·¢ÈËÔ±¿¼ÂǸ÷¸ö´¦Àí×é¼þµÄ·Ö²¼¡¢ÏûÏ¢µÄ´«µÝÂð£¿Èç¹ûÊÇ£¬ÄÇÓеãÂé·³°¡£¬¿ª·¢ÈËÔ±¿ÉÄÜ»áÓò»ºÃ£¬Ò²²»»áÏëÈ¥Óá£

ÏûÏ¢²»¶ªÊ§¡£Óû§·¢²¼µÄÒ»¸ö±¦±´ÏûÏ¢²»ÄÜÔÚʵʱ´¦ÀíµÄʱºò¸ø¶ªÁË£¬¶Ô°É£¿¸üÑϸñÒ»µã£¬Èç¹ûÊÇÒ»¸ö¾«È·Êý¾Ýͳ¼ÆµÄÓ¦Óã¬ÄÇôËü´¦ÀíµÄÏûÏ¢Òª²»¶à²»ÉÙ²ÅÐС£Õâ¸öÒªÇóÓеã¸ßŶ¡£

ÏûÏ¢ÑϸñÓÐÐò¡£ÓÐЩÏûÏ¢Ö®¼äÊÇÓÐÇ¿Ïà¹ØÐԵ쬱ÈÈçͬһ¸ö±¦±´µÄ¸üкÍɾ³ý²Ù×÷ÏûÏ¢£¬Èç¹û´¦Àíʱ¸ãÂÒ˳ÐòÍêÈ«ÊDz»Ò»ÑùµÄЧ¹ûÁË¡£

²»ÖªµÀ´ó¼Ò¶ÔÕâЩÎÊÌâÊÇ·ñ¶¼ÓÐÁË×Ô¼ºµÄ´ð°¸£¬ÏÂÃæÈÃÎÒÃÇ´ø×ÅÕâЩÎÊÌ⣬һÆðÀ´¿´Ò»¿´stormµÄ½â¾ö·½°¸°É¡£

StormÊÇʲô

Èç¹ûÖ»ÓÃÒ»¾ä»°À´ÃèÊöstormµÄ»°£¬¿ÉÄÜ»áÊÇÕâÑù£º·Ö²¼Ê½ÊµÊ±¼ÆËãϵͳ¡£°´ÕÕstorm×÷ÕßµÄ˵·¨£¬storm¶ÔÓÚʵʱ¼ÆËãµÄÒâÒåÀàËÆÓÚhadoop¶ÔÓÚÅú´¦ÀíµÄÒâÒå¡£ÎÒÃǶ¼ÖªµÀ£¬¸ù¾Ýgoogle mapreduceÀ´ÊµÏÖµÄhadoopΪÎÒÃÇÌṩÁËmap, reduceÔ­ÓʹÎÒÃǵÄÅú´¦Àí³ÌÐò±äµÃ·Ç³£µØ¼òµ¥ºÍÓÅÃÀ¡£Í¬Ñù£¬stormҲΪʵʱ¼ÆËãÌṩÁËһЩ¼òµ¥ÓÅÃÀµÄÔ­Óï¡£ÎÒÃÇ»áÔÚµÚÈý½ÚÖÐÏêϸ½éÉÜ¡£

ÎÒÃÇÀ´¿´Ò»ÏÂstormµÄÊÊÓó¡¾°¡£

Á÷Êý¾Ý´¦Àí¡£Storm¿ÉÒÔÓÃÀ´´¦ÀíÔ´Ô´²»¶ÏÁ÷½øÀ´µÄÏûÏ¢£¬´¦ÀíÖ®ºó½«½á¹ûдÈ뵽ij¸ö´æ´¢ÖÐÈ¥¡£

·Ö²¼Ê½rpc¡£ÓÉÓÚstormµÄ´¦Àí×é¼þÊÇ·Ö²¼Ê½µÄ£¬¶øÇÒ´¦ÀíÑÓ³Ù¼«µÍ£¬ËùÒÔ¿ÉÒÔ×÷Ϊһ¸öͨÓõķֲ¼Ê½rpc¿ò¼ÜÀ´Ê¹Óᣵ±È»£¬ÆäʵÎÒÃǵÄËÑË÷ÒýÇæ±¾ÉíÒ²ÊÇÒ»¸ö·Ö²¼Ê½rpcϵͳ¡£

˵Á˰ëÌ죬ºÃÏñ¶¼ÊǺÜÐþºõµÄ¶«Î÷£¬ÏÂÃæÎÒÃÇ¿ªÊ¼¾ßÌå½²½âstormµÄ»ù±¾¸ÅÄîºÍËüÄÚ²¿µÄһЩʵÏÖÔ­Àí°É¡£

StormµÄ»ù±¾¸ÅÄî

Ê×ÏÈÎÒÃÇͨ¹ýÒ»¸ö storm ºÍhadoopµÄ¶Ô±ÈÀ´Á˽âstormÖеĻù±¾¸ÅÄî¡£

±í3-1

½ÓÏÂÀ´ÎÒÃÇÔÙÀ´¾ßÌå¿´Ò»ÏÂÕâЩ¸ÅÄî¡£

Nimbus£º¸ºÔð×ÊÔ´·ÖÅäºÍÈÎÎñµ÷¶È¡£

Supervisor£º¸ºÔð½ÓÊÜnimbus·ÖÅäµÄÈÎÎñ£¬Æô¶¯ºÍÍ£Ö¹ÊôÓÚ×Ô¼º¹ÜÀíµÄworker½ø³Ì¡£

Worker£ºÔËÐоßÌå´¦Àí×é¼þÂß¼­µÄ½ø³Ì¡£

Task£ºworkerÖÐÿһ¸öspout/boltµÄÏ̳߳ÆÎªÒ»¸ötask. ÔÚstorm0.8Ö®ºó£¬task²»ÔÙÓëÎïÀíÏ̶߳ÔÓ¦£¬Í¬Ò»¸öspout/boltµÄtask¿ÉÄܻṲÏíÒ»¸öÎïÀíỊ̈߳¬¸ÃÏ̳߳ÆÎªexecutor¡£

ÏÂÃæÕâ¸öͼÃèÊöÁËÒÔÉϼ¸¸ö½Çɫ֮¼äµÄ¹ØÏµ¡£

ͼ3-1

Topology£ºstormÖÐÔËÐеÄÒ»¸öʵʱӦÓóÌÐò£¬ÒòΪ¸÷¸ö×é¼þ¼äµÄÏûÏ¢Á÷¶¯ÐγÉÂß¼­ÉϵÄÒ»¸öÍØÆË½á¹¹¡£

Spout£ºÔÚÒ»¸ötopologyÖвúÉúÔ´Êý¾ÝÁ÷µÄ×é¼þ¡£Í¨³£Çé¿öÏÂspout»á´ÓÍⲿÊý¾ÝÔ´ÖжÁÈ¡Êý¾Ý£¬È»ºóת»»ÎªtopologyÄÚ²¿µÄÔ´Êý¾Ý¡£SpoutÊÇÒ»¸öÖ÷¶¯µÄ½ÇÉ«£¬Æä½Ó¿ÚÖÐÓиönextTuple()º¯Êý£¬storm¿ò¼Ü»á²»Í£µØµ÷Óô˺¯Êý£¬Óû§Ö»ÒªÔÚÆäÖÐÉú³ÉÔ´Êý¾Ý¼´¿É¡£

Bolt£ºÔÚÒ»¸ötopologyÖнÓÊÜÊý¾ÝÈ»ºóÖ´Ðд¦ÀíµÄ×é¼þ¡£Bolt¿ÉÒÔÖ´ÐйýÂË¡¢º¯Êý²Ù×÷¡¢ºÏ²¢¡¢Ð´Êý¾Ý¿âµÈÈκβÙ×÷¡£BoltÊÇÒ»¸ö±»¶¯µÄ½ÇÉ«£¬Æä½Ó¿ÚÖÐÓиöexecute(Tuple input)º¯Êý,ÔÚ½ÓÊܵ½ÏûÏ¢ºó»áµ÷Óô˺¯Êý£¬Óû§¿ÉÒÔÔÚÆäÖÐÖ´ÐÐ×Ô¼ºÏëÒªµÄ²Ù×÷¡£

Tuple£ºÒ»´ÎÏûÏ¢´«µÝµÄ»ù±¾µ¥Ôª¡£±¾À´Ó¦¸ÃÊÇÒ»¸ökey-valueµÄmap£¬µ«ÊÇÓÉÓÚ¸÷¸ö×é¼þ¼ä´«µÝµÄtupleµÄ×Ö¶ÎÃû³ÆÒѾ­ÊÂÏȶ¨ÒåºÃ£¬ËùÒÔtupleÖÐÖ»Òª°´ÐòÌîÈë¸÷¸övalue¾ÍÐÐÁË£¬ËùÒÔ¾ÍÊÇÒ»¸övalue list.

Stream£ºÔ´Ô´²»¶Ï´«µÝµÄtuple¾Í×é³ÉÁËstream¡£

10. stream grouping£º¼´ÏûÏ¢µÄpartition·½·¨¡£StormÖÐÌṩÈô¸ÉÖÖʵÓõÄgrouping·½Ê½£¬°üÀ¨shuffle, fields hash, all, global, none, directºÍlocalOrShuffleµÈ

Ïà±ÈÓÚs4, pumaµÈÆäËûʵʱ¼ÆËãϵͳ£¬storm×î´óµÄÁÁµãÔÚÓÚÆä¼Ç¼¼¶ÈÝ´íºÍÄܹ»±£Ö¤ÏûÏ¢¾«È·´¦ÀíµÄÊÂÎñ¹¦ÄÜ¡£ÏÂÃæ¾ÍÖØµãÀ´¿´Ò»ÏÂÕâÁ½¸öÁÁµãµÄʵÏÖÔ­Àí¡£

Storm¼Ç¼¼¶ÈÝ´íµÄ»ù±¾Ô­Àí

Ê×ÏÈÀ´¿´Ò»ÏÂʲô½Ð×ö¼Ç¼¼¶ÈÝ´í£¿stormÔÊÐíÓû§ÔÚspoutÖз¢ÉäÒ»¸öеÄÔ´tupleʱΪÆäÖ¸¶¨Ò»¸ömessage id, Õâ¸ömessage id¿ÉÒÔÊÇÈÎÒâµÄobject¶ÔÏó¡£¶à¸öÔ´tuple¿ÉÒÔ¹²ÓÃÒ»¸ömessage id£¬±íʾÕâ¶à¸öÔ´ tuple¶ÔÓû§À´ËµÊÇͬһ¸öÏûÏ¢µ¥Ôª¡£stormÖмǼ¼¶ÈÝ´íµÄÒâ˼ÊÇ˵£¬storm»á¸æÖªÓû§Ã¿Ò»¸öÏûÏ¢µ¥ÔªÊÇ·ñÔÚÖ¸¶¨Ê±¼äÄÚ±»ÍêÈ«´¦ÀíÁË¡£ÄÇʲô½Ð×öÍêÈ«´¦ÀíÄØ£¬¾ÍÊǸÃmessage id°ó¶¨µÄÔ´tuple¼°ÓɸÃÔ´tupleºóÐøÉú³ÉµÄtuple¾­¹ýÁËtopologyÖÐÿһ¸öÓ¦¸Ãµ½´ïµÄboltµÄ´¦Àí¡£¾Ù¸öÀý×Ó¡£ÔÚͼ4-1ÖУ¬ÔÚspoutÓÉmessage 1°ó¶¨µÄtuple1ºÍtuple2¾­¹ýÁËbolt1ºÍbolt2µÄ´¦ÀíÉú³ÉÁ½¸öеÄtuple£¬²¢×îÖÕ¶¼Á÷ÏòÁËbolt3¡£µ±Õâ¸ö¹ý³ÌÍê³É´¦ÀíÍêʱ£¬³Æmessage 1±»ÍêÈ«´¦ÀíÁË¡£

ÏûÏ¢´«µÝ ͼ4-1

ÔÚstormµÄtopologyÖÐÓÐÒ»¸öϵͳ¼¶×é¼þ£¬½Ð×öacker¡£Õâ¸öackerµÄÈÎÎñ¾ÍÊÇ×·×Ù´ÓspoutÖÐÁ÷³öÀ´µÄÿһ¸ömessage id°ó¶¨µÄÈô¸ÉtupleµÄ´¦Àí·¾¶£¬Èç¹ûÔÚÓû§ÉèÖõÄ×î´ó³¬Ê±Ê±¼äÄÚÕâЩtupleûÓб»ÍêÈ«´¦Àí£¬ÄÇôacker¾Í»á¸æÖªspout¸ÃÏûÏ¢´¦Àíʧ°ÜÁË£¬Ïà·´Ôò»á¸æÖªspout¸ÃÏûÏ¢´¦Àí³É¹¦ÁË¡£ÔڸղŵÄÃèÊöÖУ¬ÎÒÃÇÌáµ½ÁË¡±¼Ç¼tupleµÄ´¦Àí·¾¶¡±£¬Èç¹ûÔø¾­³¢ÊÔ¹ýÕâô×öµÄͬѧ¿ÉÒÔ×ÐϸµØË¼¿¼Ò»ÏÂÕâ¼þʵĸ´Ôӳ̶ȡ£µ«ÊÇstormÖÐÈ´ÊÇʹÓÃÁËÒ»Öַdz£ÇÉÃîµÄ·½·¨×öµ½ÁË¡£ÔÚ˵Ã÷Õâ¸ö·½·¨Ö®Ç°£¬ÎÒÃÇÀ´¸´Ï°Ò»¸öÊýѧ¶¨Àí¡£

A xor A = 0.

A xor B¡­xor B xor A = 0£¬ÆäÖÐÿһ¸ö²Ù×÷Êý³öÏÖÇÒ½ö³öÏÖÁ½´Î¡£

stormÖÐʹÓõÄÇÉÃî·½·¨¾ÍÊÇ»ùÓÚÕâ¸ö¶¨Àí¡£¾ßÌå¹ý³ÌÊÇÕâÑùµÄ£ºÔÚspoutÖÐϵͳ»áΪÓû§Ö¸¶¨µÄmessage idÉú³ÉÒ»¸ö¶ÔÓ¦µÄ64λÕûÊý£¬×÷Ϊһ¸öroot id¡£root id»á´«µÝ¸øacker¼°ºóÐøµÄbolt×÷Ϊ¸ÃÏûÏ¢µ¥ÔªµÄΨһ±êʶ¡£Í¬Ê±ÎÞÂÛÊÇspout»¹ÊÇboltÿ´ÎÐÂÉú³ÉÒ»¸ötupleµÄʱºò£¬¶¼»á¸³Óè¸ÃtupleÒ»¸ö64λµÄÕûÊýµÄid¡£Spout·¢ÉäÍêij¸ömessage id¶ÔÓ¦µÄÔ´tupleÖ®ºó£¬»á¸æÖªacker×Ô¼º·¢ÉäµÄroot id¼°Éú³ÉµÄÄÇЩԴtupleµÄid¡£¶øboltÄØ£¬Ã¿´Î½ÓÊܵ½Ò»¸öÊäÈëtuple´¦ÀíÍêÖ®ºó£¬Ò²»á¸æÖªacker×Ô¼º´¦ÀíµÄÊäÈëtupleµÄid¼°ÐÂÉú³ÉµÄÄÇЩtupleµÄid¡£AckerÖ»ÐèÒª¶ÔÕâЩid×öÒ»¸ö¼òµ¥µÄÒì»òÔËË㣬¾ÍÄÜÅжϳö¸Ãroot id¶ÔÓ¦µÄÏûÏ¢µ¥ÔªÊÇ·ñ´¦ÀíÍê³ÉÁË¡£ÏÂÃæÍ¨¹ýÒ»¸öͼʾÀ´ËµÃ÷Õâ¸ö¹ý³Ì¡£

ͼ4-1 spoutÖаó¶¨message 1Éú³ÉÁËÁ½¸öÔ´tuple£¬id·Ö±ðÊÇ0010ºÍ1011.

ͼ4-2 bolt1´¦Àítuple 0010ʱÉú³ÉÁËÒ»¸öеÄtuple£¬idΪ0110.

ͼ4-3 bolt2´¦Àítuple 1011ʱÉú³ÉÁËÒ»¸öеÄtuple£¬idΪ0111.

ͼ4-4 bolt3ÖнÓÊÕµ½tuple 0110ºÍtuple 0111£¬Ã»ÓÐÉú³ÉеÄtuple.

¿ÉÄÜÓÐЩϸÐĵÄͬѧ»á·¢ÏÖ£¬ÈÝ´í¹ý³Ì´æÔÚÒ»¸ö¿ÉÄܳö´íµÄµØ·½£¬ÄǾÍÊÇ£¬Èç¹ûÉú³ÉµÄtuple id²¢²»ÊÇÍêÈ«¸÷ÒìµÄ£¬acker¿ÉÄÜ»áÔÚÏûÏ¢µ¥ÔªÍêÈ«´¦ÀíÍê³É֮ǰ¾Í´íÎóµÄ¼ÆËãΪ0¡£Õâ¸ö´íÎóÔÚÀíÂÛÉϵÄÈ·ÊÇ´æÔڵ쬵«ÊÇÔÚʵ¼ÊÖÐÆä¸ÅÂÊÊǼ«µÍ¼«µÍµÄ£¬ÍêÈ«¿ÉÒÔºöÂÔ¡£

StormµÄÊÂÎñÍØÆË

ÊÂÎñÍØÆË(transactional topology)ÊÇstorm0.7ÒýÈëµÄÌØÐÔ£¬ÔÚ×î½ü·¢²¼µÄ0.8°æ±¾ÖÐÒѾ­±»·âװΪTrident£¬ÌṩÁ˸ü¼Ó±ãÀûºÍÖ±¹ÛµÄ½Ó¿Ú¡£ÒòΪƪ·ùËùÏÞ£¬Ôڴ˶ÔÊÂÎñÍØÆË×öÒ»¸ö¼òµ¥µÄ½éÉÜ¡£

ÊÂÎñÍØÆËµÄÄ¿µÄÊÇΪÁËÂú×ã¶ÔÏûÏ¢´¦ÀíÓÐ׿«ÆäÑϸñÒªÇóµÄ³¡¾°£¬ÀýÈçʵʱ¼ÆËãij¸öÓû§µÄ³É½»±ÊÊý£¬ÒªÇó½á¹ûÍêÈ«¾«È·£¬²»ÄܶàÒ²²»ÄÜÉÙ¡£StormµÄÊÂÎñÍØÆËÊÇÍêÈ«»ùÓÚËüµ×²ãµÄspout/bolt/ackerÔ­ÓïʵÏֵģ¬Í¨¹ýÒ»²ãÇÉÃîµÄ·â×°µÃ³öÒ»¸öÓÅÑŵÄʵÏÖ¡£¸öÈ˾õµÃÕâÒ²ÊÇstorm×î´óµÄ÷ÈÁ¦Ö®Ò»¡£

ÊÂÎñÍØÆË¼òµ¥À´Ëµ¾ÍÊǽ«ÏûÏ¢·ÖΪһ¸ö¸öµÄÅú(batch)£¬Í¬Ò»ÅúÄÚµÄÏûÏ¢ÒÔ¼°ÅúÓëÅúÖ®¼äµÄÏûÏ¢¿ÉÒÔ²¢Ðд¦Àí£¬ÁíÒ»·½Ã棬Óû§¿ÉÒÔÉèÖÃijЩboltΪcommitter£¬storm¿ÉÒÔ±£Ö¤committerµÄfinishBatch()²Ù×÷Êǰ´Ñϸñ²»½µÐòµÄ˳ÐòÖ´Ðеġ£Óû§¿ÉÒÔÀûÓÃÕâ¸öÌØÐÔͨ¹ý¼òµ¥µÄ±à³Ì¼¼ÇÉʵÏÖÏûÏ¢´¦ÀíµÄ¾«È·¡£

StormÔÚÌÔ±¦

ÓÉÓÚstormµÄÄÚºËÊÇclojure±àдµÄ(²»¹ý´ó²¿·ÖµÄÍØÕ¹¹¤×÷¶¼ÊÇjava±àдµÄ)£¬ÎªÎÒÃÇÀí½âËüµÄʵÏÖ´øÀ´ÁËÒ»¶¨µÄÀ§ÄÑ£¬ºÃÔڴ󲿷ÖÇé¿öÏÂstorm¶¼±È½ÏÎȶ¨£¬µ±È»ÎÒÃÇÒ²ÔÚ¾¡Á¦ÊìϤclojureµÄÊÀ½ç¡£ÎÒÃÇÔÚʹÓÃstormʱͨ³£¶¼ÊÇÑ¡ÔñjavaÓïÑÔ¿ª·¢Ó¦ÓóÌÐò¡£

ÔÚÌÔ±¦£¬storm±»¹ã·ºÓÃÀ´½øÐÐʵʱÈÕÖ¾´¦Àí£¬³öÏÖÔÚʵʱͳ¼Æ¡¢ÊµÊ±·ç¿Ø¡¢ÊµÊ±ÍƼöµÈ³¡¾°ÖС£Ò»°ãÀ´Ëµ£¬ÎÒÃÇ´ÓÀàkafkaµÄmetaQ»òÕß»ùÓÚhbaseµÄtimetunnelÖжÁȡʵʱÈÕÖ¾ÏûÏ¢£¬¾­¹ýһϵÁд¦Àí£¬×îÖÕ½«´¦Àí½á¹ûдÈëµ½Ò»¸ö·Ö²¼Ê½´æ´¢ÖУ¬Ìṩ¸øÓ¦ÓóÌÐò·ÃÎÊ¡£ÎÒÃÇÿÌìµÄʵʱÏûÏ¢Á¿´Ó¼¸°ÙÍòµ½¼¸Ê®ÒÚ²»µÈ£¬Êý¾Ý×ÜÁ¿´ïµ½TB¼¶¡£¶ÔÓÚÎÒÃÇÀ´Ëµ£¬stormÍùÍù»áÅäºÏ·Ö²¼Ê½´æ´¢·þÎñÒ»ÆðʹÓá£ÔÚÎÒÃÇÕýÔÚ½øÐеĸöÐÔ»¯ËÑË÷ʵʱ·ÖÎöÏîÄ¿ÖУ¬¾ÍʹÓÃÁËtimetunnel + hbase + storm + upsµÄ¼Ü¹¹£¬Ã¿Ìì´¦Àí¼¸Ê®ÒÚµÄÓû§ÈÕÖ¾ÐÅÏ¢£¬´ÓÓû§ÐÐΪ·¢Éúµ½Íê³É·ÖÎöÑÓ³ÙÔÚÃë¼¶¡£

StormµÄδÀ´

Storm0.7ϵÁеİ汾ÒѾ­ÔÚ¸÷´ó¹«Ë¾µÃµ½Á˹㷺ʹÓã¬×î½ü·¢²¼µÄ0.8°æ±¾ÖÐÒýÈëÁËState£¬Ê¹µÃÆä´ÓÒ»¸ö´¿¼ÆËã¿ò¼ÜÑݱä³ÉÁËÒ»¸ö°üº¬´æ´¢ºÍ¼ÆËãµÄʵʱ¼ÆËãÐÂÀûÆ÷£¬»¹ÓиղÅÌáµ½µÄTrident£¬Ìṩ¸ü¼ÓÓѺõĽӿڣ¬Í¬Ê±¿É¶¨ÖÆschedulerµÄÌØÐÔҲΪÆäÕë¶Ô²»Í¬µÄÓ¦Óó¡¾°×öÓÅ»¯ÌṩÁ˸ü±ãÀûµÄÊֶΣ¬Ò²ÓÐÈËÒѾ­ÔÚ»ùÓÚstormµÄʵʱql(query language)ÉÏÂõ³öÁ˽ű¾¡£ÔÚ·þÎñ»¯·½Ã棬stormÒ»Ö±ÔÚ³¯×ÅÈÚÈëmesos¿ò¼ÜµÄ·½ÏòŬÁ¦¡£Í¬Ê±£¬stormÒ²ÔÚʵÏÖϸ½ÚÉϲ»¶ÏµØÓÅ»¯£¬Ê¹ÓúܶàÓÅÐãµÄ¿ªÔ´²úÆ·£¬°üÀ¨kryo, Disruptor, curatorµÈµÈ¡£¿ÉÒÔÏëÏ󣬵±storm·¢Õ¹µ½1.0°æ±¾Ê±£¬Ò»¶¨ÊÇÒ»¿îÎޱȽܳöµÄ²úÆ·£¬ÈÃÎÒÃÇÊÃÄ¿ÒÔ´ý£¬µ±È»£¬×îºÃ»¹ÊDzÎÓëµ½ÆäÖÐÈ¥°É£¬Í¬Ñ§ÃÇ¡£

   
3407 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

MySQLË÷Òý±³ºóµÄÊý¾Ý½á¹¹
MySQLÐÔÄܵ÷ÓÅÓë¼Ü¹¹Éè¼Æ
SQL ServerÊý¾Ý¿â±¸·ÝÓë»Ö¸´
ÈÃÊý¾Ý¿â·ÉÆðÀ´ 10´óDB2ÓÅ»¯
oracleµÄÁÙʱ±í¿Õ¼äдÂú´ÅÅÌ
Êý¾Ý¿âµÄ¿çƽ̨Éè¼Æ

²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿â
¸ß¼¶Êý¾Ý¿â¼Ü¹¹Éè¼ÆÊ¦
HadoopÔ­ÀíÓëʵ¼ù
Oracle Êý¾Ý²Ö¿â
Êý¾Ý²Ö¿âºÍÊý¾ÝÍÚ¾ò
OracleÊý¾Ý¿â¿ª·¢Óë¹ÜÀí

GE Çø¿éÁ´¼¼ÊõÓëʵÏÖÅàѵ
º½Ìì¿Æ¹¤Ä³×Ó¹«Ë¾ Nodejs¸ß¼¶Ó¦Óÿª·¢
ÖÐÊ¢Òæ»ª ׿Խ¹ÜÀíÕß±ØÐë¾ß±¸µÄÎåÏîÄÜÁ¦
ijÐÅÏ¢¼¼Êõ¹«Ë¾ PythonÅàѵ
ij²©²ÊITϵͳ³§ÉÌ Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
ÖйúÓÊ´¢ÒøÐÐ ²âÊÔ³ÉÊì¶ÈÄ£Ðͼ¯³É(TMMI)
ÖÐÎïÔº ²úÆ·¾­ÀíÓë²úÆ·¹ÜÀí