ADD 2010: Отчет Глеба Тарасова/Видео-хостинг на Erlang
Я был совершенно убежден, что на свете есть только один программист на Erlang (который написал jabber-сервер). В одном зале на ADD-2010 их было как минимум два! Уже ради этого можно было сходить на этот доклад.
Идея преимущества Erlang-а простая. В его внутренних «процессах» выполняются задачи над иммутабельными данными. Работа идет в PHP-стиле. Если что-то пошло не так — просто убиваем процесс и все. Прелесть в том, что все ресурсы этот процесс освободит. Там же в рантайме можно посмотреть какой процесс отжирает слишком много памяти и тоже просто его прибить. Но если на PHP в таком стиле можно написать только короткие обработки request-ов, а что-то с долгим uptime-ом будет безудержно кушать память, то на Erlang-е как раз можно в этом стиле написать приложение с аптаймом в несколько месяцев. Этому способствует еще и возможность изменять код на лету, без разрыва соединения с клиентом.
Во время вопросов оказалось, что обновлять код на лету умеет еще и Lisp. И эта его особенность используется на марсоходах, где перезапускать сессию просто нельзя. Соединение с Марсом восстановить проблематично.
Цимус доклада еще в том, что Erlang-у может быстро научиться любой здравомыслящий программист, так что проблем с поиском кадров быть не должно.