Size: a a a

Чат конференции HighLoad++

2020 May 27

YZ

Yarlan Zey in Чат конференции HighLoad++
Авроамэриканец Начрэл
А сложность задач в этом случае решает? Переживаю о том, что будет нехватать не вычислительной мощности, а чего-нибудь другого
время ответа бэкенда решает. насколько блокирует
источник

N

Nikolay in Чат конференции HighLoad++
Т.е у вас будет 1.6 миллионов tcp коннектора в секунду ?
источник

SB

Sergey Bezrukov in Чат конференции HighLoad++
Авроамэриканец Начрэл
Привет, у меня есть детский, наивный вопрос. Я сейчас просто считаю цифры и мне стало интересно, на сколько сложно обработать 1.6 млн сообщений о присутствии в секунду. Какие мощности для этого нужны, если не говорить ни о чём конкретном? Просто абстрактные сообщения "пользователь в сети/пользователь не в сети". И нужно записывать дату события условно в поле last_activity. Технологии могут быть любыми.

Если у вас нет идей, можете рассказать о том, сколько простых запросов обрабатывает один ваш высоко нагруженный сервер на пределе и рассказать о его конфигурации. И о том, как распределяете запросы между серверами.
Что значит "обработать" ? Записать?  Куда, будут ли их потом читать и насколько часто?  Это TCP или UDP?  Используется ли шифрование (TLS)?  Будет ли весь поток сливаться в один ДЦ или несколько (территориально-распределённых?) ? Очень общая постановка
источник

АН

Авроамэриканец Начрэ... in Чат конференции HighLoad++
Nikolay
Т.е у вас будет 1.6 миллионов tcp коннектора в секунду ?
Я пока что не уверен. В том смысле, что я думаю о межсерверном взаимодействии, когда сотни серверов будут слать сообщения о присутствии. В этом случае всё можно уместить в сотни соединений.

А что если бы речь шла о TCP соединениях? Их же тоже можно было бы разбирать несколькими машинами
источник

AD

Aleksey Durachenko in Чат конференции HighLoad++
Краткий ответ - нет, не сложно. Более конкретный зависит от задачи
источник

N

Nikolay in Чат конференции HighLoad++
Если это сотни серверов, то это сотни сообщений , а не миллион
источник

АН

Авроамэриканец Начрэ... in Чат конференции HighLoad++
Sergey Bezrukov
Что значит "обработать" ? Записать?  Куда, будут ли их потом читать и насколько часто?  Это TCP или UDP?  Используется ли шифрование (TLS)?  Будет ли весь поток сливаться в один ДЦ или несколько (территориально-распределённых?) ? Очень общая постановка
Я написал что задача - записать. Вопрос чтения здесь не рассматривается, вопрос о обработке, это другая тема. Это может быть любой протокол с шифрованием, без потери данных. Да, обрабатывать данные должен один ДЦ
источник

АН

Авроамэриканец Начрэ... in Чат конференции HighLoad++
Nikolay
Если это сотни серверов, то это сотни сообщений , а не миллион
Сотни соединений, а сообщений 1.6 млн в секунду
источник

N

Nikolay in Чат конференции HighLoad++
Пишите в кафку
источник

АН

Авроамэриканец Начрэ... in Чат конференции HighLoad++
Набрал в поиске highload  и написал в первую попавшуюся конференцию с большим количеством людей. Если считаешь что на этот вопрос ответят лучше в другом месте - скинь ссылку на конкретный чат
источник

S

Sanan in Чат конференции HighLoad++
Мда. Все что можно сказать об этом чатике)
источник

VO

Vyacheslav Olkhovche... in Чат конференции HighLoad++
Авроамэриканец Начрэл
Понятно. Ну такой ответ меня не устраивает, я хочу услышать что-нибудь вроде "я имел опыт с сервером такой-то конфигурации, который обрабатывал столько-то запросов в секунду на пике активности решая такие-то задачи. Применяя свой жизненный опыт, могу предположить что для решения твоей задачи при таких-то условиях понадобятся такие-то мощности"
я имел дело с сервером обрабатывающим (по сути) 14Мrps. но тебе это не поможет.
источник

АН

Авроамэриканец Начрэ... in Чат конференции HighLoad++
Vyacheslav Olkhovchenkov
я имел дело с сервером обрабатывающим (по сути) 14Мrps. но тебе это не поможет.
Да, эта информация бесполезна. Если расскажешь о чём спрашиваю, будет полезно
источник

VO

Vyacheslav Olkhovche... in Чат конференции HighLoad++
я сказал имеенно то, что ты спрашивал. ну не виноватая я что ты так спрашиваешь!
источник

OB

Oleg Bunin in Чат конференции HighLoad++
Коллега, универсального решения нет. Планирование мощностей - одна из самых сложных тем, это невозможно сделать, не зная деталей задачи.

Абстрактный ответ на вопрос - для обработки 1.6 миллиона сообщений о присутствии в секунду вам может потребоваться от одного до бесконечного количества серверов.

Нужно больше вводных.
источник

OB

Oleg Bunin in Чат конференции HighLoad++
Что такое пользователь? Откуда генерируются эти сообщения? Как быстро нужно записать событие? Сколько всего пользователей? Нужно ли думать об уникальности? Кто и когда читает эту информацию? Как её надо обрабатывать?

Пример простой - если читать эту информацию вообще не надо и она не критична, то сохраняем в какой-нибудь кеш в памяти и всё. И раз в час сбрасываем.

А если у вас появляется в системе функциональность вида "Нужно понимать, сколько сейчас онлайн", то задача уже другая.

А если "Сколько за последнюю минуту онлайн", то третья.

А если "Сколько уникальных за последнюю минуту онлайн", то четвёртая.

Каждый раз будет разная архитектура.
источник

АН

Авроамэриканец Начрэ... in Чат конференции HighLoad++
Oleg Bunin
Коллега, универсального решения нет. Планирование мощностей - одна из самых сложных тем, это невозможно сделать, не зная деталей задачи.

Абстрактный ответ на вопрос - для обработки 1.6 миллиона сообщений о присутствии в секунду вам может потребоваться от одного до бесконечного количества серверов.

Нужно больше вводных.
Каких, например? Я дал много информации о задаче. Скажите чего не хватает, добавлю деталей
источник

АН

Авроамэриканец Начрэ... in Чат конференции HighLoad++
Oleg Bunin
Что такое пользователь? Откуда генерируются эти сообщения? Как быстро нужно записать событие? Сколько всего пользователей? Нужно ли думать об уникальности? Кто и когда читает эту информацию? Как её надо обрабатывать?

Пример простой - если читать эту информацию вообще не надо и она не критична, то сохраняем в какой-нибудь кеш в памяти и всё. И раз в час сбрасываем.

А если у вас появляется в системе функциональность вида "Нужно понимать, сколько сейчас онлайн", то задача уже другая.

А если "Сколько за последнюю минуту онлайн", то третья.

А если "Сколько уникальных за последнюю минуту онлайн", то четвёртая.

Каждый раз будет разная архитектура.
Первый вопрос не понимаю. Сообщения посылают серверы и пользователи. Пользователи о своём присутствии, серверы о присутствии пользователей в их домене. Какая разница сколько пользователей? Я проверяю как масштабируется архитектура, поэтому представим что 100млн активных пользователей. Не думаю что это даёт какую-то информацию. Потому что они используют разные серверы.

Об уникальности чего нужно думать? Тоже не понятен вопрос. Нужно просто записывать данные в БД.

Информация отдаётся сервером по запросу пользователей.

На самом деле, я уже описал что я хотел бы услышать в ответ на мой вопрос. Хотел иметь примерное представление о том, сколько железа для этого потребуется. Но видимо это какая-то секретная информация и придётся самому тестить и считать. Здесь только вопросы задают, не отвечая на мой
источник

vk

vladimir kunschikov in Чат конференции HighLoad++
источник

p

ppavel in Чат конференции HighLoad++
источник