@artishok
кратко

Замена long polling для отслеживания изменений в бд?

Есть небольшой сервер, на нём крутиться что-то вроде голландского аукциона, в котором раз в несколько минут меняется стоимость лота. Изменение цены реализовано силами БД.
Сейчас для отображения актуальной стоимости используется ежесекундное обращение к серверу. Стало интересно можно ли реализовать подобное с помощью сокетов, вместо того чтобы постоянно следить за изменениями?
Там же есть чат, он реализован с помощью сокетов и модуля https://github.com/walkor/phpsocket.io
Но здесь всё понятно, т.к. есть триггер для вызова обработчиков. А как реализовать чисто слушателя и обновление на клиенте - не знаю
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 3
@rPman
Какого фига вы рекомендуете человеку удалять гланды через задницу. Какой вебсокет в mysql вы что? Какие тригеры.

Бакэнд является единственным, кто должен менять критичнуюинформацию в базе, вот пусть он и рассылает в вебсокет нужную информацию клиентам.

Вебсокет сервер это пять строчек на php, пара строк на клиенте и легкие рукошевеления для настройки автозапускаемой службы. Если вебсокет уже есть то делать ничего не надо. Придумываете тип сообщения, которое сервер будет слать по этому вебсокету клиентам, клиенты его не должны отображать а вместо этого запрашивать информацию тем старым методом, которым вы сейчас ежесекундно обновляете данные. ВСЕ.

Когда клиент дает цену товару, бакэнд смотрит, какие клиенты его покупают и шлет им сообщение. Возможно придется держать в памяти массив - какой клиент в базе = клиент вебсокет, но с вероятностью 99.(9)% это уже сделано (как минимум имя отображать и авторизация)
Ответ написан
Born2Lose
@Born2Lose
Frontend developer
Ну вы можете обойтись и без замены на вебсокеты. Вы же сами написали:

в котором раз в несколько минут меняется стоимость лота

Следовательно, можно уменьшить частоту запросов за данными.
Вот если стоимость лота меняется с рандомным интервалом, тогда вебсокетоы - хороший вариант.
Ответ написан
@bacon
Наверно самое время узнать что такое "message queue"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы