> Это неправильная топология. Для начала это дебильный выбор формата сообщений. В бинарном виде сервер мог бы смолотить в несколько десятков раз больше сообщений. И выдержал бы не только приход 2000 юзерей но и 10 000. А вот мысля про "эй, парни, а докупите-ка в 10 раз больше серверов под кластер?" обычно не находит понимания. Ну кроме случаев особо жирных энтерпрайзов, которым надо еще вчера, а поэтому они готовы простить любой гогнокодинг, лишь бы оно было готово ну самый край вот прямо сейчас.
> Если сервер клинит от тысячи клиентов и вы его ускорите в 2 раза,
Скорее, в 10+ раз. А так получилось уникально: оно и двуногими читается никаковски (врядли кто-то декодирует base64 на глаз) и машины прилично тормозит. Ни два, ни полтора. Вон файлтрансфер почему-то вообще никогда не работает. А в бинарной насквозь аське - почему-то без проблем. Ну и хренли радости с "простоты отладки" в результате? И где практически значимые результаты, собственно?
> считайте, что ничего не произошло - придёт 2 тысячи клиентов, и опа.
Я вижу некую разницу - поставить N серверов или 2 * N. А если 10 * N - и подавно. Особенно если за это надо платить из своего кошелька.
> изначально алгоритмически исключать подобные ситуации.
Понимаете ли, сервера - они денег стоят. И поставить в 10 раз больше серверов - в 10 раз дороже. Вот и гоняют то что есть по принципу "ну как-то ползает же".
Еще более показательный пример вышел с OSM. Они вон тоже думали что текстовые форматы проще, блаблабла. В результате они пришли к XML портянке на 250 гигабайтов. Офигев от такого счастья они забили на это дело и юзанули бинарный формат. Те же самые данные стали весить около десятка гигз. Что ясен фиг ускорило их скачку, работу с ними и прочая во многие разы. Вот так вот бывает если сглупить и не оценить что маленькая хотелка может стать реально большой задачей. Потом придется на полпути костылить и подпирать.