Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с выбором принципа обмена сообщениями.
Форумы портала PHP.SU » » Вопросы новичков » Проблема с выбором принципа обмена сообщениями.

Страниц (1): [1]
 

1. CAVAC - 28 Декабря, 2012 - 17:24:29 - перейти к сообщению
Я совсем зеленый новичок в программировании, посему не кидайтесь помидорами, а постарайтесь просто помочь советом =)

Есть задача обмена специфическими сообщениями. На стороне клиента (в браузере), человек отправляет сообщение, которое на стороне сервера - храниться, отсылается другим клиентам и изменяет статус сообщения, в зависимости от ответа одного из клиентов адресантов.

В чем нужен совет. Изначально я хотел все сделать запросы на AJAX, чтоб с помощью него каждую секунду проверять изменения по сообщениям, а сами сообщения хранить в бд. Но вот, даже моя несмышленая логика мне подсказывает, что тут возможны большие проблемы с производительностью, так как система должна быть нацелена минимум на 500 клиентов. Главной проблемой мне кажется, такое количество запросов в бд.
Начал думать и читать интернет и наткнулся на сокеты, вроде как с помощью них можно организовать не такое нагруженное соединение, но в них не могу разобраться, боюсь что пока не потяну... да и от бд это меня не освобождает.
Мысли вернулись к AJAX, но разделению сообщений на две части - обработанные, к которым будем мало запросов и их можно выкинуть в бд, для логов и поточные сообщения, с которыми в данный момент ведется работа. Поточные сообщения хранить в файле, сделать пару меток по которым бы клиент узнавал были совершенны изменения или нет и если да, обрабатывал их. Тут проблема в том, что к файлу будет открытый доступ, любой сможет его скачать, просто прописав к нему путь. Сейчас думается, нельзя ли небольшой объем сообщений постоянно сохранять в оперативной памяти скрипта, но незнаю куда копать.

Получилось много текста, пародонте, но вот сам вопрос. Подскажите куда копать в данном вопросе? Какой подход полный бред, а какой имеет право на жизнь. И если есть ссылки, что можно почитать на эту тему?

P.S.: Больше всего мне понравился конечно момент с сокетами, но боюсь что могу не разобраться, по крайней мере почитал в инете по ним, пару исходников поковырял и в итоге в голове не чего не отложилось - не понимаю ((
2. caballero - 28 Декабря, 2012 - 18:10:32 - перейти к сообщению
Цитата:
Я совсем зеленый новичок

Цитата:
система должна быть нацелена минимум на 500 клиентов

это взаимоисключающие вещи
3. dzubchik - 28 Декабря, 2012 - 18:19:23 - перейти к сообщению
Вам должно помочь:

http://habrahabr[dot]ru/post/79189/
4. sKaa - 28 Декабря, 2012 - 23:32:21 - перейти к сообщению
И вот ещё тоже очень нужная вещица :
google.ru
5. tato - 29 Декабря, 2012 - 03:56:01 - перейти к сообщению
Есть такое поняти "Брокер сообщений", мы например используем RabbitMQ

В общем виде связка такая:
RabbitMQ -> Node.js -> Socket.io

Вам придется во всем эт ом разобраться или ничего толкового не получится.

 

Powered by ExBB FM 1.0 RC1