ãã®ãããžã§ã¯ãã䜿çšãããšãããŸããŸãªã€ãã³ãããªã¢ã«ã¿ã€ã ã§ç¢ºå®ã«åŠçããããšãã§ããŸãã ããšãã°ãStorm ã䜿çšãããšãããŒã¿ ã¹ããªãŒã ããªã¢ã«ã¿ã€ã ã§åæããããæ©æ¢°åŠç¿ã¿ã¹ã¯ãå®è¡ããããç¶ç¶çãªã³ã³ãã¥ãŒãã£ã³ã°ãçµç¹ããããRPC ã ETL ãå®è£ ãããã§ããŸãã ãã®ã·ã¹ãã ã¯ãã¯ã©ã¹ã¿ãªã³ã°ããã©ãŒã«ã ãã¬ã©ã³ãæ§æã®äœæãä¿èšŒãããããŒã¿åŠçã¢ãŒãããµããŒãããŠãããXNUMX ã€ã®ã¯ã©ã¹ã¿ ããŒã㧠XNUMX ç§ããã XNUMX äžä»¶ãè¶ ãããªã¯ãšã¹ããåŠçããã®ã«ååãªé«ãããã©ãŒãã³ã¹ãåããŠããŸãã
ããŸããŸãªãã¥ãŒåŠçã·ã¹ãã ããã³ããŒã¿ããŒã¹ ãã¯ãããžãšã®çµ±åããµããŒããããŠããŸãã Storm ã¢ãŒããã¯ãã£ã«ã¯ãèšç®ã®ããŸããŸãªæ®µééã§åå²ããæ©èœãåããä»»æã®è€éãªããã»ããµã䜿çšããŠãéæ§é åã§åžžã«æŽæ°ãããããŒã¿ ã¹ããªãŒã ãåä¿¡ããŠââåŠçããããšãå«ãŸããŸãã Twitter ãæåã«ãã¬ãŒã ã¯ãŒã¯ãéçºããäŒç€Ÿ BackType ãè²·åããåŸããã®ãããžã§ã¯ã㯠Apache ã³ãã¥ããã£ã«åŒãç¶ãããŸããã å®éã«ã¯ãBackType 㧠Storm ã䜿çšããŠãæ°ãããã€ãŒããšããã§äœ¿çšãããŠãããªã³ã¯ããªã³ã¶ãã©ã€ã§æ¯èŒããããšã«ããããã€ã¯ãããã°å ã®ã€ãã³ãã®åæ ãåæããŸãã (ããšãã°ãTwitter ã§å ¬éãããå€éšãªã³ã¯ãã¢ããŠã³ã¹ãä»ã®åå è ã«ãã£ãŠã©ã®ããã«åãããŒããã£ã¹ããããããè©äŸ¡ããŸãã) ïŒã
Storm ã®æ©èœã¯ Hadoop ãã©ãããã©ãŒã ãšæ¯èŒãããŸãããäž»ãªéãã¯ãããŒã¿ããŠã§ã¢ããŠã¹ã«ä¿åããããå€éšã§åã蟌ãŸããŠãªã¢ã«ã¿ã€ã ã§åŠçãããããšã§ãã Storm ã«ã¯ã¹ãã¬ãŒãžå±€ãçµã¿èŸŒãŸããŠããããåæã¯ãšãªã¯ãã£ã³ã»ã«ããããŸã§åä¿¡ããŒã¿ã«é©çšããå§ããŸã (Hadoop ã¯æéæéã® MapReduce ãžã§ãã䜿çšããŸãããStorm ã¯ç¶ç¶çã«å®è¡ããããããããžãã®ã¢ã€ãã¢ã䜿çšããŸã)ã ãã³ãã©ãŒã®å®è¡ã¯è€æ°ã®ãµãŒããŒã«åæ£ã§ããŸããStorm ã¯ãç°ãªãã¯ã©ã¹ã¿ãŒ ããŒãäžã®ã¹ã¬ããã䜿çšããŠäœæ¥ãèªåçã«äžŠååããŸãã
ãã®ã·ã¹ãã ã¯ããšããš Clojure ã§æžãããŠãããJVM ä»®æ³ãã·ã³å
ã§å®è¡ãããŸãã Apache Foundation ã¯ãStorm ã Java ã§æžãããæ°ããã«ãŒãã«ã«ç§»è¡ããåãçµã¿ãéå§ããŸããããã®çµæã¯ãApache Storm 2.0 ã®ãªãªãŒã¹ã§ææ¡ãããŠããŸãã ãã©ãããã©ãŒã ã®ãã¹ãŠã®åºæ¬ã³ã³ããŒãã³ã㯠Java ã§æžãçŽãããŠããŸãã Clojure ã§ã®ãã³ãã©ãŒäœæã®ãµããŒãã¯ç¶æãããŠããŸããããã€ã³ãã£ã³ã°ã®åœ¢åŒã§æäŸãããããã«ãªããŸããã Storm 2.0.0 ã«ã¯ Java 8 ãå¿
èŠã§ãããã«ãã¹ã¬ããåŠçã¢ãã«ãå®å
šã«åèšèšããã
æ°ããããŒãžã§ã³ã§ã¯ãé¢æ°åããã°ã©ãã³ã° ã¹ã¿ã€ã«ã®æäœã䜿çšããŠãã³ãã©ãŒãå®çŸ©ã§ããæ°ããåä»ã Streams API ãæäŸããŸãã æ°ãã API ã¯ãæšæºã®åºæ¬ API ã®äžã«å®è£ ãããåŠçãæé©åããããã®æäœã®èªåããŒãžããµããŒãããŸãã ãŠã£ã³ããŠæäœçšã® Windowing API ã«ãããã¯ãšã³ãã§ã®ç¶æ ã®ä¿åãšåŸ©å ã®ãµããŒããè¿œå ãããŸããã
決å®ãäžãéã«è¿œå ã®ãªãœãŒã¹ãèæ
®ããããã®ãµããŒã
CPU ãšã¡ã¢ãª (ãããã¯ãŒã¯ã GPU ã®èšå®ãªã©)ã ãã©ãããã©ãŒã ãšã®çµ±åã確å®ã«ããããã«ãå€æ°ã®æ¹åãè¡ãããŸããã
Storm ã®å¿çšåé:
- æ°ããããŒã¿ãŸãã¯ããŒã¿ããŒã¹æŽæ°ã®ã¹ããªãŒã ããªã¢ã«ã¿ã€ã ã§åŠçããŸãã
- ç¶ç¶çã³ã³ãã¥ãŒãã£ã³ã°: Storm ã¯ç¶ç¶çãªã¯ãšãªãå®è¡ããç¶ç¶çãªã¹ããªãŒã ãåŠçããŠãåŠççµæããªã¢ã«ã¿ã€ã ã§ã¯ã©ã€ã¢ã³ãã«é ä¿¡ã§ããŸãã
- åæ£ãªã¢ãŒã ããã·ãŒãžã£ ã³ãŒã« (RPC): Storm ã䜿çšããŠããªãœãŒã¹ã倧éã«æ¶è²»ããã¯ãšãªã䞊åå®è¡ã§ããŸãã Storm ã®ãžã§ã (ãããããžã) ã¯ãåŠçãå¿ èŠãªã¡ãã»ãŒãžãå°çããã®ãåŸ ã€ããŒãéã§åæ£ãããæ©èœã§ãã ã¡ãã»ãŒãžãåä¿¡ããåŸãé¢æ°ã¯ããŒã«ã« ã³ã³ããã¹ãã§ã¡ãã»ãŒãžãåŠçããçµæãè¿ããŸãã åæ£ RPC ã®äœ¿çšäŸãšããŠã¯ãæ€çŽ¢ã¯ãšãªã䞊ååŠçãããã倧èŠæš¡ãªã»ããã«å¯ŸããŠæäœãå®è¡ãããããããšãæããããŸãã
åµã®ç¹åŸŽ:
- ãªã¢ã«ã¿ã€ã ã®ããŒã¿åŠçãå€§å¹ ã«ç°¡çŽ åããã·ã³ãã«ãªããã°ã©ãã³ã° ã¢ãã«ã
- ããããããã°ã©ãã³ã°èšèªã®ãµããŒãã ã¢ãžã¥ãŒã«ã¯ JavaãRubyãPython ã§å©çšã§ããŸããããµããŒãããã®ã«çŽ 100 è¡ã®ã³ãŒããå¿ èŠãšããéåžžã«ã·ã³ãã«ãªéä¿¡ãããã³ã«ã®ãããã§ãä»ã®èšèªãžã®é©å¿ãç°¡åã§ãã
- ãã©ãŒã«ã ãã¬ã©ã³ã¹: ããŒã¿åŠçãžã§ããå®è¡ããã«ã¯ãã³ãŒããå«ã jar ãã¡ã€ã«ãçæããå¿ èŠããããŸãã Storm ã¯ããã® jar ãã¡ã€ã«ãã¯ã©ã¹ã¿ãŒ ããŒãå šäœã«åå¥ã«é åžããããã«é¢é£ä»ãããããã³ãã©ãŒãæ¥ç¶ããç£èŠãçµç¹ããŸãã ãžã§ããå®äºãããšãã³ãŒãã¯ãã¹ãŠã®ããŒãã§èªåçã«ç¡å¹ã«ãªããŸãã
- æ°Žå¹³æ¹åã®ã¹ã±ãŒã©ããªãã£ã ãã¹ãŠã®èšç®ã¯äžŠåã¢ãŒãã§å®è¡ãããè² è·ãå¢å ããå Žåã¯ãåã«æ°ããããŒããã¯ã©ã¹ã¿ãŒã«æ¥ç¶ããã ãã§ååã§ãã
- ä¿¡é Œæ§ã Storm ã¯ããã¹ãŠã®åä¿¡ã¡ãã»ãŒãžãå°ãªããšã XNUMX åã¯å®å šã«åŠçãããããšãä¿èšŒããŸãã ã¡ãã»ãŒãžã¯ããã¹ãŠã®ãã³ãã©ãŒãééãããšãã«ãšã©ãŒããªãã£ãå Žåã« XNUMX åã ãåŠçãããŸããåé¡ãçºçããå Žåã¯ã倱æããåŠçãç¹°ãè¿ãããŸãã
- ã¹ããŒãã Storm ã®ã³ãŒãã¯é«ããã©ãŒãã³ã¹ã念é ã«çœ®ããŠæžãããŠãããé«éãªéåæã¡ãã»ãŒãžã³ã°ã«ã·ã¹ãã ã䜿çšããŠããŸãã
ãŒãMQ .
åºæïŒ ãªãŒãã³ããã.ru