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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ʹÓà Twitter Storm ´¦ÀíʵʱµÄ´óÊý¾Ý
 
×÷ÕߣºM. Tim Jones À´Ô´£ºIBM ·¢²¼ÓÚ£º2015-03-26
  1936  次浏览      27
 

Á÷ʽ´¦Àí´óÊý¾Ý¼ò½é

Storm ÊÇÒ»¸ö¿ªÔ´µÄ¡¢´óÊý¾Ý´¦Àíϵͳ£¬ÓëÆäËûϵͳ²»Í¬£¬ËüÖ¼ÔÚÓÃÓÚ·Ö²¼Ê½ÊµÊ±´¦ÀíÇÒÓëÓïÑÔÎ޹ء£Á˽â Twitter Storm¡¢ËüµÄ¼Ü¹¹£¬ÒÔ¼°Åú´¦ÀíºÍÁ÷ʽ´¦Àí½â¾ö·½°¸µÄ·¢Õ¹ÐÎÊÆ¡£

Hadoop£¨´óÊý¾Ý·ÖÎöÁìÓòÎÞ¿ÉÕù±çµÄÍõÕߣ©×¨×¢ÓÚÅú´¦Àí¡£ÕâÖÖÄ£ÐͶÔÐí¶àÇéÐΣ¨±ÈÈçÎªÍøÒ³½¨Á¢Ë÷Òý£©ÒѾ­×ã¹»£¬µ«»¹´æÔÚÆäËûһЩʹÓÃÄ£ÐÍ£¬ËüÃÇÐèÒªÀ´×Ը߶ȶ¯Ì¬µÄÀ´Ô´µÄʵʱÐÅÏ¢¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬¾ÍµÃ½èÖú Nathan Marz ÍÆ³öµÄ Storm£¨ÏÖÔÚÔÚ Twitter ÖгÆÎª BackType£©¡£Storm ²»´¦Àí¾²Ì¬Êý¾Ý£¬µ«Ëü´¦ÀíÔ¤¼Æ»áÁ¬ÐøµÄÁ÷Êý¾Ý¡£¿¼Âǵ½ Twitter Óû§Ã¿ÌìÉú³É 1.4 ÒÚÌõÍÆÎÄ (tweet)£¬ÄÇô¾ÍºÜÈÝÒ׿´µ½´Ë¼¼ÊõµÄ¾Þ´óÓÃ;¡£

µ« Storm ²»Ö»ÊÇÒ»¸ö´«Í³µÄ´óÊý¾Ý·ÖÎöϵͳ£ºËüÊǸ´ÔÓʼþ´¦Àí (CEP) ϵͳµÄÒ»¸öʾÀý¡£CEP ϵͳͨ³£·ÖÀàΪ¼ÆËãºÍÃæÏò¼ì²â£¬ÆäÖÐÿ¸öϵͳ¶¼¿Éͨ¹ýÓû§¶¨ÒåµÄËã·¨ÔÚ Storm ÖÐʵÏÖ¡£¾ÙÀý¶øÑÔ£¬CEP ¿ÉÓÃÓÚʶ±ðʼþºéÁ÷ÖÐÓÐÒâÒåµÄʼþ£¬È»ºóʵʱµØ´¦ÀíÕâЩʼþ¡£

Nathan Marz ÌṩÁËÔÚ Twitter ÖÐʹÓà Storm µÄ´óÁ¿Ê¾Àý¡£Ò»¸ö×îÓÐȤµÄʾÀýÊÇÉú³ÉÇ÷ÊÆÐÅÏ¢¡£Twitter ´Óº£Á¿µÄÍÆÎÄÖÐÌáÈ¡Ëù¸¡ÏÖµÄÇ÷ÊÆ£¬²¢ÔÚ±¾µØºÍ¹ú¼Ò¼¶±ðά»¤ËüÃÇ¡£ÕâÒâζ×ŵ±Ò»¸ö°¸Àý¿ªÊ¼¸¡ÏÖʱ£¬Twitter µÄÇ÷ÊÆÖ÷ÌâËã·¨¾Í»áʵʱʶ±ð¸ÃÖ÷Ìâ¡£ÕâÖÖʵʱËã·¨ÔÚ Storm ÖÐʵÏÖΪ Twitter Êý¾ÝµÄÒ»ÖÖÁ¬Ðø·ÖÎö¡£

Storm Ó봫ͳµÄ´óÊý¾Ý

Storm ÓëÆäËû´óÊý¾Ý½â¾ö·½°¸µÄ²»Í¬Ö®´¦ÔÚÓÚËüµÄ´¦Àí·½Ê½¡£Hadoop ÔÚ±¾ÖÊÉÏÊÇÒ»¸öÅú´¦Àíϵͳ¡£Êý¾Ý±»ÒýÈë Hadoop Îļþϵͳ (HDFS) ²¢·Ö·¢µ½¸÷¸ö½Úµã½øÐд¦Àí¡£µ±´¦ÀíÍê³Éʱ£¬½á¹ûÊý¾Ý·µ»Øµ½ HDFS ¹©Ê¼·¢ÕßʹÓá£Storm Ö§³Ö´´½¨ÍØÆË½á¹¹À´×ª»»Ã»ÓÐÖÕµãµÄÊý¾ÝÁ÷¡£²»Í¬ÓÚ Hadoop ×÷Òµ£¬ÕâЩת»»´Ó²»Í£Ö¹£¬ËüÃÇ»á³ÖÐø´¦Àíµ½´ïµÄÊý¾Ý¡£

´óÊý¾ÝʵÏÖ

Hadoop µÄºËÐÄÊÇʹÓà Java? ÓïÑÔ±àдµÄ£¬µ«Ö§³ÖʹÓø÷ÖÖÓïÑÔ±àдµÄÊý¾Ý·ÖÎöÓ¦ÓóÌÐò¡£×îеÄÓ¦ÓóÌÐòµÄʵÏÖ²ÉÓÃÁ˸ü¼ÓÉî°ÂµÄ·Ïߣ¬ÒÔ³ä·ÖÀûÓÃÏÖ´úÓïÑÔºÍËüÃǵÄÌØÐÔ¡£ÀýÈ磬λÓÚ²®¿ËÀûµÄ¼ÓÀû¸£ÄáÑÇ´óѧ (UC) µÄ Spark ÊÇʹÓà Scala ÓïÑÔʵÏֵ쬶ø Twitter Storm ÊÇʹÓà Clojure£¨·¢Òôͬ closure£©ÓïÑÔʵÏֵġ£

Clojure ÊÇ Lisp ÓïÑÔµÄÒ»ÖÖÏÖ´ú·½ÑÔ¡£ÀàËÆÓÚ Lisp£¬Clojure Ö§³ÖÒ»ÖÖ¹¦ÄÜÐÔ±à³Ì·ç¸ñ£¬µ« Clojure »¹ÒýÈëÁËÒ»Ð©ÌØÐÔÀ´¼ò»¯¶àÏ̱߳à³Ì£¨Ò»ÖÖ¶Ô´´½¨ Storm ºÜÓÐÓõÄÌØÐÔ£©¡£Clojure ÊÇÒ»ÖÖ»ùÓÚÐéÄâ»ú (VM) µÄÓïÑÔ£¬ÔÚ Java ÐéÄâ»úÉÏÔËÐС£µ«ÊÇ£¬¾¡¹Ü Storm ÊÇʹÓà Clojure ÓïÑÔ¿ª·¢µÄ£¬ÄúÈÔÈ»¿ÉÒÔÔÚ Storm ÖÐʹÓü¸ºõÈκÎÓïÑÔ±àдӦÓóÌÐò¡£ËùÐèµÄÖ»ÊÇÒ»¸öÁ¬½Óµ½ Storm µÄ¼Ü¹¹µÄÊÊÅäÆ÷¡£ÒÑ´æÔÚÕë¶Ô Scala¡¢JRuby¡¢Perl ºÍ PHP µÄÊÊÅäÆ÷£¬µ«ÊÇ»¹ÓÐÖ§³ÖÁ÷ʽ´«Êäµ½ Storm ÍØÆË½á¹¹ÖеĽṹ»¯²éѯÓïÑÔÊÊÅäÆ÷¡£

Storm µÄ¹Ø¼üÊôÐÔ

Storm ʵÏÖµÄÒ»Ð©ÌØÕ÷¾ö¶¨ÁËËüµÄÐÔÄܺͿɿ¿ÐԵġ£Storm ʹÓà ZeroMQ ´«ËÍÏûÏ¢£¬Õâ¾ÍÏû³ýÁËÖмäµÄÅŶӹý³Ì£¬Ê¹µÃÏûÏ¢Äܹ»Ö±½ÓÔÚÈÎÎñ×ÔÉíÖ®¼äÁ÷¶¯¡£ÔÚÏûÏ¢µÄ±³ºó£¬ÊÇÒ»ÖÖÓÃÓÚÐòÁл¯ºÍ·´ÐòÁл¯ Storm µÄÔ­ÓïÀàÐ͵Ä×Ô¶¯»¯ÇÒ¸ßЧµÄ»úÖÆ¡£

Storm µÄÒ»¸ö×îÓÐȤµÄµØ·½ÊÇËü×¢ÖØÈÝ´íºÍ¹ÜÀí¡£Storm ʵÏÖÁËÓб£ÕϵÄÏûÏ¢´¦Àí£¬ËùÒÔÿ¸öÔª×é¶¼»áͨ¹ý¸ÃÍØÆË½á¹¹½øÐÐÈ«Ãæ´¦Àí£»Èç¹û·¢ÏÖÒ»¸öÔª×黹δ´¦Àí£¬Ëü»á×Ô¶¯´ÓÅç×ì´¦ÖØ·Å¡£Storm »¹ÊµÏÖÁËÈÎÎñ¼¶µÄ¹ÊÕϼì²â£¬ÔÚÒ»¸öÈÎÎñ·¢Éú¹ÊÕÏʱ£¬ÏûÏ¢»á×Ô¶¯ÖØÐ·ÖÅäÒÔ¿ìËÙÖØÐ¿ªÊ¼´¦Àí¡£Storm °üº¬±È Hadoop ¸üÖÇÄܵĴ¦Àí¹ÜÀí£¬Á÷³Ì»áÓɼà¹ÜÔ±À´½øÐйÜÀí£¬ÒÔÈ·±£×ÊÔ´µÃµ½³ä·ÖʹÓá£

Storm Ä£ÐÍ

Storm ʵÏÖÁËÒ»ÖÖÊý¾ÝÁ÷Ä£ÐÍ£¬ÆäÖÐÊý¾Ý³ÖÐøµØÁ÷¾­Ò»¸öת»»ÊµÌåÍøÂ磨²Î¼û ͼ 1£©¡£Ò»¸öÊý¾ÝÁ÷µÄ³éÏó³ÆÎªÒ»¸öÁ÷£¬ÕâÊÇÒ»¸öÎÞÏÞµÄÔª×éÐòÁС£Ôª×é¾ÍÏñÒ»ÖÖʹÓÃһЩ¸½¼ÓµÄÐòÁл¯´úÂëÀ´±íʾ±ê×¼Êý¾ÝÀàÐÍ£¨±ÈÈçÕûÊý¡¢¸¡µãºÍ×Ö½ÚÊý×飩»òÓû§¶¨ÒåÀàÐ͵Ľṹ¡£Ã¿¸öÁ÷ÓÉÒ»¸öΩһ ID ¶¨Ò壬Õâ¸ö ID ¿ÉÓÃÓÚ¹¹½¨Êý¾ÝÔ´ºÍ½ÓÊÕÆ÷ (sink) µÄÍØÆË½á¹¹¡£Á÷ÆðÔ´ÓÚÅç×죬Åç×콫Êý¾Ý´ÓÍⲿÀ´Ô´Á÷Èë Storm ÍØÆË½á¹¹ÖС£

ͼ 1. Ò»¸öÆÕͨµÄ Storm ÍØÆË½á¹¹µÄ¸ÅÄîÐԼܹ¹

Ò»¸öÆÕͨµÄ Storm ÍØÆË½á¹¹µÄ¸ÅÄîÐԼܹ¹Í¼

½ÓÊÕÆ÷£¨»òÌṩת»»µÄʵÌ壩³ÆÎªÂÝ˨¡£ÂÝ˨ʵÏÖÁËÒ»¸öÁ÷Éϵĵ¥Ò»×ª»»ºÍÒ»¸ö Storm ÍØÆË½á¹¹ÖеÄËùÓд¦Àí¡£ÂÝ˨¼È¿ÉʵÏÖ MapReduce Ö®ÀàµÄ´«Í³¹¦ÄÜ£¬Ò²¿ÉʵÏÖ¸ü¸´ÔӵIJÙ×÷£¨µ¥²½¹¦ÄÜ£©£¬±ÈÈç¹ýÂË¡¢¾ÛºÏ»òÓëÊý¾Ý¿âµÈÍⲿʵÌåͨÐÅ¡£µäÐ굀 Storm ÍØÆË½á¹¹»áʵÏÖ¶à¸öת»»£¬Òò´ËÐèÒª¶à¸ö¾ßÓжÀÁ¢Ôª×éÁ÷µÄÂÝ˨¡£Åç×ìºÍÂÝ˨¶¼ÊµÏÖΪ Linux? ϵͳÖеÄÒ»¸ö»ò¶à¸öÈÎÎñ¡£

¿ÉʹÓà Storm Ϊ´ÊƵÇáËɵØÊµÏÖ MapReduce ¹¦ÄÜ¡£Èç ͼ 2 ÖÐËùʾ£¬Åç×ìÉú³ÉÎı¾Êý¾ÝÁ÷£¬ÂÝ˨ʵÏÖ Map ¹¦ÄÜ£¨ÁîÅÆ»¯Ò»¸öÁ÷µÄ¸÷¸öµ¥´Ê£©¡£À´×Ô ¡°map¡± ÂÝ˨µÄÁ÷È»ºóÁ÷ÈëÒ»¸öʵÏÖ Reduce ¹¦ÄܵÄÂÝ˨ÖУ¨ÒÔ½«µ¥´Ê¾ÛºÏµ½×ÜÊýÖУ©¡£

ͼ 2. MapReduce ¹¦Äܵļòµ¥ Storm ÍØÆË½á¹¹

MapReduce ¹¦Äܵļòµ¥ Storm ÍØÆË½á¹¹Í¼

Çë×¢Ò⣬ÂÝ˨¿É½«Êý¾Ý´«Êäµ½¶à¸öÂÝ˨£¬Ò²¿É½ÓÊÜÀ´×Ô¶à¸öÀ´Ô´µÄÊý¾Ý¡£Storm ÓµÓÐÁ÷·Ö×é µÄ¸ÅÄÁ÷·Ö×éʵÏÖÁË»ìÅÅ (shuffling)£¨Ëæ»úµ«¾ùµÈµØ½«Ôª×é·Ö·¢µ½ÂÝ˨£©»ò×ֶηÖ×飨¸ù¾ÝÁ÷µÄ×ֶνøÐÐÁ÷·ÖÇø£©¡£»¹´æÔÚÆäËûÁ÷·Ö×飬°üÀ¨Éú³ÉÕßʹÓÃ×Ô¼ºµÄÄÚ²¿Âß¼­Â·ÓÉÔª×éµÄÄÜÁ¦¡£

µ«ÊÇ£¬Storm ¼Ü¹¹ÖÐÒ»¸ö×îÓÐȤµÄÌØÐÔÊÇÓб£ÕϵÄÏûÏ¢´¦Àí¡£Storm ¿É±£Ö¤Ò»¸öÅç×ì·¢Éä³öµÄÿ¸öÔª×é¶¼»á´¦Àí£»Èç¹ûËüÔÚ³¬Ê±Ê±¼äÄÚûÓд¦Àí£¬Storm »á´Ó¸ÃÅç×ìÖØ·Å¸ÃÔª×é¡£´Ë¹¦ÄÜÐèҪһЩ´ÏÃ÷µÄ¼¼ÇÉÀ´ÔÚÍØÆË½á¹¹Öиú×ÙÔªËØ£¬Ò²ÊÇ Storm µÄÖØÒªµÄ¸½¼Ó¼ÛÖµÖ®Ò»¡£

³ýÁËÖ§³Ö¿É¿¿µÄÏûÏ¢´«ËÍÍ⣬Storm »¹Ê¹Óà ZeroMQ ×î´ó»¯ÏûÏ¢´«ËÍÐÔÄÜ£¨É¾³ýÖмäÅŶӣ¬ÊµÏÖÏûÏ¢ÔÚÈÎÎñ¼äµÄÖ±½Ó´«ËÍ£©¡£ZeroMQ ºÏ²¢ÁËÓµÈû¼ì²â²¢µ÷ÕûÁËËüµÄͨÐÅ£¬ÒÔÓÅ»¯¿ÉÓõĴø¿í¡£

Storm ʾÀýÑÝʾ

ÏÖÔÚÈÃÎÒÃÇͨ¹ýʵÏÖÒ»¸ö¼òµ¥µÄ MapReduce ÍØÆË½á¹¹µÄ´úÂ루²Î¼û Çåµ¥ 1£©£¬¿´Ò»Ï Storm ʾÀý¡£Õâ¸öʾÀýʹÓÃÁËÀ´×Ô Nathan µÄ Storm ÈëÃŹ¤¾ß°ü£¨¿É´Ó GitHub »ñÈ¡£©£¨²Î¼û ²Î¿¼×ÊÁÏ »ñÈ¡Á´½Ó£©µÄÇÉÃîÉè¼ÆµÄ×ÖÊýʾÀý¡£´ËʾÀýÑÝʾÁË Í¼ 2 ÖÐËùʾµÄÍØÆË½á¹¹£¬ËüʵÏÖÁËÒ»¸ö°üº¬Ò»¸öÂÝ˨µÄ map ת»»ºÍ°üº¬Ò»¸öÂÝ˨µÄ reduce ת»»¡£

Çåµ¥ 1. Ϊͼ 2 ÖÐµÄ Storm ¹¹½¨Ò»¸öÍØÆË½á¹¹

01  TopologyBuilder builder = new TopologyBuilder();
02
03 builder.setSpout("spout", new RandomSentenceSpout(), 5);
04
05 builder.setBolt("map", new SplitSentence(), 4)
06 .shuffleGrouping("spout");
07
08 builder.setBolt("reduce", new WordCount(), 8)
09 .fieldsGrouping("map", new Fields("word"));
10
11 Config conf = new Config();
12 conf.setDebug(true);
13
14 LocalCluster cluster = new LocalCluster();
15 cluster.submitTopology("word-count", conf, builder.createTopology());
16
17 Thread.sleep(10000);
18
19 cluster.shutdown();

Çåµ¥ 1£¨Ìí¼ÓÁËÐкÅÒÔ¹©ÒýÓã©Ê×ÏÈʹÓà TopologyBuilder ÉùÃ÷Ò»¸öÐÂÍØÆË½á¹¹¡£½ÓÏÂÀ´ÔÚµÚ 3 ÐУ¬¶¨ÒåÁËÒ»¸öÅç×죨ÃûΪ spout£©£¬¸ÃÅç×ì°üº¬Ò»¸ö RandomSentenceSpout¡£RandomSentenceSpout ÀࣨҲ¾ÍÊÇ nextTuple ·½·¨£©·¢³ö 5 ¸öËæ»ú¾ä×ӵįäÖÐÒ»¸ö×÷ΪËüµÄÊý¾Ý

setSpout ·½·¨Ä©Î²µÄ 5 ²ÎÊýÊÇÒ»¸ö²¢ÐÐÐÔÌáʾ£¨»òҪΪ´Ë»î¶¯´´½¨µÄÈÎÎñÊý£©¡£

ÔÚµÚ 5 ºÍ 6 ÐС£ÎÒ¶¨ÒåÁ˵ÚÒ»¸öÂÝ˨£¨»òË㷨ת»»ÊµÌ壩£¬ÔÚ±¾ÀýÖÐΪ map£¨»ò split£©ÂÝ˨¡£Õâ¸öÂÝ˨ʹÓà SplitSentence ÁîÅÆ»¯ÊäÈëÁ÷²¢½«Æä×÷ΪÊä³öµÄ¸÷¸öµ¥´Ê·¢³ö¡£Çë×¢Ò⣬µÚ 6 ÐÐʹÓÃÁË shuffleGrouping£¬Ëü¶¨ÒåÁ˶ԴËÂÝ˨£¨ÔÚ±¾ÀýÖÐΪ ¡°spout¡±£©µÄÊäÈë¶©ÔÄ£¬»¹½«Á÷·Ö×鶨ÒåΪ»ìÅÅ¡£ÕâÖÖ»ìÅÅ·Ö×éÒâζ×ÅÀ´×ÔÅç×ìµÄÊäÈ뽫»ìÅÅ »òËæ»ú·Ö·¢¸ø´ËÂÝ˨ÖеÄÈÎÎñ£¨¸ÃÂÝ˨ÒÑÌáʾ¾ßÓÐ 4 ÈÎÎñ²¢ÐÐÐÔ£©¡£

ÔÚµÚ 8 ºÍ 9 ÐУ¬ÎÒ¶¨ÒåÁË×îºóÒ»¸öÂÝ˨£¬Õâ¸öÂÝ˨ʵ¼ÊÉÏÓÃÓÚ reduce ÔªËØ£¬Ê¹ÓøÃÔªËØµÄÊäÈë×÷Ϊ map ÂÝ˨¡£WordCount ·½·¨ÊµÏÖÁ˱ØÒªµÄ×ÖÊýͳ¼ÆÐÐΪ£¨½«ÏàËÆµÄµ¥´Ê·Ö×éµ½Ò»Æð£¬ÒÔά»¤×ÜÊý£©£¬µ«²»ÊÇ»ìÅŵģ¬ËùÒÔËüµÄÊä³öÊÇÒ»Öµġ£Èç¹ûÓжà¸öÈÎÎñÔÚʵÏÖ reduce ÐÐΪ£¬ÄÇôÄú×îÖÕ»áµÃµ½·Ö¶ÎµÄ¼ÆÊý£¬¶ø²»ÊÇ×ÜÊý¡£

µÚ 11 ºÍ 12 Ðд´½¨ºÍ¶¨ÒåÁËÒ»¸öÅäÖöÔÏ󲢯ôÓÃÁË Debug ģʽ¡£Config Àà°üº¬´óÁ¿ÅäÖÿÉÄÜÐÔ£¨²Î¼û ²Î¿¼×ÊÁÏ£¬»ñÈ¡ÓÐ¹Ø Storm ÀàÊ÷µÄ¸ü¶àÐÅÏ¢µÄÁ´½Ó£©¡£

µÚ 14 ºÍ 15 Ðд´½¨Á˱¾µØ¼¯Èº£¨ÔÚ±¾ÀýÖУ¬ÓÃÓÚ¶¨Òå±¾µØÄ£Ê½µÄÓÃ;£©¡£ÎÒ¶¨ÒåÁËÎҵı¾µØ¼¯Èº¡¢ÅäÖöÔÏóºÍÍØÆË½á¹¹µÄÃû³Æ£¨¿Éͨ¹ý builder ÀàµÄ createTopology ÔªËØ»ñÈ¡£©¡£

×îºó£¬ÔÚµÚ 17 ÐУ¬Storm ÐÝÃßÒ»¶Îʱ¼ä£¬È»ºóÔÚµÚ 19 Ðйرռ¯Èº¡£Çë¼Çס£¬Storm ÊÇÒ»¸ö³ÖÐøÔËÐеIJÙ×÷ϵͳ£¬ËùÒÔÈÎÎñ¿É´æÔÚÏ൱³¤Ê±¼ä£¬²»¶Ï´¦ÀíËüÃǶ©ÔĵÄÁ÷ÉϵÄÐÂÔª×é¡£

Äú¿ÉÔÚ Storm ÈëÃŹ¤¾ß°üÖÐÁ˽âÕâ¸ö·Ç³£¼òµ¥µÄʵÏֵĸü¶àÐÅÏ¢£¬°üÀ¨Åç×ìºÍÂÝ˨µÄϸ½Ú¡£

ʹÓà Storm

Nathan Marz ±àдÁËÒ»×é¼òµ¥Ò×¶®µÄÎĵµ£¬Ïêϸ½éÉÜÁËÈçºÎ°²×° Storm À´Ö´Ðм¯ÈºÄ£Ê½ºÍ±¾µØÄ£Ê½µÄ²Ù×÷¡£±¾µØÄ£Ê½ÎÞÐèÒ»¸öÅÓ´óµÄ½Úµã¼¯Èº£¬¼´¿ÉʹÓà Storm¡£Èç¹ûÐèÒªÔÚÒ»¸ö¼¯ÈºÖÐʹÓà Storm µ«È±·¦½Úµã£¬Ò²¿ÉÔÚ Amazon Elastic Compute Cloud (EC2) ÖÐʵÏÖÒ»¸ö Storm ¼¯Èº¡£Çë²Î¼û ²Î¿¼×ÊÁÏ »ñȡÿ¸ö Storm ģʽ£¨±¾µØ¡¢¼¯ÈººÍ Amazon EC2£©µÄ²Î¿¼ÐÅÏ¢¡£

ÆäËû¿ªÔ´µÄ´óÊý¾Ý½â¾ö·½°¸

×Ô Google ÔÚ 2004 ÄêÍÆ³ö MapReduce ·¶Ê½ÒÔÀ´£¬Òѵ®ÉúÁ˶à¸öʹÓÃԭʼ MapReduce ·¶Ê½£¨»òÓµÓи÷¶Ê½µÄÖÊÁ¿£©µÄ½â¾ö·½°¸¡£Google ¶Ô MapReduce µÄ×î³õÓ¦ÓÃÊǽ¨Á¢ÍòÎ¬ÍøµÄË÷Òý¡£¾¡¹Ü´ËÓ¦ÓóÌÐòÈÔÈ»ºÜÁ÷ÐУ¬µ«Õâ¸ö¼òµ¥Ä£Ðͽâ¾öµÄÎÊÌâÒ²ÕýÔÚÔö¶à¡£

±í 1 ÌṩÁËÒ»¸ö¿ÉÓÿªÔ´´óÊý¾Ý½â¾ö·½°¸µÄÁÐ±í£¬°üÀ¨´«Í³µÄÅú´¦ÀíºÍÁ÷ʽ´¦ÀíÓ¦ÓóÌÐò¡£ÔÚ½« Storm ÒýÈ뿪Դ֮ǰ½«½üÒ»ÄêµÄʱ¼äÀYahoo! µÄ S4 ·Ö²¼Ê½Á÷¼ÆËãÆ½Ì¨ÒÑÏò Apache ¿ªÔ´¡£S4 ÓÚ 2010 Äê 10 Ô·¢²¼£¬ËüÌṩÁËÒ»¸ö¸ßÐÔÄܼÆËã (HPC) ƽ̨£¬ÏòÓ¦ÓóÌÐò¿ª·¢ÈËÔ±Òþ²ØÁ˲¢Ðд¦ÀíµÄ¸´ÔÓÐÔ¡£S4 ʵÏÖÁËÒ»¸ö¿ÉÀ©Õ¹µÄ¡¢·ÖÉ¢»¯µÄ¼¯Èº¼Ü¹¹£¬²¢ÄÉÈëÁ˲¿·ÖÈÝ´í¹¦ÄÜ¡£

±í 1. ¿ªÔ´´óÊý¾Ý½â¾ö·½°¸

¸ü¶àÐÅÏ¢

¾¡¹Ü Hadoop ÈÔÈ»ÊÇÐû´«×î¶àµÄ´óÊý¾Ý·ÖÎö½â¾ö·½°¸£¬µ«ÈÔ¿ÉÄÜ´æÔÚÐí¶àÆäËûµÄ½â¾ö·½°¸£¬Ã¿ÖÖ½â¾ö·½°¸¶¼¾ßÓв»Í¬µÄÌØÕ÷¡£ÎÒÔÚ¹ýÈ¥µÄÎÄÕÂÖÐ̽ÌÖÁË Spark£¬ËüÄÉÈëÁËÊý¾Ý¼¯µÄÄÚ´æÖд¦Àí¹¦ÄÜ£¨Äܹ»ÖØÐ¹¹½¨¶ªÊ§µÄÊý¾Ý£©¡£µ« Hadoop ºÍ Spark ¶¼×¨×¢ÓÚ´óÊý¾Ý¼¯µÄÅú´¦Àí¡£Storm ÌṩÁËÒ»¸öеĴóÊý¾Ý·ÖÎöÄ£ÐÍ£¬¶øÇÒÒòΪËü×î½ü±»¿ªÔ´£¬ËùÒÔÒ²ÒýÆð¹ã·ºµÄ¹Ø×¢¡£

Óë Hadoop ²»Í¬£¬Storm ÊÇÒ»¸ö¼ÆËãϵͳ£¬ËüûÓаüÀ¨Èκδ洢¸ÅÄî¡£Õâ¾ÍʹµÃ Storm Äܹ»ÓÃÔÚ¸÷ÖÖ¸÷ÑùµÄÉÏÏÂÎÄÖУ¬ÎÞÂÛÊý¾ÝÊÇ´ÓÒ»¸ö·Ç´«Í³À´Ô´¶¯Ì¬´«È룬»¹ÊÇ´æ´¢ÔÚÊý¾Ý¿âµÈ´æ´¢ÏµÍ³ÖУ¨»òÕßÓÉÒ»¸ö¿ØÖÆÆ÷ÓÃÓÚ¶ÔÆäËûһЩÉ豸£¨±ÈÈçÒ»¸ö½»Ò×ϵͳ£©½øÐÐʵʱ²Ù×÷£©¶¼ÊÇÈç´Ë¡£

Çë²Î¼û ²Î¿¼×ÊÁÏ »ñÈ¡ÓÐ¹Ø Storm µÄ¸ü¶àÐÅÏ¢µÄÁ´½Ó£¬Á˽âÈçºÎÈÃÒ»¸ö¼¯ÈºÕý³£ÔËÐУ¬ÒÔ¼°ÆäËû´óÊý¾Ý·ÖÎö½â¾ö·½°¸£¨°üÀ¨Åú´¦ÀíºÍÁ÷ʽ´¦Àí£©¡£

   
1936 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

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

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

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

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


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


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