Обзор решения
Поскольку вы постоянно работаете с оперативными данными, нет необходимости хранить их в базе данных, кроме как для архивных целей.У вас должен быть буфер области приложения, в котором хранятся текущие комментарии для каждого из каналов (крикет, теннис, футбол и т. Д.). Для отображения его на странице следует использовать ajax polling .Не выбирайте принудительную модель, поскольку она может перегрузить сервер.
Как это работает
Для буфера я бы порекомендовал структуру данных очереди.Каждая строка комментария, которая создается (из внешней системы или кто-то вводит ее), должна быть добавлена в очередь с уникальным номером строки.Код javascript в браузере всегда запрашивает все новые строки, начиная с последней отображаемой строки, что должно поддерживаться в браузере в переменной javascript или в скрытой переменной.По мере увеличения очереди у вас может быть один или несколько потоков на стороне сервера, которые считывают самые старые записи из очереди и записывают их в базу данных для архивирования (если вам нужна эта функция).
Настройка производительности
Размер очереди, количество потоков в архиве и т. Д. Являются параметрами настройки, которые необходимо определить исходя из количества пользователей, доступной памяти идопустимый допуск для пропущенных строк (некоторые клиенты могут пропускать некоторые строки в тот момент, когда очередь слишком быстро архивируется).Если вам известны эти числа, вы можете использовать понятия теория очередей , чтобы получить оптимальный размер очереди и число потоков.