приложение для чата с высоким уровнем параллелизма - PullRequest
1 голос
/ 09 декабря 2011

В настоящее время у меня есть веб-приложение для частного чата, которое работает очень хорошо.

Теперь проблема в том, что я использую mysql для сохранения, а затем получения полученных сообщений, это очень неэффективно, и я подумывал о переходе на node.js или socket.io для обработки отправленных личных сообщений. Поскольку трафик, который я получаю, растет с каждым днем, мне скоро придется обрабатывать десятки, а затем и сотни тысяч соединений.

как мне этого добиться? мне нужно несколько серверов? или может ли один мощный сервер обрабатывать такое огромное количество соединений?

Заранее спасибо.

1 Ответ

2 голосов
/ 09 декабря 2011

Вам нужна либо большая мощная машина с высокой вычислительной мощностью и огромной оперативной памятью, либо несколько машин.

Вам также необходимо программное обеспечение pub-sub, такое как Redis или ZeroMQ для связи между машинами (например: пользователь отправляет сообщение на машину A, но сообщение должно передаваться на все машины, и после этого машины должны отправлять сообщение конечным пользователям).

Редактировать: Также, возможно, было бы более эффективно заменить MySQL чем-то вроде MongoDB, который может работать намного лучше, учитывая вариант использования.

...