реализация текущего комментария к любому происходящему событию - PullRequest
1 голос
/ 28 февраля 2011

Я ищу возможность реализации любого мероприятия в средствах массовой информации на моем веб-сайте.

Например: хочу обновить живую речь, живую сессию, живой футбол, живой теннис, живой теннис и т. Д... на моем веб-сайте, который построен на PHP и Mysql.

Например, вы можете обратиться к этому http://www.espncricinfo.com/icc_cricket_worldcup2011/engine/current/match/433570.html

Вначале задумывался о реализации этого с базой данных, но если есть1 миллион человек, получающих доступ к одному и тому же комментарию, имеют больше шансов замедлить работу веб-сайта, возможно, из-за того, что одновременные соединения открыты

Я думаю, что есть способы работать с функциями XML, если у кого-либо есть ЛЮБЫЕ ИДЕИсо мной ссылки или дизайн, которые могут помочь мне в реализации этого.

Ответы [ 3 ]

0 голосов
/ 01 марта 2011

Шаблон Observer Design подойдет для вышеуказанной ситуации.

http://en.wikipedia.org/wiki/Observer_pattern

и шаблон проектирования Ajax HTTP Streaming помогут в достижении того же.

0 голосов
/ 10 марта 2011

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

Как это работает
Для буфера я бы порекомендовал структуру данных очереди.Каждая строка комментария, которая создается (из внешней системы или кто-то вводит ее), должна быть добавлена ​​в очередь с уникальным номером строки.Код javascript в браузере всегда запрашивает все новые строки, начиная с последней отображаемой строки, что должно поддерживаться в браузере в переменной javascript или в скрытой переменной.По мере увеличения очереди у вас может быть один или несколько потоков на стороне сервера, которые считывают самые старые записи из очереди и записывают их в базу данных для архивирования (если вам нужна эта функция).

Настройка производительности
Размер очереди, количество потоков в архиве и т. Д. Являются параметрами настройки, которые необходимо определить исходя из количества пользователей, доступной памяти идопустимый допуск для пропущенных строк (некоторые клиенты могут пропускать некоторые строки в тот момент, когда очередь слишком быстро архивируется).Если вам известны эти числа, вы можете использовать понятия теория очередей , чтобы получить оптимальный размер очереди и число потоков.

0 голосов
/ 28 февраля 2011

Из вашего объяснения мне пришло в голову следующее: XMPP

Надеюсь, что поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...