Мисля да интегрирам чат във вече написано и работещо php приложение. Тъй като трябва да избера внедряването на чат, все пак ще ви обърна внимание:
- PHP не е добър за приложение на Comet. Сървър php comet за управление на чат няма да се мащабира добре, така че няма да е първият ми избор.
- Node.js + Socket I/O в крайна сметка може да бъде добър вариант за чат двигателя.
- AMQP (RabbitMQ?) може да бъде друго евентуално добро решение, не изключително с node.js, тъй като те могат да се интегрират доста добре.
Основният проблем е: как мога да избегна дублирането на код и бизнес логика? Има някои аспекти, които бих искал да отбележа:
- Приложението управлява потребителите по RBAC начин. Потребителите трябва да могат да разговарят с други потребители в зависимост от тяхната роля (и някои други бизнес логики). Би било трудно (и лоша практика imo) да се дублира тази логика.
- Ако използвам два различни сървърни процеса (както мисля) за IM и приложение, как мога да управлявам http сесия?
Накратко: IM ще бъде тясно свързан с бизнес логиката, така че наистина трябва да избягвам дублирането на код/логика, но в същото време не искам PHP машина за чат.
Благодаря ви предварително.