Фреймворк Akka и его использование в Яндексе
Модель акторов известна уже 20 лет, но при этом её элегантность и выразительность продолжают доставлять. Наиболее известной реализацией является среда выполнения Erlang, использующаяся во многих промышленных системах. В то же время набирает популярность реализация модели акторов во фреймворке Akka, базирующемся на опыте Erlang, нацеленном на JVM и имеющем API для Scala и Java.
Мы подробно рассмотрим модель акторов на примере Akka/Scala и наш опыт её применения в сервисах, уже запущенных или ещё разрабатываемых в Яндексе. Будем говорить о задачах, архитектурах, принятых (и отвергнутых) решениях, достоинствах и недостатках, а также разложенных местами граблях и обходных путях для них.
С отличием окончил СПбГПУ. В IT с 2004 года. Начал с проектов, связанных с цифровой обработкой сигналов и гидроакустикой. Проектировал и разрабатывал распределённые параллельные системы мягкого реального времени для оборонки. Набрался опыта в программировании и начал принимать участие в ряде R&D проектов по статическому анализу кода для Panasonic и Microsoft. Одновременно с этим полюбил функциональное программирование, чьим поклонником является до сих пор.
С 2011 года работает в Яндексе, занимается высоконагруженными интернет-сервисами и отвечает за архитектуру и производительность. Одновременно с основной работой читает лекции по распределённым хранилищам данных и параллельному программированию.
Личный сайт: incubos.org