ãããã£ãŠãã¡ããªãã¯ãåéããŠããŸãã ç§ãã¡ãããã§ãã ã¡ããªãã¯ãåéããŸãã ãã¡ãããããžãã¹ã«å¿
èŠã§ãã 仿¥ã¯ãã¢ãã¿ãªã³ã°ã·ã¹ãã ã®æåã®ãªã³ã¯ã§ããstatsdäºæã®bioyinoéçŽãµãŒã㌠ããããæžããçç±ããã«ãŒããã¯ãæåŠããçç±ã«ã€ããŠã話ããŸãã

以åã®èšäºïŒ 1ã2 ïŒããããã°ããã®éã brubeckã䜿çšããŠã¿ã°ãåéããããšãããããŸãã Cã§æžãããŠããŸããã³ãŒãã®èгç¹ããèŠããšãã³ã«ã¯ã®ããã«ã·ã³ãã«ã§ãïŒå¯èŒžãããå Žåã«éèŠã§ãïŒãæãéèŠãªããšã¯ãããŒã¯æã«æ¯ç§200äžã¡ããªãã¯ïŒMPSïŒã®ããªã¥ãŒã ã«åé¡ãªã察åŠã§ããããšã§ãã ããã¥ã¡ã³ãã¯ãã¢ã¹ã¿ãªã¹ã¯ä»ãã®400äžMPSã®ãµããŒãã䞻匵ããŠããŸãã ããã¯ãLinuxã§ãããã¯ãŒã¯ãæ£ããæ§æãããšã宣èšãããçªå·ãåãåãããšãæå³ããŸãã ïŒãããã¯ãŒã¯ããã®ãŸãŸã«ããŠãããšMPSãããã€ååŸã§ãããã¯ããããŸããïŒã ãããã®å©ç¹ã«ããããããããã«ãŒããã¯ã«é¢ããŠæ·±å»ãªäžæºããããŸããã
䞻匵1.ãããžã§ã¯ãã®éçºè
ã§ããGithubã¯ãããããµããŒãããããšããããŸããïŒããããšä¿®æ£ãå
¬éããç§ãã¡ãšïŒç§ãã¡ã ãã§ãªãïŒPRãåãå
¥ããŸãã é廿°ãæïŒ2018幎2æãã3æã®ã©ããïŒã§æŽ»åãåéãããŸãããããã®åã«ã¯ã»ãŒ2幎éã®å®å
šãªå°åº·ç¶æ
ããããŸããã ããã«ããã®ãããžã§ã¯ãã¯ãGihubã®å
éšããŒãºã®ããã«éçºãããŠããŸã ãããã¯ãæ°ããæ©äŒã®å®æœã«å¯Ÿããé倧ãªé害ã«ãªãå¯èœæ§ããããŸãã
䞻匵2.èšç®ã®æ£ç¢ºãã Brubeckã¯ãåèš65,536åã®å€ãéèšã®ããã«åéããŸãã ç§ãã¡ã®å ŽåãéçŽæéïŒ30ç§ïŒã®äžéšã®ã¡ããªãã¯ã§ã¯ãããã«å€ãã®å€ïŒããŒã¯æ1,527,392ïŒãååŸã§ããŸãã ãã®ãããªãµã³ããªã³ã°ã®çµæãæå€§å€ãšæå°å€ã¯åœ¹ã«ç«ããªãããã«èŠããŸãã ããšãã°ã次ã®ããã«ïŒ

ããã ã£ã

ããã¹ãã ã£ã
åãçç±ã§ãéé¡ã¯äžè¬ã«ééã£ãŠãããšèŠãªãããŸãã 32ãããã®ãããŒããªãŒããŒãããŒã䜿çšããŠãã°ã远å ããŸããããã«ãããéåžžãç¡å®³ãªã¡ããªãã¯ã®ããã«èŠããå Žåã«ãµãŒããŒãsegfaultã«éä¿¡ãããäžè¬çã«åªãããã®ã«ãªããŸãã ãšããã§ããã°ã¯ä¿®æ£ãããŠããŸããã
ãããŠæåŸã«ã ã¯ã¬ãŒã Xã å·çæç¹ã§ãç§ãã¡ãèŠã€ãã14ã®å€ããå°ãªããåäœããstatsdå®è£
ãã¹ãŠã«ãããæç€ºããæºåãã§ããŠããŸãã åäžã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãéåžžã«å€§ãããªãã400äžMPSãåãå
¥ããã ãã§ã¯äžååã«ãªã£ããšæ³åããŠã¿ãŸãããã ãŸãã¯ãŸã æé·ããŠããªããããããŸããããã¡ããªãã¯ã¯ãã§ã«éåžžã«éèŠã§ããããããã£ãŒãã®çæéã®2ã3åéã®èœã¡èŸŒã¿ããã§ã«é倧ã«ãªãããããŒãžã£ãŒã®éã§å
æã§ããªãäžæ³ã®çºäœãåŒãèµ·ããå¯èœæ§ããããŸãã ãã€ç
ã®æ²»çã¯ãããããä»äºãªã®ã§ãæè¡çãªè§£æ±ºçãå¿
èŠã§ãã
ãŸãããã©ãŒã«ããã¬ã©ã³ã¹ããµãŒããŒã§ã®çªç¶ã®åé¡ãããªãã£ã¹ã®ç²Ÿç¥ç§ã®ãŸã³ãã®é»ç€ºé²ã«åããªãããã«ããŸãã æ¬¡ã«ãLinuxãããã¯ãŒã¯ã¹ã¿ãã¯ãæ·±ãæãäžããããšãªãã400äžä»¥äžã®MPSãåä¿¡ã§ããããã«ã¹ã±ãŒãªã³ã°ããéãã«é©åãªãµã€ãºã«ãåºç¯ã«ãæé·ããŸãã
ã¹ã±ãŒãªã³ã°ã®äœè£ãããããããã©ãŒã«ããã¬ã©ã³ã¹ããå§ããããšã«ããŸããã ãããïŒ èé害æ§ïŒ 2ã€ã®ãµãŒããŒãèããŠèµ·åããããããã«brubeckã®ã³ããŒãäœæããŸããã ãããè¡ãã«ã¯ãã¡ããªãã¯ã䜿çšããŠãã©ãã£ãã¯ãäž¡æ¹ã®ãµãŒããŒã«ã³ããŒãããã®ããã®å°ããªãŠãŒãã£ãªãã£ãäœæããå¿
èŠããããŸããã ããã§ãã©ãŒã«ããã¬ã©ã³ã¹ã®åé¡ã解決ããŸããããããŸãè¯ããããŸããã æåã¯ãã¹ãŠãçŽ æŽãããããã«èŠããŸãããåBrubeckã¯ç¬èªã®éèšããŒãžã§ã³ãåéãã30ç§ããšã«Graphiteã«ããŒã¿ãæžã蟌ã¿ãå€ãééãäžæžãããŸãïŒããã¯GraphiteåŽã§è¡ãããŸãïŒã 1ã€ã®ãµãŒããŒã«é害ãçºçããå ŽåãéèšããŒã¿ã®ç¬èªã®ã³ããŒãåãããµãŒããŒãåžžã«2ã€ãããŸãã ãã ããããã«åé¡ããããŸãããµãŒããŒã«é害ãçºçãããšãã°ã©ãã«ãã®ããããã衚瀺ãããŸãã ããã¯ããã«ãŒããã¯ã®30ç§ééãåæãããŠããããèœäžæã«ãããã®1ã€ãäžæžããããªãããã§ãã 2çªç®ã®ãµãŒããŒãèµ·åãããšãã«ãåãããšãèµ·ãããŸãã ããªãèããããããç§ã¯ãã£ãšè¯ããªãããïŒ ã¹ã±ãŒã©ããªãã£ã®åé¡ã¯ãŸã ããã«ãããŸãã ãã¹ãŠã®ã¡ããªãã¯ã¯äŸç¶ãšããŠåäžã®ãµãŒããŒã«ããã©ã€ããããããããããã¯ãŒã¯ã®ãã³ãã³ã°ã«å¿ããŠãåã200ã400äžMPSã«å¶éãããŸãã
åé¡ã«ã€ããŠå°ãèããŠãåæã«ã·ã£ãã«ã§éªãæããªããããªãã¯ãã®ãããªæçœãªã¢ã€ãã¢ãæãä»ããããããŸããïŒããªãã¯åæ£ã¢ãŒãã§åäœã§ããstatsdãå¿
èŠã§ãã ã€ãŸããæéãšã¡ããªãã¯ã®ããŒãéã®åæãå®è£
ãããŸãã ããã¡ããããã®ãããªè§£æ±ºçã¯ããããæ¢ã«ååšããŸãããšç§ãã¡ã¯èšããã°ãŒã°ã«ã«è¡ããŸãã.... ãããŠåœŒãã¯äœãèŠã€ããŸããã§ããã ããŸããŸãªstatsdïŒ2017幎12æ11æ¥ã®æç¹ã§https://github.com/etsy/statsd/wiki#server-implementationsïŒã®ããã¥ã¡ã³ããã¹ãã£ã³ããŠãããŸã£ããäœãèŠã€ãããŸããã§ããã ã©ãããããããã®ãœãªã¥ãŒã·ã§ã³ã®éçºè
ããŠãŒã¶ãŒããŸã ãã®ãããªå€ãã®ææšã«çŽé¢ããŠããŸãããããã§ãªããã°ã圌ãã¯ééããªãäœããæãã€ããã§ãããã
ãããŠããããã¡ããã®statsd-bioyinoãæãåºããŸãããããã¯ã楜ããããã«ãœã³ïŒããã«ãœã³ã®éå§åã«ãããžã§ã¯ãåãã¹ã¯ãªãããçæããããïŒã§æžããç¬èªã®statsdãç·æ¥ã«å¿
èŠã§ããããšã«æ°ä»ããŸããã ãªãã§ïŒ
- äžçã«ã¯statsdã¯ããŒã³ãå°ãªãããããã
- æãŸãããŸãã¯ã»ãŒæãŸãããã©ãŒã«ããã¬ã©ã³ã¹ãšã¹ã±ãŒã©ããªãã£ãæäŸã§ããããïŒéçŽãããã¡ããªãã¯ããµãŒããŒéã§åæããéä¿¡äžã®ç«¶åã®åé¡ã解決ããããšãå«ãïŒã
- ã¡ããªãã¯ã¯ãã«ãŒããã¯ãããæ£ç¢ºã§ãããšèŠãªãããšãã§ããããã
- ããªãã¯ãã詳现ãªçµ±èšãèªåã§åéããããšãã§ããŸãããããã¯å®éã«ã¯ãã«ãŒããã¯ããã¯æäŸãããŸããã§ãããã
- åããã€ãã¯ã®å¥ã®ã¢ãŒããã¯ãã£ãå®å
šã«ç¹°ãè¿ããªãç¬èªã®é«æ§èœãã£ã¹ããªãã¥ãŒã·ã§ã³ãã£ã¹ããªãã¥ãŒã·ã§ã³ã©ããããã°ã©ã ããæ©äŒããã£ãããã§ã...ããçè§£ãããŠããŸãã
äœã«æžããŸããïŒ ãã¡ãããRustã«ã€ããŠã ãªãã§ïŒ
- æ¢ã«ãœãªã¥ãŒã·ã§ã³ã®ãããã¿ã€ãããã£ãããã
- åœæã®èšäºã®èè
ã¯ãã§ã«Rustãç¥ã£ãŠããŠãããããªãŒãã³ãœãŒã¹ã«å
¥ããæ©èœãåããæ¬çªçšã®äœããæžãããšã«ç±å¿ã ã£ãããã
- GCã䜿çšããèšèªã¯ãåä¿¡ãããã©ãã£ãã¯ã®æ§è³ªäžïŒã»ãŒãªã¢ã«ã¿ã€ã ïŒãGCã®äžæåæ¢ã¯äºå®äžåãå
¥ããããªããããç§ãã¡ã«ã¯é©ããŠããªãããã
- Cã«å¹æµããæå€§ã®ããã©ãŒãã³ã¹ãå¿
èŠãªãã
- Rustã¯å€§èäžæµãªäžŠè¡æ§ãæäŸããŠãããã®ã§ãC / C ++ã§èšè¿°ãå§ããããæ®éªžãè匱æ§ããããã¡ãªãŒããŒãããŒãç«¶åç¶æ
ããã®ä»ã®æãããèšèãããããã«å€ããæ»ãç«ãŠãŠããã§ãããã
Rustã«å察ããè°è«ããããŸããã å瀟ã¯Rustã§ãããžã§ã¯ããäœæããçµéšããªãã£ããããçŸåšã¯Rustãã¡ã€ã³ãããžã§ã¯ãã§äœ¿çšããäºå®ããããŸããã ãããã£ãŠãäœãããŸããããªããšããæ·±å»ãªæãããããŸããããç§ãã¡ã¯ãã£ã³ã¹ããšãããšã«æ±ºããŠè©ŠããŠã¿ãŸããã
æéãçµã¡ãŸãã...
æåŸã«ãããã€ãã®å€±æãã詊è¡ã®åŸãæåã®äœæ¥ããŒãžã§ã³ãæºåãããŸããã ã©ãããã®ïŒ ãã®ããã«ãªã£ãã

åããŒãã¯ç¬èªã®ã¡ããªãã¯ã®ã»ãããåä¿¡ããããããèªå®
ã§èç©ããŸããæçµçãªéçŽã«å®å
šãªã»ãããå¿
èŠãªã¿ã€ãã®ã¡ããªãã¯ã¯éçŽããŸããã ããŒãã¯ãããã€ãã®åæ£ããã¯ãããã³ã«ã«ãã£ãŠçžäºæ¥ç¶ãããŠããŸããããã«ãããã¡ããªãã¯ãGreatã«éä¿¡ããã®ã«ãµããããå¯äžã®ããŒãïŒããã§ã¯å«ã³ãŸããïŒãéžæã§ããŸãã çŸæç¹ã§ã¯ããã®åé¡ã¯Consulã«ãã£ãŠè§£æ±ºãããŠããŸãããå°æ¥ãèè
ã®éæã¯Raft èªèº«ã® å®è£
ã«ãŸã§åã³ããã¡ããã³ã³ã»ã³ãµã¹ããŒããæã䟡å€ãããã§ãããã ã³ã³ã»ã³ãµã¹ã«å ããŠãããŒãã¯éåžžã«é »ç¹ã«ïŒããã©ã«ãã§ã¯1ç§ã«1åïŒããã®ç§ã«ãã€ã€ã«ããããšãã§ããäºåéèšãããã¡ããªãã¯ã®éšåãè¿é£ã«éä¿¡ããŸãã ã¹ã±ãŒãªã³ã°ãšãã©ãŒã«ããã¬ã©ã³ã¹ãä¿æãããŠããããšãããããŸã-åããŒãã¯ãŸã ã¡ããªãã¯ã®å®å
šãªã»ãããä¿æããŠããŸãããã¡ããªãã¯ã¯TCPãä»ããŠæ¢ã«éçŽãããŠéä¿¡ããããã€ããªãããã³ã«ã«ãšã³ã³ãŒããããŠãããããUDPãšæ¯èŒããŠè€è£œã®ã³ã¹ãã倧å¹
ã«åæžãããŸãã çä¿¡ã¡ããªãã¯ã®æ°ãããªãå€ãã«ãããããããèç©ã«å¿
èŠãªã¡ã¢ãªã¯éåžžã«å°ãªããCPUã¯ããã«å°ãªããªããŸãã ååã«å§çž®ãããå§çž®ã§ã¯ããããã¯ã»ãã®æ°åã¡ã¬ãã€ãã®ããŒã¿ã§ãã 远å ã®ããŒãã¹ã¯ãæ®éªžã®å Žåã®ããã«ãã°ã©ãã¡ã€ãã«äžèŠãªããŒã¿ã®äžæžãããªãããšã§ãã
ã¡ããªãã¯ãæã€UDPãã±ããã¯ãåçŽãªã©ãŠã³ãããã³ãä»ããŠãããã¯ãŒã¯æ©åšäžã®ããŒãéã§äžåè¡¡ã«ãªããŸãã ãã¡ããããããã¯ãŒã¯ããŒããŠã§ã¢ã¯ãã±ããã®å
容ãè§£æããªããããæ¯ç§4Mãã±ãããã¯ããã«è¶
ããå€ãååŸããå¯èœæ§ããããŸãããŸããäœãç¥ããªãã¡ããªãã¯ã«ã€ããŠã¯èšããŸã§ããããŸããã ã¡ããªãã¯ãåããã±ãŒãžã«äžåºŠã«1ã€ãã€æ¥ãããã§ã¯ãªãã®ã§ããã®æç¹ã§ããã©ãŒãã³ã¹ã®åé¡ã¯äºæž¬ããŠããŸããã ãµãŒããŒãã¯ã©ãã·ã¥ããå Žåããããã¯ãŒã¯ããã€ã¹ã¯ïŒ1ã2ç§ä»¥å
ã«ïŒãã®äºå®ããã°ããæ€åºããã¯ã©ãã·ã¥ãããµãŒããŒãããŒããŒã·ã§ã³ããåé€ããŸãã ãã®çµæãã°ã©ãäžã®ãããŒããŠã³ã«ã»ãšãã©æ°ä»ããã«ãããã·ãïŒã€ãŸããéãªãŒããŒïŒããŒãããªã³ããã³ãªãã«ã§ããŸãã 倱ãããæå€§å€ã¯ãæåŸã®1ç§éã«å°éããã¡ããªãã¯ã®äžéšã§ãã çªç¶ã®æå€±/ã·ã£ããããŠã³/ãªãŒããŒã®åãæ¿ãã¯ãŸã ããããªç°åžžãåŒãèµ·ãããŸãïŒ30ç§ã®ééã¯ãŸã åæããŠããŸããïŒããããŒãéã«æ¥ç¶ãããå Žåããããã®åé¡ã¯ãäŸãã°åæãã±ãããéä¿¡ããããšã«ããæå°éã«æããããšãã§ããŸãã
å
éšæ§é ã«ã€ããŠå°ãã ãã¡ãããã¢ããªã±ãŒã·ã§ã³ã¯ãã«ãã¹ã¬ããã§ãããã¹ã¬ããã®ã¢ãŒããã¯ãã£ã¯brubeckã§äœ¿çšãããŠãããã®ãšã¯ç°ãªããŸãã brubeckã®ã¹ããªãŒã ã¯åãã§ã-ãããããæ
å ±ã®åéãšéçŽã®äž¡æ¹ãæ
åœããŸãã bioyinoã§ã¯ãäœæ¥è
ã¯2ã€ã®ã°ã«ãŒãã«åããããŸãããããã¯ãŒã¯ãæ
åœããã°ã«ãŒããšéçŽãæ
åœããã°ã«ãŒãã§ãã ãã®åé¢ã«ãããã¡ããªãã¯ã®ã¿ã€ãã«å¿ããŠã¢ããªã±ãŒã·ã§ã³ãããæè»ã«ç®¡çã§ããŸããéçŽéçŽãå¿
èŠãªå Žåã¯ããããã¯ãŒã¯ãã©ãã£ãã¯ãå€ãéçŽåšã远å ã§ããŸã-ãããã¯ãŒã¯ãããŒã®æ°ã远å ããŸãã çŸæç¹ã§ã¯ããµãŒããŒäžã§8ã€ã®ãããã¯ãŒã¯ãš4ã€ã®éçŽãããŒã§äœæ¥ããŠããŸãã
éèšïŒéèšãæ
åœïŒã®éšåã¯ããªãéå±ã§ãã ãããã¯ãŒã¯ã¹ããªãŒã ã§æºãããããããã¡ã¯ãèªã¿åãã¹ããªãŒã éã§åæ£ãããããã«è§£æããã³éçŽãããŸãã èŠæ±ã«å¿ããŠãä»ã®ããŒãã«éä¿¡ããããã®ã¡ããªãã¯ãæäŸãããŸãã ããŒãéã®ããŒã¿è»¢éãConsulã§ã®äœæ¥ãå«ãããããã¹ãŠã¯ãéåæã§å®è¡ããã tokioãã¬ãŒã ã¯ãŒã¯ã§æ©èœããŸãã
ã¡ããªãã¯ã®åä¿¡ãæ
åœãããããã¯ãŒã¯éšåã¯ãéçºäžã«ããå€ãã®åé¡ãåŒãèµ·ãããŸããã ãããã¯ãŒã¯ã¹ããªãŒã ãåå¥ã®ãšã³ãã£ãã£ã«åé¢ããäž»ãªã¿ã¹ã¯ã¯ãã¹ããªãŒã ããœã±ããããã®ããŒã¿ã®èªã¿åãã«è²»ãããªãæéãççž®ããããšã§ãã ã éåæUDPãšéåžžã®recvmsgã䜿çšãããªãã·ã§ã³ã¯ããã«ãªããªããŸããã1ã€ç®ã¯ã€ãã³ãåŠçã®ããã«ãŠãŒã¶ãŒç©ºéCPUã䜿ãããã2ã€ç®ã¯ã³ã³ããã¹ãã¹ã€ããã䜿ããããŸãã ãããã£ãŠã倧ããªãããã¡ãŒãæã€recvmmsgã䜿çšãããããã«ãªããŸããïŒãããŠããããã¡ãŒã玳士ã圹å¡ãããã¯ãšã«ããããªãã®ããã§ã¯ãããŸããïŒïŒã éåžžã®UDPãµããŒãã¯ãrecvmmsgãäžèŠãªã¢ã³ããŒããããå Žåã«æ®ãããŸãã ãã«ãã¡ãã»ãŒãžã¢ãŒãã§ã¯ãäž»ãªããšãéæãããŸãïŒå€§éšåã®æéããããã¯ãŒã¯ã¹ããªãŒã ã¯OSãã¥ãŒãã¬ã€ã¯ããŸã-ãœã±ããããããŒã¿ãèªã¿åãããŠãŒã¶ãŒã¹ããŒã¹ãããã¡ãŒã«è»¢éããŸãã ãœã±ããå
ã®ãã¥ãŒã¯å®éã«ã¯èç©ããããããããããããã±ããã®æ°ã¯å®éã«ã¯å¢å ããŸããã
ãæ³šæããã©ã«ãèšå®ã§ã¯ããããã¡ãµã€ãºã¯ååã«å€§ããèšå®ãããŠããŸãã ãµãŒããŒãèªåã§è©ŠããŠã¿ãããšã«ããå Žåãå°æ°ã®ã¡ããªãã¯ãéä¿¡ããåŸãããããã°ã©ãã¡ã€ãã«å°çããããããã¯ãŒã¯ã¹ããªãŒã ãããã¡ã«æ®ããšããäºå®ã«ééããå¯èœæ§ããããŸãã å°æ°ã®ã¡ããªãã¯ã§äœæ¥ããã«ã¯ãbufsizeããã³task-queue-sizeæ§æã§ããå°ããå€ãèšå®ããå¿
èŠããããŸãã
æåŸã«ããã£ãŒãæå¥œå®¶åãã®ãã£ãŒãã¯ã»ãšãã©ãããŸããã
åãµãŒããŒã®çä¿¡ã¡ããªãã¯ã®æ°ã®çµ±èšïŒ200äžMPS以äžã

ããŒãã®1ã€ãç¡å¹ã«ããŠãçä¿¡ã¡ããªãã¯ãåé
åžããŸãã

çºä¿¡ã¡ããªãã¯ã«é¢ããçµ±èšïŒåžžã«1ã€ã®ããŒãã®ã¿ãéä¿¡ãã-RAIDãã¹ã

ã·ã¹ãã ã®ããŸããŸãªã¢ãžã¥ãŒã«ã®ãšã©ãŒãèæ
®ããåããŒãã®çµ±èšã

çä¿¡ã¡ããªãã¯ã®è©³çްïŒã¡ããªãã¯åã¯é衚瀺ïŒã

ããããã¹ãŠã§æ¬¡ã«äœãããäºå®ã§ããïŒ ãã¡ãããã³ãŒããæžããŠãbl ...ïŒ ãã®ãããžã§ã¯ãã¯ããšããšãªãŒãã³ãœãŒã¹ãšããŠèšç»ãããŠããã®ã§ãä»åŸããã£ãšããã§ãã è¿ãå°æ¥-ç¬èªã®ããŒãžã§ã³ã®Raftãžã®ç§»è¡ããã¢ãããã³ã«ã®ç§»æ€æ§ã®åäžãå
éšçµ±èšã®è¿œå ãæ°ããã¿ã€ãã®ã¡ããªãã¯ã®å°å
¥ããã°ã®ä¿®æ£ãªã©ã®æ¹åã
ãã¡ããã誰ãããããžã§ã¯ãã®éçºãæ¯æŽããããšãæè¿ããŸããPRãåé¡ãäœæããå¯èœã§ããã°ãç§ãã¡ã¯å¿çãä¿®æ£ãªã©ãè¡ããŸãã
ããã§ã圌ããèšãããã«ãããã¯ãã¹ãŠã®äººã
ã§ããç§ãã¡ã®è±¡ãè²·ã£ãŠãã ããïŒ