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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с выбором принципа обмена сообщениями.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
CAVAC
Отправлено: 28 Декабря, 2012 - 17:24:29
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Я совсем зеленый новичок в программировании, посему не кидайтесь помидорами, а постарайтесь просто помочь советом =)

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

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

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

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


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Я совсем зеленый новичок

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

это взаимоисключающие вещи


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
dzubchik
Отправлено: 28 Декабря, 2012 - 18:19:23
Post Id



Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Июль 2010  


Помог: 1 раз(а)




Вам должно помочь:

http://habrahabr[dot]ru/post/79189/
 
 Top
sKaa
Отправлено: 28 Декабря, 2012 - 23:32:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


И вот ещё тоже очень нужная вещица :
google.ru
 
 Top
tato
Отправлено: 29 Декабря, 2012 - 03:56:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)




Есть такое поняти "Брокер сообщений", мы например используем RabbitMQ

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

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


-----
просто ?: сложно
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB