Потому что все жизненно важное находится за консумером, который может от провайдера либо получить дополнительные N сущностей, либо упереться в мертвого/полудохлого провайдера, что не так страшно. Ад, который вы описываете с OOM, утянутым на дно шедулером и маршем Шопена, изолирован на уровне «за пределами бизнес логики».
Идея и реализация настолько просты, что я просто не понимаю, где оно может поломаться. Аналогия примерно такая: мы накрыли бомбу чугунной ванной. Мы не решили проблему взрыва, но мы гарантировали себе отсутствие разрушений вокруг.
А зачем бы и старожилам пользоваться поиском по сайту, если гугл прекрасно с этим справляется? Кроме того, каждый, кто задает вопрос как бы имплицитно, но все-таки пользуется поиском :)
Я не в состоянии поверить, что на мете в качестве причины негативной реакции было озвучено «на этот вопрос (про OpenGL) в принципе сложно дать ответ».
Я не подвергаю ваши слова сомнению, просто это мне представляется невороятным статистически выбросом. А я далеко не первый год довольно активно использую сайт и повидал там, поверьте, многое.
Если вы вдруг перечитаете мой комментарий выше, вы заметите, что я не случайно сравнил SO с хабром. Или вы считаете, что здесь вам бы дорожелательно посоветовали так больше не делать? Любое сообщество грешит ретивыми полицейскими.
Правда, лично от себя могу заметить, что я ни разу не встречал негатив на SO, вне зависимости от. Правда, я не задаю вопросы, нарушающие правила.
Я сверился со словарем, и таки да: слово «дубликат» означает то, что можно пойти и почитать ранее данный ответ, который решает проблему. Если же на самом деле это не дубликат, и есть принципиальная разница — всего лишь надо отредактировать вопрос, заострив внимание на отличиях и вопрос переоткроют. Я лично неоднократно переоткрывал закрытые вопросы после редактирования, и точно знаю, что так поступают практически все, кто может переоткрывать вопросы.
Даже если предположить, что это так и есть, в чем проблема «заминусовали»-то? Ну либо подправьте вопрос/ответ, либо удалите, если он неверен (при удалении минусы обнулятся).
Я за несколько лет видел один единственный заминусованный корректный ответ (в ответе предлагалось использовать eval, а нубы почему-то считают его абсолютным злом). Я позвал модератора (ответ был не мой) и все уладилось.
А вы попробуйте написать статью на Хабр, состоящую из следующего текста: «Нужна 32bit версия GWAN, опробовал всё: искал в гугле, писал разработчиками GWAN. Помогите, пожалуйста!».
Подождите часок-другой. Загляните в комментарии.
Понимаете, Джефф и Джоэл сделали сайт, который называется не «викторина вопросов и ответов», на котором есть свои правила, которые как-то худо-бедно даже работают, но главное, что они там есть. Я полагаю, имеет смысл в чужие монастыри ходить без своего устава, нет?
Твердой валютой на SO является вклад в сообщество, и этот ресурс постоянно растет. Практика показывает, что накрутить его фактически невозможно (я ни разу за несколько лет не встречал кого-нибудь некомпетентного, или тролля, или еще кого неприятного с репутацией выше 10K).
возможность оценивания за определенную статью/комментарий пропадает через некоторое время
Это еще почему? И зачем? Я до сих пор получаю плюсы за ответы трехлетней давности и по понятным причинам мне это нравится.
Репутацию на SO можно зарабатывать, поэтому с определенного момента ее хватит. Даже на предложение bounty 500, которое фактически гарантирует получение срочного ответа на довольно сложный вопрос.
Хожу на SO не только за ответами на свои вопросы, но и чтобы давать ответы на чужие вопросы. Иногда перебрасываюсь невинными шутками со знакомыми по ранним пересечениям в ответах. Веду себя, разумеется, вежливо.
Никакого падения, кармадрочества, злых пользователей, минусяторов не видел, более того, за все это время мне встретился только один автор тролль, который обиделся на вежливое предложение почитать правила ресурса и заминусовал сразу штук 20 моих ответов, не предпринимал ничего, но спустя сутки этот пользователь был удален (без моего, разумеется, участия) и «карма» вернулась.
Более вежливого и доброжелательного сообщества, чем на SO я в интернете не видел (кроме узкоспециализированных форумов, но это про другое).
Я говорим о том, что Experimental.GenStage в моем конкретном случае (там есть back-pressure и просто запускать процессы не получится, они time consuming) позволил бесплатно [в теории] снять головную боль про «что будет, если завтра я найду во входном канале не тысячу, а миллион реквестов в минуту». То есть ровно про то, для чего он был создан.
Вы же говорите о том, что у вас есть что-то такое, что нагружает N ядер на M процентов, что в теории может вообще нуждаться в ручном маршаллинге, своем шедулере, или своем умном GenServerе. Я охотно верю, что все задачи в мире GenStage не решит, но конкретно мою — контролировать количество и успех обработчиков — он решил. Как-то так.
Да, мне нужно было оговориться, что у нас в этой части нет критичных данных. Мы агрегируем некие данные, идущие из разных источников, примерно 100 запросов в секунду, в пике — 1000. Если запрос потеряется — ничего страшного, поэтому внутри пайплайна защиты нет. Но при этом ничего не теряется, пока, по крайней мере.
Запланированной реакции на перегруз в обычном понимании нет, потому что, если я правильно вообще все понимаю, consumer — в модели описанной выше — захлебнуться не может. Узким местом, таким образом, является provider. Чтобы этого избежать, у меня бэкэндом стоит Riak, который специально обещает записать все, что ему всунули, а вот уж читать — как получится. До пиковых значений мне добраться не удавалось пока, поэтому я даже и не знаю, что ответить на «как боремся».
В качестве premature optimization я запилил Riak hook на запись, который пишет «разреженный» бакет по данным раз в секунду (из-за того, что первоочередная задача — попасть в сторадж, бывает, что чуть реже, на десятые) и если provider начинает захлебываться, он откатывается на «разреженный» бакет. Но, повторюсь, мы до потолка пока не допрыгивали, и не заметно, что допрыгнем в ближайшее время.
_P. S._ на меня Валим производит впечатление человека, который свалил от DHH именно из-за того, что у него совсем другая парадигма мышления.
Почему «может быть»? Я ее уже в продакшене в хвост и в гриву гоняю. Валим специально оговорился, что Experimental там только из-за возможных коллизий с именами/переименованиями, код — production-ready.
Погодите, как это ни единой ссылки? Там что, в треде ни одного человека с репутацией >25К не было? Статистика же видна. Вот данные по прямо сейчас:
Потому что все жизненно важное находится за консумером, который может от провайдера либо получить дополнительные N сущностей, либо упереться в мертвого/полудохлого провайдера, что не так страшно. Ад, который вы описываете с OOM, утянутым на дно шедулером и маршем Шопена, изолирован на уровне «за пределами бизнес логики».
Идея и реализация настолько просты, что я просто не понимаю, где оно может поломаться. Аналогия примерно такая: мы накрыли бомбу чугунной ванной. Мы не решили проблему взрыва, но мы гарантировали себе отсутствие разрушений вокруг.
А зачем бы и старожилам пользоваться поиском по сайту, если гугл прекрасно с этим справляется? Кроме того, каждый, кто задает вопрос как бы имплицитно, но все-таки пользуется поиском :)
Я не в состоянии поверить, что на мете в качестве причины негативной реакции было озвучено «на этот вопрос (про OpenGL) в принципе сложно дать ответ».
Я не подвергаю ваши слова сомнению, просто это мне представляется невороятным статистически выбросом. А я далеко не первый год довольно активно использую сайт и повидал там, поверьте, многое.
Я поручусь.
С такой формулировкой вопрос закрыть на SO нельзя. Там radio option, и этого варианта нет.
Если вы вдруг перечитаете мой комментарий выше, вы заметите, что я не случайно сравнил SO с хабром. Или вы считаете, что здесь вам бы дорожелательно посоветовали так больше не делать? Любое сообщество грешит ретивыми полицейскими.
Правда, лично от себя могу заметить, что я ни разу не встречал негатив на SO, вне зависимости от. Правда, я не задаю вопросы, нарушающие правила.
Да, совершенно согласен, вот это (⇑) описывает самый разумный паттерн поведения.
Я сверился со словарем, и таки да: слово «дубликат» означает то, что можно пойти и почитать ранее данный ответ, который решает проблему. Если же на самом деле это не дубликат, и есть принципиальная разница — всего лишь надо отредактировать вопрос, заострив внимание на отличиях и вопрос переоткроют. Я лично неоднократно переоткрывал закрытые вопросы после редактирования, и точно знаю, что так поступают практически все, кто может переоткрывать вопросы.
Даже если предположить, что это так и есть, в чем проблема «заминусовали»-то? Ну либо подправьте вопрос/ответ, либо удалите, если он неверен (при удалении минусы обнулятся).
Я за несколько лет видел один единственный заминусованный корректный ответ (в ответе предлагалось использовать
eval
, а нубы почему-то считают его абсолютным злом). Я позвал модератора (ответ был не мой) и все уладилось.На SO нет понятия кармы, которую можно «подправить». Также там фактически нет троллей.
Ну и «заминусуй, если уверен точно, что это он» — было бы неплохо услышать список критериев, а то, может быть, вам Вася тролль, а мне — наоборот.
А как вы по «меня заминусовал Вася» определите, что «минус поставлен за грамматические ошибки»?
А вы попробуйте написать статью на Хабр, состоящую из следующего текста: «Нужна 32bit версия GWAN, опробовал всё: искал в гугле, писал разработчиками GWAN. Помогите, пожалуйста!».
Подождите часок-другой. Загляните в комментарии.
Понимаете, Джефф и Джоэл сделали сайт, который называется не «викторина вопросов и ответов», на котором есть свои правила, которые как-то худо-бедно даже работают, но главное, что они там есть. Я полагаю, имеет смысл в чужие монастыри ходить без своего устава, нет?
Твердой валютой на SO является вклад в сообщество, и этот ресурс постоянно растет. Практика показывает, что накрутить его фактически невозможно (я ни разу за несколько лет не встречал кого-нибудь некомпетентного, или тролля, или еще кого неприятного с репутацией выше 10K).
Это еще почему? И зачем? Я до сих пор получаю плюсы за ответы трехлетней давности и по понятным причинам мне это нравится.
Репутацию на SO можно зарабатывать, поэтому с определенного момента ее хватит. Даже на предложение bounty 500, которое фактически гарантирует получение срочного ответа на довольно сложный вопрос.
Отвечайте на чужие вопросы, и воздастся.
Хожу на SO не только за ответами на свои вопросы, но и чтобы давать ответы на чужие вопросы. Иногда перебрасываюсь невинными шутками со знакомыми по ранним пересечениям в ответах. Веду себя, разумеется, вежливо.
Никакого падения, кармадрочества, злых пользователей, минусяторов не видел, более того, за все это время мне встретился только один автор тролль, который обиделся на вежливое предложение почитать правила ресурса и заминусовал сразу штук 20 моих ответов, не предпринимал ничего, но спустя сутки этот пользователь был удален (без моего, разумеется, участия) и «карма» вернулась.
Более вежливого и доброжелательного сообщества, чем на SO я в интернете не видел (кроме узкоспециализированных форумов, но это про другое).
Я говорим о том, что
Experimental.GenStage
в моем конкретном случае (там есть back-pressure и просто запускать процессы не получится, они time consuming) позволил бесплатно [в теории] снять головную боль про «что будет, если завтра я найду во входном канале не тысячу, а миллион реквестов в минуту». То есть ровно про то, для чего он был создан.Вы же говорите о том, что у вас есть что-то такое, что нагружает N ядер на M процентов, что в теории может вообще нуждаться в ручном маршаллинге, своем шедулере, или своем умном
GenServer
е. Я охотно верю, что все задачи в миреGenStage
не решит, но конкретно мою — контролировать количество и успех обработчиков — он решил. Как-то так.Запланированной реакции на перегруз в обычном понимании нет, потому что, если я правильно вообще все понимаю, consumer — в модели описанной выше — захлебнуться не может. Узким местом, таким образом, является provider. Чтобы этого избежать, у меня бэкэндом стоит Riak, который специально обещает записать все, что ему всунули, а вот уж читать — как получится. До пиковых значений мне добраться не удавалось пока, поэтому я даже и не знаю, что ответить на «как боремся».
В качестве premature optimization я запилил Riak hook на запись, который пишет «разреженный» бакет по данным раз в секунду (из-за того, что первоочередная задача — попасть в сторадж, бывает, что чуть реже, на десятые) и если provider начинает захлебываться, он откатывается на «разреженный» бакет. Но, повторюсь, мы до потолка пока не допрыгивали, и не заметно, что допрыгнем в ближайшее время.
_P. S._ на меня Валим производит впечатление человека, который свалил от DHH именно из-за того, что у него совсем другая парадигма мышления.
Почему «может быть»? Я ее уже в продакшене в хвост и в гриву гоняю. Валим специально оговорился, что
Experimental
там только из-за возможных коллизий с именами/переименованиями, код — production-ready.Подробнее: http://elixir-lang.org/blog/2016/07/14/announcing-genstage/
На последней конференции он два часа про GenStage говорил.