2012-04-06 2 views
4

У нас есть приложение для iOS, в котором есть функция чата. В настоящее время он работает с длинным опросом. И теперь мы пытаемся изменить его для работы с сокетами. Когда дело доходит до сокета, мы начали исследования, и кажется, что одним из лучших вариантов является использование nodejs с socket.io. Затем мы использовали redis pub/sub для управления доставкой и хранением сообщений.Как создать чат-приложение с nodejs, redis и mongodb?

После нескольких исследований, посвященных redis, рекомендуемое использование предполагает сохранение сохраненных данных в памяти. Но у нас есть небольшая большая база данных. Мы хотели бы сохранить всю историю чата. Таким образом, мы начали планировать использовать redis в качестве базы данных кеша, которая будет хранить историю чата онлайн-пользователя (может быть, не целая) и написать фактический разговор после перехода из режима redis в mongodb/simpledb (или сразу же оба из них).

Итак, мы собираемся решить, использовать nodejs и redis pub/sub для доставки сообщений, redis в качестве базы данных кеша и mongodb для хранения всего разговора.

Что вы думаете о дизайне? Это приемлемо? Или, если есть лучший способ, который вы можете предложить, можете ли вы объяснить немного больше?

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

ответ

3

Для чатов, вы думаете, большой. Если вы думаете, что собираетесь достичь миллиона пользователей, тогда идите. Подумайте также о доступности - как ваша система справится с отказом машины?

Смежные вопросы