Какие существуют лучшие практики при создании чата?
Подскажите пожалуйста, какие есть сейчас best practices при создание чата на PHP?
Проект будет примерно такой: есть продавцы, есть клиенты. Клиент ищет товар (подает объявление), в этот же момент определенные продавцы получают уведомление об этом (все в режиме онлайн). И далее продавцы откликаются и отправляют свои предложения клиенту, тот же сразу их получает. Ну по сути тот же самый чат, только присутствуют персональные данные (телефон, фио и пр.).
Как я помню, у вебсокетов были всегда проблемы с безопасностью. Есть еще другие технологии, вот хотелось бы узнать что сейчас является хорошей практикой при реализации такого рода приложений?
Да и вообще, обычные чаты на сайтах на чем пишут?
А вы уверены в бизнес-модели, что Клиенты готовы сидеть на странице и ждать пока Продавец подготовит предложение? Представте что Клиентов допустим 1000 человек онлайн (что очень мало) - а сколько Продавцов?
Я думаю гнаться за реал-тайм системой не нужно.
Реализовать можно через событийную модель: запрос от клиента -> событие ушло к продавцам -> один назначил ее на себя -> подготовил предложение -> событие ушло к клиенту.
Страница на клиентской стороне может раз в 5 сек пинговать на наличие новый событий. Это будет работать и на стороне Клиентов и на стороне Продавцов.
PHP для такой задачи уже не "best practices". Для максимальной скорости работы чата, необходимо использовать WebSocket . Или реализовать всё это на базе месенджеров, как это делают многие магазины с их поддержкой