ããã«ã¡ã¯ ç§ã®ååã¯ã¢ã¬ãã¯ã¹ã»ãªãŒãªãããŒã§ãã Yandexã§ã¯ããã¯ãããžãŒãšã€ã³ãã©ã¹ãã©ã¯ãã£ã®éçºã«åãçµãã§ããŸãã äœçŸäžäººãã®äººã
ã䜿çšãããµãŒãã¹ã ãã§ãªããéåžžã«å€§éã®ããŒã¿ãé害ãªãæäœã§ããããšãéèŠã§ãã åœç€Ÿã®äž»èŠãªå
éšããŒã«ã®1ã€ã¯Yã§ããçµ±èšã¯ãYandexã®åŸæ¥å¡å°çšã§ãããããã«äŒæ¥ç§å¯ã§ãã çµ±èšã¯ãYandexãµãŒãã¹ããæ
å ±ïŒäž»ã«ãã°ïŒãåéãä¿åãåŠçããŸãã 圌女ãšã®ä»äºã®çµæã¯ããããªãåæãšè£œåã®ææ決å®ã®ããã®çµ±èšèšç®ã§ãã
çµ±èšã®éèŠãªã³ã³ããŒãã³ãã®1ã€ã¯ãåæ£åã®ãã«ãã»ã³ã¿ãŒããŒã¿åéããã³é
ä¿¡ãœãªã¥ãŒã·ã§ã³ã§ããLogbrokerã§ãã ã·ã¹ãã ã®äž»èŠãªæ©èœã¯ãããŒã¿ã»ã³ã¿ãŒã®åæã«èããæ©èœãã¡ãã»ãŒãžé
ä¿¡ã®ã»ãã³ãã£ã¯ã¹ã®1åã®ãµããŒãããªã¢ã«ã¿ã€ã ã¹ããªãŒã ïŒãœãŒã¹ã§ã®ã€ãã³ãã®çºçããã¬ã·ãŒããŒã§ã®åä¿¡ãŸã§ã®é
延ã®ç§ïŒã®ãµããŒãã§ãã
ã·ã¹ãã ã®äžæ žã¯
Apache Kafkaã§ãã Logbrokerã¯APIã䜿çšããŠãæªå å·¥ã®Apache Kafkaã¹ããªãŒã ãããŠãŒã¶ãŒãåé¢ããçœå®³åŸ©æ§ããã»ã¹ïŒ1åéãã®ã»ãã³ãã£ã¯ã¹ãå«ãïŒããã³ãµãŒãã¹ããã»ã¹ïŒã»ã³ã¿ãŒéã¬ããªã±ãŒã·ã§ã³ãèšç®ã¯ã©ã¹ã¿ãŒãžã®ããŒã¿ã®é
ä¿¡ïŒYTãYaMR ...ïŒãå®è£
ããŸãã
ç©èª
æåãYa.Statistikiã¯Oracleã䜿çšããŠã¬ããŒããèšç®ããŸããã ããŒã¿ã¯ãµãŒããŒããããŠã³ããŒããããOracleã«æžã蟌ãŸããŸããã 1æ¥1åãSQLã¯ãšãªã䜿çšããŠãããŒã¿ã«é¢ããã¬ããŒããäœæãããŸããã
ããŒã¿éã¯æ¯å¹Ž2.5åã«å¢å ããããã2010幎ãŸã§ã«ãã®ãããªã¹ããŒã ã¯å€±æãå§ããŸããã ããŒã¿ããŒã¹ã¯è² è·ã«å¯ŸåŠããã®ããããã¬ããŒãã®èšç®ã¯é
ããªããŸããã ããŒã¿ããŒã¹ããã®ã¬ããŒãã®èšç®ã¯YaMRã«è»¢éããããã°ã®é·æä¿åãšããŠãåèªã®ããŒã¿ãåå¥ã®ãã¡ã€ã«ãšããŠæ©èœããåæ£ã¹ãã¬ãŒãžã§ããèªå·±èšè¿°ãœãªã¥ãŒã·ã§ã³ã®äœ¿çšãéå§ãããŸããã ãœãªã¥ãŒã·ã§ã³ã¯ãåã«ã¢ãŒã«ã€ããšåŒã°ããŠããŸããã
ã¢ãŒã«ã€ãã«ã¯ãçŸåšã®Logbrokerã®å€ãã®æ©èœããããŸããã ç¹ã«ã圌ã¯ããŒã¿ãåä¿¡ããããŒã¿ãããŸããŸãªYaMRã¯ã©ã¹ã¿ãŒãšå€éšã³ã³ã·ã¥ãŒããŒã«é
åžã§ããŸããã ã¢ãŒã«ã€ãã¯ã¡ã¿ããŒã¿ãä¿åããããŸããŸãªãã©ã¡ãŒã¿ãŒïŒæéããã¡ã€ã«åããµãŒããŒåããã°ã¿ã€ããªã©ïŒã§éžæãååŸã§ããããã«ããŸããã YaMRã§ããŒã¿ã®é害ãŸãã¯æ倱ãçºçããå Žåãã¢ãŒã«ã€ãããä»»æã®ããŒã¿ã埩å
ããããšãã§ããŸããã
ãµãŒããŒããã€ãã¹ããããŒã¿ãããŠã³ããŒãããŠã¢ãŒã«ã€ãã«ä¿åããŸããã 2011幎åé ããã®ã¢ãããŒãã¯æ»ãå§ããŸããã æãããªã»ãã¥ãªãã£åé¡ïŒçµ±èšãµãŒããŒã¯ãã¹ãŠã®YandexãµãŒããŒã«ã¢ã¯ã»ã¹ã§ããïŒã«å ããŠã圌ã¯ã¹ã±ãŒã©ããªãã£ãšããã©ãŒãã³ã¹ã®åé¡ãæ±ããŠããŸããã ãã®çµæããµãŒããŒã«ã€ã³ã¹ããŒã«ããããã°ãçŽæ¥ã¢ãŒã«ã€ãã«ã¢ããããŒãããã¯ã©ã€ã¢ã³ããäœæãããŸããã ã¯ã©ã€ã¢ã³ãïŒå
éšè£œååpush-clientïŒã¯ãå€éšã®äŸåé¢ä¿ã䜿çšãããLinuxãFreeBSDãããã«ã¯Windowsã®ããŸããŸãªããŒãžã§ã³ããµããŒããã軜éã®Cããã°ã©ã ã§ãã ãã®ããã»ã¹ã§ã¯ãã¯ã©ã€ã¢ã³ãã¯ããŒã¿ãã¡ã€ã«ïŒãã°ïŒã®æŽæ°ãç£èŠããhttpïŒsïŒãããã³ã«ã䜿çšããŠæ°ããããŒã¿ãéä¿¡ããŸãã
ã¢ãŒã«ã€ãã«ã¯ããã€ãã®æ¬ ç¹ããããŸããã 圌ã¯ããŒã¿ã»ã³ã¿ãŒã®åæã«ã€ããŠå¿é
ããŸããã§ããããªããªãã圌ã¯æ¡åŒµæ§ã«å¶éã®ãããã¡ã€ã«ç·šæã§ãããåºæ¬çã«ãªã¢ã«ã¿ã€ã ã§ã®ããŒã¿ã®éåä¿¡ããµããŒãããŠããªãã£ãããã§ãã ã¢ãŒã«ã€ãã«ããŒã¿ãéä¿¡ããåã«ãæ¶è²»è
ãäžå€é
éã®é
延ãæãã§ããéã«ãå°ãªããšã1åééã§ãããã¡ãŒãèç©ããå¿
èŠããããŸããã
ãã©ãŒã«ããã¬ã©ã³ãã¹ãã¬ãŒãžã§å©çšå¯èœãªNoSQLãœãªã¥ãŒã·ã§ã³ã®1ã€ãåºæ¬ãšããŠãæ°ããã¢ãŒã«ã€ããäœæããããšã決å®ãããŸããã
HBase ã
Cassandra ã
Ellipticsã確èªããŸãã ã HBaseã¯ãã¯ãã¹ã»ã³ã¿ãŒã¬ããªã±ãŒã·ã§ã³ã®åé¡ã®ããé©åããŸããã§ããã CassandraãšEllipticsã¯ãããŒã¿ããŒã¹ã®æé©åäžããã³ã¯ã©ã¹ã¿ãŒã«æ°ãããã·ã³ãè¿œå ããéã®ããã©ãŒãã³ã¹ã倧å¹
ã«äœäžããããé©åããŸããã§ããã ååãšããŠãããã¯ãŸããªæäœã§ãããããæ°ãããã·ã³ã®è¿œå ã®å¶éã¯äŸç¶ãšããŠå
æã§ããŸãããããã©ã°ã®å¶éã¯éèŠã§ããããšãå€æããŸããïŒæ¯æ¥ã®ããŒã¿ã»ããã¯ã¢ãŒã«ã€ãã«æ¯æ¥æžã蟌ãŸããå€ãããŒã¿ã¯Næ¥åã«åé€ãããŸããã€ãŸãããã©ã°ç¶ç¶çã«å®è¡ããå¿
èŠããããŸãã
æçµçã«ãé
ä¿¡ã¢ãŒããã¯ãã£ã確èªããããšã«ããŸããã é·æä¿åã®ä»£ããã«-ã¡ã¿ããŒã¿ã®ãã«ã»ãããšããããçš®é¡ã®ã¹ã©ã€ã¹ãæ§ç¯ããæ©èœãåããã¢ãŒã«ã€ãã§ã¯ããµã³ãã«ãæ§ç¯ããããã®æå°éã®æ©èœãåããç°¡åã§è¿
éãªçæä¿åãäœæããããšã«ããŸããã
å®è£
ã¯Apache Kafkaã«åºã¥ããŠããŸããã
æè¡çãªè©³çŽ°
Kafkaã¯æ°žç¶ã¡ãã»ãŒãžãã¥ãŒãå®è£
ããŠããŸãã æ°žç¶æ§ãšã¯ãKafkaã«éä¿¡ãããããŒã¿ãããã»ã¹ãŸãã¯ãã·ã³ãåèµ·åããåŸãååšãç¶ããããšãæå³ããŸãã Kafkaã®åãã¿ã€ãã®ã¡ãã»ãŒãžã®åã¹ããªãŒã ã¯ã
ãããã¯ãšåŒã°ãããšã³ãã£ãã£ã«ãã£ãŠè¡šãã
ãŸã ã ãããã¯ã¯
ããŒãã£ã·ã§ã³ã«åå²ã
ããŸã ãããã«ããããããã¯ã®äžŠåæžã蟌ã¿ãšèªã¿åããä¿èšŒãããŸãã Kafkaã¯éåžžã«ç°¡åã«ã¹ã±ãŒãªã³ã°ã§ããŸãããããŒã®éãå¢ãããšããããã¯ããŒãã£ã·ã§ã³ã®æ°ãšããããæäŸãããã·ã³ã®æ°ãå¢ããããšãã§ããŸãã
ããŒãã£ã·ã§ã³ã¯è€æ°ã®
ã¬ããªã«ã«ååšããããŸããŸãªããŒãïŒKafkaã®çšèªã§ã¯
ãããŒã«ãŒ ïŒã«ãã£ãŠæäŸãããŸãã ã¬ããªã«ã«ã¯ããªãŒããŒãšãã©ãã¯ãŒã®2çš®é¡ããããŸãã ãªãŒããŒã¬ããªã«ã¯ããŒã¿ã®æžã蟌ã¿ãšèªã¿åãã®ãã¹ãŠã®èŠæ±ãåãå
¥ãããã©ãã¯ãŒã¬ããªã«ã¯ãªãŒããŒã¬ããªã«ããã®ã¹ããªãŒã ãåãå
¥ããŠä¿åããŸãã Kafkaã¯ããã¹ãŠã®ã¬ããªã«ã®ãã€ãåäœã®ã¢ã€ãã³ãã£ãã£ãä¿èšŒããŸãã ãããŒã«ãŒã®1ã€ã䜿çšã§ããªããªã£ãå Žåããã¹ãŠã®äž»èŠã¬ããªã«ã¯èªåçã«ä»ã®ãããŒã«ãŒã«ç§»åããããŒãã£ã·ã§ã³ã®æžã蟌ã¿ãšèªã¿åãã¯åŒãç¶ãå¯èœã§ãã ãããŒã«ãŒãçºçãããšã圌ããµãŒãã¹ãæäŸãããã¹ãŠã®ã¬ããªã«ãèªåçã«ãã©ãã¯ãŒã«ãªããã¬ããªã«ãªãŒããŒããèç©ãããããã¯ãã°ã«è¿œãã€ããŸãã æã
ãKafkaã¯ãªãŒããŒã®ãã©ã³ã¹ããšãããã»ã¹ãéå§ããå¯èœæ§ããããããéåžžã®ç¶æ³ã§ã¯ãäžéšã®ãããŒã«ãŒããªã¯ãšã¹ãã§éè² è·ã«ãªããäžéšã®ãããŒã«ãŒãéè² è·ã«ãªãç¶æ³ã¯ãããŸããã
Kafkaã¯ã©ã¹ã¿ãŒãžã®æžã蟌ã¿ã¯Producerãšãããšã³ãã£ãã£ã«ãã£ãŠè¡ãããèªã¿åãã¯ã³ã³ã·ã¥ãŒãã«ãã£ãŠè¡ãããŸãã
ãããã¯ã¯ãåãã¿ã€ãã®ã¡ãã»ãŒãžã®ãã¥ãŒã§ãã ããšãã°ãKafkaã§WebãµãŒããŒã®ã¢ã¯ã»ã¹ãã°ãäœæããå Žåãnginxãã°ãšã³ããªã1ã€ã®ãããã¯ã«é
眮ããapacheãã°ãå¥ã®ãããã¯ã«é
眮ã§ããŸãã Kafkaã¯ãããã¯ããšã«ã次ã®ãããªããŒãã£ã·ã§ã³åããããã°ãä¿åããŸãã
åããŒãã£ã·ã§ã³ã¯ã¡ãã»ãŒãžã®é åºä»ããããã·ãŒã±ã³ã¹ã§ãããèŠçŽ ã®é åºã¯å€æŽãããŸããã æ°ããã¡ãã»ãŒãžãå°çãããšãæåŸã«è¿œå ãããŸãã ãã¥ãŒå
ã®åã¡ãã»ãŒãžã«ã¯äžæã®èå¥åããããŸãïŒKafkaã«é¢ããŠãªãã»ããïŒã ã¡ãã»ãŒãžã«ã¯é çªã«çªå·ãä»ããããŸãïŒ1ã2ã3ã...ïŒã
å®æçã«ãKafkaèªäœãå€ãã¡ãã»ãŒãžãåé€ããŸãã ãã£ã¹ã¯äžã®ããŒãã£ã·ã§ã³ã¯ç©ççã«ãã¡ã€ã«ã»ã°ã¡ã³ãã®ã»ããã§è¡šããããããããã¯éåžžã«å®äŸ¡ãªæäœã§ãã åã»ã°ã¡ã³ãã«ã¯ãã·ãŒã±ã³ã¹ã®é£ç¶éšåãå«ãŸããŸãã ããšãã°ãèå¥åã1ã2ã3ã4ã5ã6ã®ã¡ãã»ãŒãžãããã»ã°ã¡ã³ãããããŸãããèå¥åã1ã3ã4ã2ã5ã6ã®ã¡ãã»ãŒãžãããã»ã°ã¡ã³ãã¯ãããŸãããå€ãã¡ãã»ãŒãžãåé€ãããšãåã«åé€ãããŸãæãå€ããã¡ã€ã«ã»ã°ã¡ã³ãã
ã¡ãã»ãŒãžé
ä¿¡ã«ã¯ããŸããŸãªã»ãã³ãã£ã¯ã¹ããããŸããæ倧ã§1å-è€æ°ã®ã¡ãã»ãŒãžãé
ä¿¡ããããå°ãªããšã1å-å°ãªããšã1ã€ã®ã¡ãã»ãŒãžãé
ä¿¡ããã1åã ã-æ£ç¢ºã«1ã€ã®ã¡ãã»ãŒãžãé
ä¿¡ãããŸãã Kafkaã¯ãé
ä¿¡ã®ããã«å°ãªããšã1åã¯ã»ãã³ãã£ã¯ã¹ãæäŸããŸãã ã¡ãã»ãŒãžã®è€è£œã¯ãæžã蟌ã¿äžãšèªã¿åãäžã®äž¡æ¹ã§çºçããå¯èœæ§ããããŸãã åé¡ïŒå¿çãåä¿¡ããåã®åæãéä¿¡ã®ã¿ã€ã ã¢ãŠããªã©ïŒãçºçããå Žåã®æšæºã®Kafkaãããã¥ãŒãµãŒã¯ãã¡ãã»ãŒãžãåéä¿¡ããŸããå€ãã®å Žåãéè€ãçºçããŸãã ã¡ãã»ãŒãžã®èªã¿åãæã«ãããŒã¿åŠçåŸã«ã¡ãã»ãŒãžIDã®ä¿®æ£ãè¡ããã2ã€ã®ã€ãã³ãéã§ãšã©ãŒãçºçããå Žåãéè€ããå¯èœæ§ããããŸãã ããããèªã¿åãã®å ŽåããªãŒããŒã¯ããã»ã¹ãå®å
šã«å¶åŸ¡ããããŒã¿åŠçãšèå¥åã®å®äºãåæã«èšé²ã§ãããããç¶æ³ã¯ããåçŽã§ãïŒããšãã°ãããŒã¿ããŒã¹ã«æžã蟌ãŸããå Žåã«1ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ã§ãããè¡ãïŒã
LogbrokerãšKafkaã®ãªã³ã¯
ãã°ãããŒã«ãŒïŒ
- Kafkaã®å
éšãããã³ããŠãŒã¶ãŒããéé¢ããŸãã
- ã¯ã©ã€ã¢ã³ãããã®ããŒã¿ã¹ããªãŒã ãKafkaã¡ãã»ãŒãžã«å€æããŸãã
- å¿
èŠãªãã¹ãŠã®ã¡ã¿æ
å ±ãã¡ãã»ãŒãžã«è¿œå ããŸãïŒãµãŒããŒåããã¡ã€ã«åããã°ã¿ã€ã...ïŒã
- æãé©åãªãããã¯åãéžæããŸãã
- ããŒã¿ã®æžã蟌ã¿ããã³èªã¿åãçšã®http APIãæäŸããŸãã
- æ°ããããŒã¿ãYTããã³YaMRã¯ã©ã¹ã¿ãŒã«èªåçã«ã¢ããããŒããããµãŒãã¹ãæäŸããŸãã
- Kafkaã¯ã©ã¹ã¿ãŒéã§ã®ã»ã³ã¿ãŒéããŒã¿ã¬ããªã±ãŒã·ã§ã³ã®ãµãŒãã¹ãæäŸããŸãã
- Kafkaãäžå¿ã«æ§æãããã€ã³ãã©ã¹ãã©ã¯ãã£ãæäŸããŸãã
- æ§æãµãŒãã¹ïŒãŠã©ããããã°ããã£ã¹ã¯ã®èµ·åããã£ã¹ã¯ã®å調æŽãã»ã°ã¡ã³ãã®åŒ·å¶åé€ïŒ;
- ã¡ããªãã¯ãã°ã©ãã¡ã€ããšã®çµ±åïŒhttp://graphite.wikidot.com/ïŒ ;
- ç£èŠçšã®ã¹ã¯ãªããã
åœåãLogbrokerãµãŒãã¹ã¯å€ãã¢ãŒã«ã€ããšå®å
šã«APIäºæã§ãã£ãããã移åããŠã顧客ã¯éãã«æ°ä»ããŸããã§ããã
å€ãAPIã«ã¯ã次ã®èšè¿°æ¹æ³ããããŸããã
- /ã¹ãã¢ïŒããŒã¿ã¬ã³ãŒãïŒã
- / commit_requestïŒãã©ã³ã¶ã¯ã·ã§ã³ã³ããããªã¯ãšã¹ãïŒã
- /ã³ãããïŒã³ãããïŒã
ãã®APIã¯ãã»ãŒ1åéãã®ããŒã¿é
ä¿¡ã®ã»ãã³ãã£ã¯ã¹ãæäŸããŸãã ã«ãã«ã®åŽé¢ã§ã©ã®ããã«èŠãããã
/ storeãªã¯ãšã¹ãã§ã¯ãäžæã¹ãã¬ãŒãžã®ããŒã«ã«ãã¡ã€ã«ã«ããŒã¿ãä¿åããŸãã / commit_requestãªã¯ãšã¹ãã«å¯ŸããŠããã®ãã¡ã€ã«ãKafkaã«æžã蟌ã¿ãŸãããã¡ã€ã«ã«ã¯transaction_idãå²ãåœãŠãããŸãã / commitãªã¯ãšã¹ãã«å¯ŸããŠãç¹å®ã®transaction_idãæã€ãã¡ã€ã«ãæžã蟌ãŸããããšãäŒããç¹å¥ãªå°ããªã³ãããã¡ãã»ãŒãžãKafkaã«æžã蟌ã¿ãŸãã
æ¶è²»è
ã¯60ç§ã®ãŠã£ã³ããŠã§ãã®ã¹ããªãŒã ãKafkaããèªã¿åããŸãã ç¹å¥ãªã³ãããã¡ãã»ãŒãžãèŠã€ãã£ãtransaction_idã®ãã¹ãŠã®ã¡ãã»ãŒãžã¯ããŠãŒã¶ãŒã«æäŸããæ®ãã¯ã¹ãããããŸãã
ã¯ã©ã€ã¢ã³ãã®èšé²ã®ã¿ã€ã ã¢ãŠãã¯30ç§ã§ãããããã¯ã©ã€ã¢ã³ããã³ãããã¡ãã»ãŒãžãæžã蟌ãã§éä¿¡ããããã³ã³ã·ã¥ãŒãããã®ã¡ãã»ãŒãžãèŠéãã確çã¯ãŒãã§ãã ã³ãããã¡ãã»ãŒãžã¯å°ããããããã®ã¬ã³ãŒãããã³ã°ããå¯èœæ§ã¯ã»ãŒãŒãã§ãã
ããŒã³ããæåããåŸãå³å¯ãª1åéãã®ã»ãã³ãã£ã¯ã¹ã§ãªã¢ã«ã¿ã€ã ã®ã¹ããªãŒãã³ã°é
ä¿¡ãå®çŸããããšèããŸããã
æ°ããïŒrtïŒãããã³ã«ã®çšèªïŒ
- sourceId-ãœãŒã¹ã®äžæã®èå¥åïŒããšãã°ãç¹å®ã®ãã¹ãäžã®ãã¡ã€ã«ã«å¯Ÿå¿ããå ŽåããããŸãïŒ;
- seqno-åžžã«å¢å ããŠããäžæã®ïŒsourceIdå
ã®ïŒãã£ã³ã¯èå¥åïŒããšãã°ããã¡ã€ã«å
ã®ãªãã»ããã«å¯Ÿå¿ããå ŽåããããŸãïŒã
ã¯ã©ã€ã¢ã³ãã¯ãsourceIdããšã«Logbrokerãšã®æ¥ç¶ã1å確ç«ããå°ããªãã£ã³ã¯ã§ããŒã¿ãéä¿¡ããŸãã Logbrokerã¯ãKafka sourceIdããã³seqnoã®ã¡ãã»ãŒãžãæžã蟌ã¿ãŸãã ããã«ãåsourceIdã¯åžžã«åãKafkaããŒãã£ã·ã§ã³ã«æžã蟌ãŸããããšãä¿èšŒãããŠããŸãã
äœããã®çç±ã§æ¥ç¶ãåæãããå Žåãã¯ã©ã€ã¢ã³ãã¯ïŒããããå¥ã®ãã¹ãã§ïŒæ¥ç¶ãå床äœæããŸãããLogbrokerã¯ãã®sourceIdã«é¢é£ããããŒãã£ã·ã§ã³ãèªã¿åããæåŸã«èšé²ãããseqnoãå€å¥ããŸãã ã¯ã©ã€ã¢ã³ãããã®ãã£ã³ã¯ã«seqno <=ãèšé²ãããŠããå Žåããããã¯ã¹ããããããŸãã
ããŒãã£ã·ã§ã³ãèªã¿åããããããŒã¿èšé²ã®ããã®ã»ãã·ã§ã³ã¯ãç®ç«ã£ãæéïŒãã®å Žåã¯æ倧10ç§ïŒãäœæããŸãã ããã¯ãŸããªæäœã§ãããããé
ä¿¡ã®é
延ã«ã¯åœ±é¿ããŸããã æžã蟌ã¿/èªã¿åãé
ä¿¡ãµã€ã¯ã«ã枬å®ããŸãããäœæããèªã¿åããŸã§ã®ãã£ã³ã¯ã®88ïŒ
ã1ç§ã§åãŸãã99ïŒ
ã5ç§ã§åãŸããŸããã
ã¯ãã¹ã»ã³ã¿ãŒãã©ãŒãªã³ã°ã®ä»çµã¿
Kafkaé
ä¿¡ã®ãã©ãŒã¯äœ¿çšãããç¬èªã«äœæããŸããã äž»ãªéãïŒ
- å€æ°ã®èªã¿åãããã³éä¿¡ãããã¡ãŒã¯äœæãããŸããããã®çµæãã¡ã¢ãªã®æ¶è²»éã倧å¹
ã«åæžãããå€æ°ã®ããŒãã£ã·ã§ã³ã§äœæ¥ã§ããŸãïŒçŸåšã®éçšã§ã¯æ倧10,000åãŸã§å¯èœã§ãïŒã
- ããŒãã£ã·ã§ã³ã¯1察1ã§ãã©ãŒãªã³ã°ãããããšãä¿èšŒãããŠãããã¡ãã»ãŒãžã¯æ··åšããŠããŸããã
- ãã©ãŒãªã³ã°ã¯ã1åéãã®ã»ãã³ãã£ã¯ã¹ãä¿èšŒããŸããéè€ãã¡ãã»ãŒãžã®æ倱ã¯ãããŸããã
ç©ççã«ã¯ãLogbrokerããã»ã¹ãšKafkaããã»ã¹ã¯åããã·ã³ã§å®è¡ãããŸãã ãã©ãŒãªã³ã°ããã»ã¹ã¯ãã¬ããªã«ããã®ãã·ã³ã®ãªãŒããŒã§ããããŒââãã£ã·ã§ã³ã§ã®ã¿æ©èœããŸãã ãã·ã³ã®ãªãŒããŒãå€æŽããããšããã©ãŒãªã³ã°ããã»ã¹ããããèªåçã«æ±ºå®ããä»ã®ããŒãã£ã·ã§ã³ã®ãã©ãŒãªã³ã°ãéå§ããŸãã
ãã©ãŒãªã³ã°ãã察象ãšå Žæãæ£ç¢ºã«ã©ã®ããã«æ±ºå®ããŸããïŒ
ããŒã¿ã»ã³ã¿ãŒã«dc1ãšdc2ãšããååã®2ã€ã®Kafkaã¯ã©ã¹ã¿ãŒããããšããŸãã ããŒã¿ãdc1ã«åé¡ããããšãdc1ãã¬ãã£ãã¯ã¹ãä»ããŠãããã¯ã«æžã蟌ã¿ãŸãã ããšãã°ãdc1.log1ã dc2ã®ããŒã¿ã¯ãdc2ãã¬ãã£ãã¯ã¹ãä»ãããããã¯ã«æžã蟌ãŸããŸãã ãã¬ãã£ãã¯ã¹ã«ãã£ãŠãã©ã®ãããã¯ããã®ããŒã¿ã»ã³ã¿ãŒã«æåã«æžã蟌ãŸããããå€æããããããå¥ã®ããŒã¿ã»ã³ã¿ãŒã«ãã©ãŒãªã³ã°ãããŸãã
ãã©ãŒãªã³ã°ã¹ããŒã ã«ã¯ããã¥ã¢ã³ã¹ãç°ãªããªãã·ã§ã³ãããå ŽåããããŸãã ããšãã°ãLogbrokerãè€æ°ã®å€§èŠæš¡ãªæ¶è²»è
ã®ããããŒã¿ã»ã³ã¿ãŒã«ããå Žåããã¹ãŠã®ããŒã¿ã»ã³ã¿ãŒã®ãã¹ãŠã®ãããã¯ãããã«ãã©ãŒãªã³ã°ããããšã¯çã«ããªã£ãŠããŸãã Logbrokerã倧èŠæš¡ãªã³ã³ã·ã¥ãŒãã®ãªãããŒã¿ã»ã³ã¿ãŒã«ããå Žåããã®ããŒã¿ã»ã³ã¿ãŒã®ããŒã«ã«ããŒã¿ã³ã¬ã¯ã¿ãŒãšããŠæ©èœãã倧èŠæš¡ãªLogbrokerã€ã³ã¹ããŒã«ã«ããŒã¿ãéä¿¡ã§ããŸãã
ãã©ãŒãªã³ã°ã«1åã ãã®ã»ãã³ãã£ã¯ã¹ãæäŸããã«ã¯ã©ãããã°ããã§ããïŒ
ããŒã¿ã¯ããŒãã£ã·ã§ã³ããšã«ãã©ãŒãªã³ã°ãããŸãã ãã©ãŒãªã³ã°äžãåããŒãã£ã·ã§ã³ã«60ç§ããšã«2ã€ã®æ°å€ãä¿åããŸããå
ã®ããŒãã£ã·ã§ã³ã®ãªãã»ããèšé²ãšãã©ãŒãªã³ã°ãããããŒãã£ã·ã§ã³ã®ãªãã»ããèšé²ã§ãã èšé²äžã«é害ãçºçããå Žåãå
ã®ããŒãã£ã·ã§ã³ãšãã©ãŒãªã³ã°ãããããŒãã£ã·ã§ã³ã®ã¬ã³ãŒãã«ä¿åãããŠããç¶æ
ãšå®éã®ãµã€ãºãèªã¿åãããããã®æ°å€ããå
ã®ããŒãã£ã·ã§ã³ã®èªã¿åãå
ãæ£ç¢ºã«æ±ºå®ããŸãã
ã¯ãã¹ã»ã³ã¿ãŒããŒã¿é
ä¿¡ã¢ãŒããã¯ãã£
ããŒã¿ãœãŒã¹ã¯Logbrokerã®ã€ã³ã¹ããŒã«ããããžãŒã«ã€ããŠäœãç¥ããŸããã LogbrokerèªäœããœãŒã¹ã¬ã³ãŒããç®çã®ããŒãã«è»¢éããŸãã ãœãŒã¹ãLogbrokerãã€ã³ã¹ããŒã«ãããŠããããŒã¿ã»ã³ã¿ãŒã«ããå ŽåãããŒã¿ã¯ããã«æžã蟌ãŸããããŒã¿ã¯ãã©ãŒãªã³ã°ã䜿çšããŠä»ã®ããŒã¿ã»ã³ã¿ãŒã«è»¢éãããŸãã
LogbrokerããããŒã¿ãååŸããã«ã¯ãããã€ãã®ã·ããªãªããããŸãã ãŸããé
ä¿¡ã®çš®é¡ïŒããã·ã¥ãŸãã¯ãã«ïŒã«ãã£ãŠåºå¥ãããŸãã ã€ãŸããLogbrokerã¯æ¶è²»è
ã«ããŒã¿ãéä¿¡ããïŒããã·ã¥é
ä¿¡ïŒããæ¶è²»è
ãhttp-protocolãä»ããŠããŒã¿ãèªã¿åãïŒãã«é
ä¿¡ïŒããšãã§ããŸãã ã©ã¡ãã®å Žåãã2ã€ã®ããŒã¿ååŸã·ããªãªããµããŒãããŠããŸãã
æ¶è²»è
ãLogbrokerã¯ã©ã¹ã¿ãŒã®ãããããšåãããŒã¿ã»ã³ã¿ãŒã«å®å
šã«ããå Žåããã¹ãŠã®ãããã¯ãèªã¿ãŸãã
Logbrokerãè¡šãããŠããªãããŒã¿ã»ã³ã¿ãŒã«é¡§å®¢ãããå ŽåããŸãã¯é¡§å®¢ãè€æ°ã®ããŒã¿ã»ã³ã¿ãŒã«åæ£ããŠããå Žåã顧客ã¯åããŒã¿ã»ã³ã¿ãŒããããŒã¿ã»ã³ã¿ãŒãã¬ãã£ãã¯ã¹ãä»ãããããã¯ã®ã¿ãèªã¿åããŸãã ããšãã°ãdc1ããŒã¿ã»ã³ã¿ãŒã®ã¯ã©ã¹ã¿ãŒããèªã¿åãå Žåãdc1ãã¬ãã£ãã¯ã¹ãæã€ãããã¯ã®ã¿ãèªã¿åããŸãã
äžèŠãããšã1ã€ã®ããŒã¿ã»ã³ã¿ãŒãããã¹ãŠã®ãããã¯ãèªãããšãã§ããç¡å¹ã«ãªã£ãŠããå Žåã¯ãå¥ã®ããŒã¿ã»ã³ã¿ãŒã§åããããã¯ãèªãããã«åãæ¿ããããšãã§ããŸãã ããã¯å®éã«ã¯ããã§ã¯ãããŸããã äºå®ãç°ãªãããŒã¿ã»ã³ã¿ãŒå
ã®ç°ãªãKafkaã¯ã©ã¹ã¿ãŒäžã®åãååã®ããŒãã£ã·ã§ã³å
ã®ã¡ãã»ãŒãžã¯ãç°ãªããªãã»ãããæã€ããšã«ãªããŸãã ããã¯ãã¯ã©ã¹ã¿ãŒãç°ãªãæéã«èµ·åããããã©ãŒãªã³ã°ãç°ãªãæéã«éå§ããããšããäºå®ã«ãããã®ã§ãã ãã©ãŒã¯ãã¡ãã»ãŒãžã®äžå€ã®é åºã®ã¿ãä¿èšŒããŸãã Logbrokerã®ãªãŒããŒã¯ããŒãã£ã·ã§ã³ã®ãªãã»ãããæäœããŸããå¥ã®ããŒã¿ã»ã³ã¿ãŒã§ã¯ããŒãã£ã·ã§ã³ãç°ãªãããããªãŒããŒãåãæ¿ãããšãéè€ãåä¿¡ããããããŒã¿ãåä¿¡ããŸããã
å®éãå€ãã®å Žåããã®ãããªèªã¿åãã¹ã€ããã¯åœ¹ã«ç«ã¡ãŸããã ããšãã°ãdc1ããŒã¿ã»ã³ã¿ãŒã§ãdc1ãã¬ãã£ãã¯ã¹ãä»ãããããã¯ãèªã¿ãŸãã çªç¶ãdc1ããŒã¿ã»ã³ã¿ãŒã厩å£ããŸãããdc2ã«åãæ¿ããŠãdc1ãã¬ãã£ãã¯ã¹ã®ä»ãããããã¯ãèªã¿ç¶ããããšæããŸãã ãã ããdc1ããŒã¿ã»ã³ã¿ãŒãèœã¡ãããããã®ãã¬ãã£ãã¯ã¹ãä»ãããããã¯ã¯æžã蟌ãŸãããdc2ããŒã¿ã»ã³ã¿ãŒã«ã¯æ°ããããŒã¿ã¯ãããŸããã
Logbrokerã®ãããªãšã³ãã£ãã£ãå¿
èŠãªã®ã¯ãªãã§ããïŒ ãœãŒã¹ãããã¹ãŠã®æ¶è²»è
ã«ããã«ããŒã¿ãéä¿¡ã§ããªãã®ã¯ãªãã§ããïŒ
Logbrokerã¯ãããŒã¿é
ä¿¡ã¹ããŒã ã倧å¹
ã«ç°¡çŽ åããŸãã 圌ãäžåšã®å Žåã圌ã¯äžåºŠã«è€æ°ã®å Žæã«ããŒã¿ãéä¿¡ã§ããè€éãªã¯ã©ã€ã¢ã³ããäœæããå¿
èŠããããŸããã ãã°ãä¿®æ£ããæ°ããæ¶è²»è
ã®ãµããŒããè¿œå ããã«ã¯ãè€éãªã¯ã©ã€ã¢ã³ãã絶ããæŽæ°ããå¿
èŠããããŸãã ããã§ãCã§æžãããéåžžã«ã·ã³ãã«ãªã©ã€ãã¯ã©ã€ã¢ã³ããã§ããŸããããã®ã¯ã©ã€ã¢ã³ãã¯ãã£ãã«æŽæ°ãããŸããã ããšãã°ãäžéšã®ãœãŒã¹ã«ã¯ã2012幎ã®å€ããã«ãããŸã ãããŸããããã¯ã以åã¯ã¢ãŒã«ã€ãã§åäœããçŸåšã¯Logbrokerã§åäœããŸãã
äžå€®éäžåé
ä¿¡ã¯ãã»ã³ã¿ãŒéã®ãã©ãã£ãã¯ã倧å¹
ã«ç¯çŽããŸãã
åä¿¡ã¯ã©ã¹ã¿ãŒã§é害ãçºçããå Žåãäžè¶³ããŠããLogbrokerããŒã¿ãè¿
éãã€å¹ççã«åé
ã§ããŸãã ãœãŒã¹èªäœã§åãæäœãè¡ãã®ã¯ã¯ããã«å°é£ã§ãã
çŸåšãYandexã§ã¯Logbrokerã¯ã©ãã§äœ¿çšãããŠããŸããïŒ
çŸåšãLogbrokerã¯ãµãŒããŒãããã°ãæäŸããããã«äœ¿çšãããŠããŸãã çä¿¡ãã©ãã£ãã¯ã®åèšéã¯ã1æ¥ãããå¹³å60ãã©ãã€ãã§ãã çºä¿¡-3ã4åïŒç¹å®ã®ããŒã¿ã»ã³ã¿ãŒã«ãã£ãŠç°ãªããŸãïŒã ãã°ã³ã³ã·ã¥ãŒãã¯ãäž»ã«çµ±èšã¯ã©ã¹ã¿ãšæ€çŽ¢ã¯ã©ã¹ã¿ã§ãã ãŸããå¿
èŠãªãã°ã®ã¿ã®å°ããªã¹ããªãŒã ãåä¿¡ããå€ãã®å°èŠæš¡ãªæ¶è²»è
ãããŸãã
çŸåšãLogbrokerã瀟å
ã®ãã©ã³ã¹ããŒããã¹ãšããŠå°å
¥ãããã°ã ãã§ãªããã€ããªããŒã¿ãéãåºãããã«åãçµãã§ããŸãã
éçºããã»ã¹äžã«ãäž»ã«ã«ãã«ã®æ°Žåã«é¢é£ããå°é£ã«ééããŸããã ç¹ã«ãã¯ã©ã€ã¢ã³ãã³ãŒãã¯éåžžã«ç²éã§ããããšãå€æããŸããã ããŒã¿ã®æžã蟌ã¿ããã³èªã¿åãçšã®é«ã¬ãã«ã®ã©ã€ãã©ãªã¯ããã°ããåºå·ããããã»ã¹ããããã¯ããå¯èœæ§ããããŸãã æåã¯ãã®ã³ãŒãããå§ããŸããããéçºããã»ã¹ã§ã¯Kafkaã®éåæã¯ã©ã€ã¢ã³ããäœæããŸããã çŸåšããã®ã¯ã©ã€ã¢ã³ãããªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãšããŠèšèšããããšãæ€èšããŠããŸãã
ã¯ã©ã€ã¢ã³ããšã¯ç°ãªããKafkaã®ãµãŒããŒåŽã¯éåžžã«é«å質ã§èšè¿°ãããŠãããå®éã«å€æŽãªãã§äœ¿çšãããŠããŸãã ç§ãã¡ã¯æã
éçºè
ã«éãããšããå°ããªãããã䜿çšããŸãã