Макс Лапшин (levgem) wrote,
Макс Лапшин
levgem

Categories:

Архитектура ПО (2)

Недавно я рассказывал про серьезную архитектурную ошибку в Wowza, которая позволяет с легкостью отключить практически любой свободно выставленный экземпляр этого сервера в интернете.

Так же хочу привести интересное заблуждение неглупого чувака Крестена Краба, который удивляется: зачем в эрланге gen_server:call имеет по умолчанию таймаут в 5 секунд. Перефразирую этот вопрос для тех кто не в теме: почему в отличие от всех остальных языков программирования, эрланг по умолчанию дает объекту только 5 секунд на то, что бы выполнить метод?

Я в своё время долго мучал людей в рассылке, почему эрланг падает когда заканчивается память?

Все эти вещи я бы хотел связать вместе, что бы ещё раз рассказать о том, какие же всё таки опытные и матерые мужики в OTP team erlang-а. Когда Wowza зависает, она не может выйти из цикла и валит в лог сообщения о том, что out of memory и судя по стектрейсу, она не может выделить память под объект, который должен очистить ненужные сессии. Которые сдохли бы сами, если бы могли получить таймаут от неубиваемой VM. Или сдохли бы все вместе и перезапустились бы монитом, который бы увидел, что процесс умер.

Если бы было написано на эрланге, то система не осталась бы в залипшем состоянии, а она либо сдохла бы окончательно, либо сама собой бы перезапустилась. Но увы, джава не имеет в своём дизайне таких сильных идей, которые нужны для подобных систем. На ней можно сделать всё хорошо, но вот что-то не делают.
Tags: erlang, архитектура
Subscribe

  • Документация на сайте

    Немножко хочу рассказать про документацию на нашем https://flussonic.com/doc/ Основные идеи, которые сейчас я принял при развитии документации…

  • Железный транскодер Flussonic Coder

    Мы в этом году сделали и сейчас начинаем продавать свою собственную железку: аппаратный транскодер. Это большой переход для софтверной компании,…

  • Ржавая камера получила WebUI

    В прошлом году я наконец смог выделить нормальное количество денег на разработку своей прошивки для IP камер. Эта идея у меня была года так с 2013,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 23 comments

  • Документация на сайте

    Немножко хочу рассказать про документацию на нашем https://flussonic.com/doc/ Основные идеи, которые сейчас я принял при развитии документации…

  • Железный транскодер Flussonic Coder

    Мы в этом году сделали и сейчас начинаем продавать свою собственную железку: аппаратный транскодер. Это большой переход для софтверной компании,…

  • Ржавая камера получила WebUI

    В прошлом году я наконец смог выделить нормальное количество денег на разработку своей прошивки для IP камер. Эта идея у меня была года так с 2013,…