[Moscow.pm] гребаные тестовые задания

Ivan Petrov i.petro.77.00 на gmail.com
Пн Дек 7 10:54:18 PST 2015


>>> В этом сообществе, может, и не нужно.
>>> Но тогда у меня для его участников есть печальная новость.

>> я так думаю что столь важно не то с какой скоростью код может работать,
>> сколь важно то с какой скорость код может быть изменен.

> Обе вещи важны, должен быть баланс.

при наличии второй, первая ВСЕГДА достижима.

>>> основная проблема всех крупных проектов в том, что они приходят к
>>> такому состоянию, что они сами не могут внести исправления в
>>> собственный код.

>> таких примеров масса.
>> вот взять скажем ICQ. Могли в ICQ добавить аудио/видео разговоры,
>> вменяемые никнеймы итп? могли. Что бы произошло в этом случае? ICQ бы
>> выжил. однако он сдох[нет].

> Я думаю, вопрос стоял иначе.
> Любой бизнес дорастает до состояния, когда стейкхолдерам ссыкотно менять что бы
> то ни было.
> Боятся сломать.

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


>> профайлинг показывает узкие места.
>> как правило решение лежит не в области переписывания узких мест, а в
>> области смены чего-то в архитектуре

> Никогда не лежит в архитектуре.
> Архитектура всегда очень проста.
> Ну - есть сервер очередей, консьюмеры, есть сервер приложений, который динамику
> рисует.
> Что тут можно изменить?

архитектуру.
вот возьмем сервер очередей. ОЧЕНЬ ЧАСТО я вижу что интерфейс
консьюмера и сервера очередей делают так: консьюмер опрашивает с
некоторым периодом: "есть ли для меня задачи?"
например по такому принципу реализован pgq и многие другие очереди.

Очевидно, что данный путь реализации консюмера наиболее прост, ложится
в ИМЕЮЩИЕСЯ алгоритмы работы, но при этом имеет АРХИТЕКТУРНО
заложенные геморрои как:

 - низкая масштабируемость консьюмеров
 - заранее заданное время лага на исполнение таска

причем если не меняем архитектуру, но боремся например с лагом -
налетаем на проблему масштабируемости. боремся за масштабируемость -
приходится мириться с лагами.

решить эту проблему можно только архитектурным изменением.




Подробная информация о списке рассылки Moscow-pm