19æXNUMXæ¥ã«ãšã«ããªã³ãã«ã¯ã§éçºè ã«ã³ãã¡ã¬ã³ã¹ãéå¬ããã ã ããã¯ãšã³ãã»ã¯ã·ã§ã³ã®ããã°ã©ã ãã£ã¬ã¯ã¿ãŒïŒYandexéçºãªãã£ã¹ã®è²¬ä»»è ã¢ã³ãã¬ã€ã»ã¶ãªããæ°ãããŠã¡ã³ã³ã³ã¿ã¯ãã»ã³ã¿ãŒã®éçºéšé責任è ã³ã³ã¹ã¿ã³ãã³ã»ãã¯ã¬ãã·ã§ãæ°ãKontur Denis Tarasovã®ãœãããŠã§ã¢ãšã³ãžãã¢ïŒã¯ãã«ã³ãã¡ã¬ã³ã¹ã§éçºè ãã©ã®ãããªã¬ããŒããæåŸ ã§ããããèªã£ãã
ãç¥ããã«ã³ãã¡ã¬ã³ã¹ã®ãã¬ãŒã³ããŒã·ã§ã³ã«æŽå¯ãæåŸ ãã¹ãã§ã¯ãªããšããæèŠããããŸãã åŸ ã€äŸ¡å€ã®ããããã°ã©ã ãäœæã§ãããšæããŸãã ãããè¡ãããã«ãç§ãã¡ã¯ããŒãã«æ·±ãé¢ãã£ãŠãã人ã ããåãäžããå¿åäœåã® XNUMX/XNUMX ãé€å€ããã¹ããŒãã®æ§é ãééãªãç·šéããè¬æŒè ã«å®è·µçãªäŸãèŠæ±ããŸããã

ã¬ããŒã
æåã® XNUMX ã€ã®ã¬ããŒãã¯é¢é£ããŠãããããäž¡æ¹ãèãããšã匷ããå§ãããŸãã
åé¡ 1. å€éš API ã䜿çšããå Žåãåä¿¡ããŒã¿ã®æ€èšŒã®åé¡ãç¹ã«é¢ä¿ããŸãã 圢åŒã®æ€èšŒã ãã§ã¯ååã§ã¯ãªããããŒã¿ã®äžè²«æ§ã確ä¿ããããšãå¿
èŠã§ãã 解決çã¯æçœã«æããŸãããå€éšãœãŒã¹ã®æ°ãå¢ãããšã倿°ã®åå¥ã®ãã§ãã¯ãç°¡åã«ç®¡çã§ããªããªãå¯èœæ§ããããŸãã ã»ã«ã²ã€ã»ãã«ã¬ãã ã® éªæªãªç«æäºº 颿°åããã°ã©ãã³ã°æè¡ã®äœ¿çšã«åºã¥ããŠãåé¡ã«å¯Ÿããæ§é åãããã¢ãããŒãã瀺ããŸãã
åé¡ 2. ãµãŒããŒãšã®å¯Ÿè©±ãå¹çåããã«ã¯ãAPI ã®åŒã³åºãæ°ãšè¿ãããããŒã¿ã®éãæé©åããå¿
èŠããããŸãã ããã«ã¯ããµãŒã㌠ã¬ãã«ã§äžè²«ãããšã³ãã£ãã£èšèšãå¿
èŠã§ãã ããããªãŒã»ãã§ãã¬ã (éªæªãªç«æäºº) GraphQL ã®å²åŠãšããŒã«ã䜿çšããŠããã广çã«è¡ãæ¹æ³ã説æãããã¥ã¢ã³ã¹ã«æ³šæãæããäŸãåŸæ¥ã® REST ãšæ¯èŒããŸãã
XNUMX çªç®ã®ãããã¯ã¯ Postgres ãš Go ã®çµã¿åããã«ã€ããŠèª¬æããŸãã Avito ãš Yandex ã®äœéšãèããŠãã ãã:)
Postgres ããæã¡ã§ããããžã§ã¯ãã§ Go ã䜿çšããããšèããŠããŸããããããåããŠã§ãã? ãã®ã¬ããŒãã«ãããæéã倧å¹
ã«ç¯çŽã§ããŸãã ãœãããŠã§ã¢ãšã³ãžã㢠ã¢ãŽã£ãã»ã¢ã«ãããŒã»ãªã£ãã³ã³ã 圌ã Avito ã§æ¯æ¥è§£æ±ºããŠããåé¡ã®äŸã䜿çšããŠãGo ã§ãã®ããŒã¿ããŒã¹ãæäœããããã®ããŒã«ãšãã¹ãŠã®è€éãã«ã€ããŠè©±ããŸãã
PostgreSQL ãšããŒã¿ã®ããã¯ã¢ãã? ãã®ããŒãã¯ãã§ã«åºãç ç©¶ãããŠããããã§ãã ããããèšå€§ãªéã®ããŒã¿ãå§çž®ãæå·åã䞊ååŠçã®å¿
èŠæ§ããã«ãã³ã¢ CPU ã®æãå¹ççãªå©çšãªã©ãYandex ã§ãããã©ã®ããã«èµ·ããããçè§£ãããŸã§ã¯ãç¥èã¯äžå®å
šã«ãªããŸãã ã¢ã³ãã¬ã€ã»ãããã£ã³ WAL-G ã®ã¢ãŒããã¯ãã£ã«ã€ããŠèª¬æããŸããWAL-G ã¯ãPostgres ãš MySQL ãç¶ç¶çã«ã¢ãŒã«ã€ãããããã® Go ã®ãªãŒãã³ãœãŒã¹ ãœãªã¥ãŒã·ã§ã³ã§ãããYandex ãç©æ¥µçã«éçºããŠããããããžã§ã¯ãã§äœ¿çšã§ããŸãã
XNUMX çªç®ã®ãããã¯ã¯ãé³å£°èªèããã³åæãã¯ãããžã«èå³ããã人ãASR ãš TTS ãçè§£ã§ããç¥èªã§ãã人ãããã³é³å£°ã¢ã·ã¹ã¿ã³ããäœæãã人ã察象ãšããŠããŸãã
é³å£°ã¢ã·ã¹ã¿ã³ãã¯äººæ°ã®ããŒã¯ã«ãããŸãã ãããã®ããããã«å¯ŸããŠç¬èªã®ã¹ãã«ãäœæããã®ã¯ç°¡åã§ã¯ãããŸããããéåžžã«ç°¡åã§ãã ãã ãããã®ãã¯ãããžãŒã®å®éã®å¿çšäŸã¯ã»ãšãã©ç¥ãããŠããŸããã ãŽã£ã¿ãªãŒã»ã»ãã£ããã³ ã® ãžã§ããã¹ã¿ã€ã« äž»èŠãªã¢ã·ã¹ã¿ã³ãã®æ©èœãšå¶éã®æŠèŠã瀺ããã©ã®ãããªçš®é¡ã®ã¬ãŒããåŸ
ã¡æ§ããŠããããã©ã®ããã«è±éçã«ããããå
æã§ãããããããŠäžè¬çã«ãã®ã¹ããŒãªãŒå
šäœãã©ã®ããã«æºåã§ãããã説æããŸãã ããã«ãVitaly ã¯ãYandex.Station ã«åºã¥ããŠãã¹ããŒã ããŒãã£ã³ã°ããæ§ç¯ããçµéšã«ã€ããŠè©±ããŸãã
倧æäŒæ¥ã¯é³å£°ã¢ã·ã¹ã¿ã³ããæ§ç¯ããããã® API ãæäŸããŠããŸãã ããããå€éšãœãªã¥ãŒã·ã§ã³ãå©çšã§ããªãå Žåã¯ã©ããªãã§ãããã? 㧠茪é ãã®åé¡ã¯è§£æ±ºãããŸãããããã®éã¯èšã®éã§ããããšã倿ããŸããã ãã¯ã¿ãŒã»ã³ã³ãã О ã¹ãŽã§ãã©ãŒãã»ã¶ãŽã£ã€ã㯠ãµããŒããèªååããéã«ããŒã«ã«é³å£°èªèãœãªã¥ãŒã·ã§ã³ã䜿çšããçµéšãå
±æããäœã«çŠç¹ãåœãŠãã¹ãããå¹çãé«ããããã«äœãç ç²ã«ã§ãããã瀺ããŸãã
ä»ã«ã©ããªå ±åããããã®ã§ããããïŒ
æè¿ãRedis 5 ã«æ°ããããŒã¿åã§ããã¹ããªãŒã ãç»å ŽããŸãããããã¯ã人æ°ã®ããã¡ãã»ãŒãž ãããŒã«ãŒ Kafka ã®ã¢ã€ãã¢ãå®è£
ãããã®ã§ãã ããã¹ã»ã«ã¿ãšã (Tinkoff.ru) ã¹ããªãŒã ãå¿
èŠãªçç±ãéåžžã®ãã¥ãŒãšã®éããKafka ã¹ããªãŒã ãš Redis ã¹ããªãŒã ã®éãã説æããåŸ
ã¡æ§ããŠããèœãšã穎ã«ã€ããŠã説æããŸãã
ã®ãªãŒããœãããŠã§ã¢ãšã³ãžã㢠ã³ã³ãã¥ãŒã«ã»ã°ãªãŽãªãŒã»ã³ã·ã§ã¬ã XNUMX æ¥ãããæ°ãã©ãã€ãã®ããŒã¿ãããå Žåããã°ãšã¡ããªã¯ã¹ã®èšé²ã«ã©ã®ãããªåé¡ãããããæ€èšããçæŽ»ãåäžãããæ°ãããªãŒãã³ãœãŒã¹ ãœãªã¥ãŒã·ã§ã³ã«ã€ããŠã説æããŸãã
Kazan .Net ã³ãã¥ããã£ã®ãªãŒã㌠ãŠãŒãªã»ã±ã«ããã³ã (AK ããŒãº ããžã¿ã« ãã¯ãããžãŒãº) ã¯ã.Net Framework ã§ã¢ããªã±ãŒã·ã§ã³ ãã¡ã€ã³ãå¿
èŠãªçç±ãæãåºããã.Net Core ã§ã¢ããªã±ãŒã·ã§ã³ ãã¡ã€ã³ã䜿çšããéã«äœãå€ãã£ãã®ãããããŠçŸåšã©ã®ããã«äžè¬çã«ã¢ããªã±ãŒã·ã§ã³ ãã¡ã€ã³ã䜿çšããã®ãã«ã€ããŠèª¬æããŸãã è¬æŒã®åŸã¯ã.NET Core ãå
éšã§ã©ã®ããã«åäœãããã«ã€ããŠããããçè§£ã§ããããã«ãªããŸãã
ãããŠããµã€ãäžã§æãå€ãã®ç¥šãéãããããã¯ã
2014 幎ã«éããªé©åœãèµ·ããããã®åé¿ãç§ãã¡ã«è¿œãã€ããŸããã ãã®ç¬éãããã€ã³ãã©ã¹ãã©ã¯ãã£ã¯å®å
šã«ç®ã«èŠããªããªããéèŠã§ã¯ãªããªããŸãã ããã¯ä»®æ³ãã·ã³ãã³ã³ããã«é¢ãããã®ã§ã¯ãããŸãã - ãããã¯ãã§ã«éå»ã®ãã®ã§ãããã¯ã©ãŠã ãµãŒãã¹ - AWS Lambda (ããã»ããµæéã«å¯ŸããŠã®ã¿æéãæ¯æããŸã) ã®ã¢ã€ãã¢ã®ãããªãçºå±ã«é¢ãããã®ã§ãã ããéçºè
èªèº«ã®ããã¯ãšã³ã ãããžã§ã¯ãã®äŸã䜿çšããŸãã éªæªãªç«æäºº ãã³ã©ã€ã»ã¹ãŽã§ã«ãã³ã ãµãŒããŒã¬ã¹ã§ã®äœæ¥ã®å®éçãªåŽé¢ã«ã€ããŠãã¹ãŠã説æããŸããéå§ã®é£ãããããã¥ã¡ã³ããšãã¥ãŒããªã¢ã«ã®éãäžè¬ã«åãå
¥ããããŠããæšæºã®ãµããŒãã®æç¡ãããŒã«ã«ã§ã®ãã¹ãæ¹æ³ãã³ã¹ãã¯ã©ããããããã©ã®èšèªã䜿çšããããªã©ã§ããã©ã®ã¿ã¹ã¯ã¹ã¿ãã¯ãæãé¢é£æ§ãé«ããã䜿çšããæ¹ãããã§ãããã
ãã¹ã¿ãŒã¯ã©ã¹
CTO Mastery.pro ã¢ã³ãã¬ã€ã»ãã§ãã§ãã 圌ãšåå è
ã¯ãpostgresãpatroniãconsulãs3ãwalgãansible äžã§ 3 ã€ã®ããŒããããªãåçŽãªãã©ãŒã«ããã¬ã©ã³ã ã¯ã©ã¹ã¿ãŒãæ§ç¯ãããã¹ã¿ãŒ ã¯ã©ã¹ã宿œããŸãã
ãã¹ã¿ãŒã¯ã©ã¹ã®åŸã¯ãæäŸãããŠãã Ansible Playbook ã䜿çšããŠããã®ãããªã¯ã©ã¹ã¿ãŒãæåããèµ·åã§ããããã«ãªããŸãã

æšå¹Žã®ã«ã³ãã¡ã¬ã³ã¹ã®ãã¹ãŠã®ã¬ããŒãã¯ã次ã®å Žæã§ã芧ããã ããŸãã
ãã¹ãŠã®ã¬ããŒããšç»é²ã®èŠçŽ - ã§ .
éçºè
ã®çããã19 æ XNUMX æ¥ã® DUMP ã§ãåŸ
ã¡ããŠããŸã!
åºæïŒ habr.com
