On 02/28/2011 10:48 PM, Igor Karpov wrote:
Меня давно терзает мысль о том, насколько перспективной могла бы быть
реализация Exim на Erlang. :)

Я считаю, что принципиально добиться этим ничего не удастся. Чистый Си быстрее erlang'а, а в концепции exim/postfix/sendmail на каждого клиента делается fork, в рамках которого делаются все необходимые обработки. MTA на erlang будет, скорее, по концепции походить на qmail, что автоматически увеличит накладные расходы на IPC.

Мы, например, перед реальным MTA используем балансирующий прокси, который делает первоначальные ограничения по RBL, а также выполняет необходимые DNS преобразования (т.к. в рамках блокирующегося MTA это очень затратная операция). Сейчас этим прокси служит nginx+policy, а когда SMTP прокси в rspamd будет достаточно оттестирован, переведем все на него.

В целом же, реализовать все состояния и переходы SMTP протокола будет трудно на любом языке. На erlang будет меньше проблем с памятью, зато больше накладных расходов на коммуникации.

Ну а "живая" замена кода - это вообще концепция, элементарно реализуемая в виде fork'ов. Пример - soft update в nginx.

В общем, мое мнение, что писать MTA на эрланге ради эрланга - это не более, чем академический эксперимент :)

--
Vsevolod Stakhov

_______________________________________________
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users

Ответить