Я думаю об интеграции чата в уже написанное и работающее php-приложение.
Поскольку мне еще предстоит выбрать реализацию чата, я покажу вам некоторые соображения:
- PHP не подходит для приложения Comet. Кометный сервер php для управления чатом будет плохо масштабироваться, поэтому он не будет моим первым выбором.
- Node.js + Socket I / O, может в конечном итоге стать хорошим вариантом для движка чата.
- AMQP (RabbitMQ?) Может быть другим, возможно, хорошим решением, не эксклюзивным для node.js, поскольку они могут довольно хорошо интегрироваться.
Основная проблема: как избежать дублирования кода и бизнес-логики? Есть некоторые аспекты, на которые я хотел бы обратить внимание:
- Приложение управляет пользователями в стиле RBAC. Пользователи должны иметь возможность общаться с другими пользователями в зависимости от их роли (и некоторых других бизнес-логик). Было бы трудно (и имитировать плохую практику) дублировать эту логику.
- Если я использую два разных серверных процесса (как я думаю) для обмена мгновенными сообщениями и приложения, как я могу управлять сеансом http?
Короче говоря: IM будет тесно связан с бизнес-логикой, поэтому мне действительно нужно избегать дублирования кода / логики, но в то же время мне не нужен механизм чата PHP.
Заранее спасибо.