Привет всем.
Делаем что-то подобие on-line консультанта, наверное все встречались с ним и даже общались и наверно подключали к своим сайтам.
Опишу архитектуру какую я представляю, потом хотелось бы получить критику и конструктивные советы.
Клиенты заходят и начинают писать сообщения(канал связи Web Socket, хранилище Redis). Инициализируется новая сессия, сессия сохраняется в редисе для постоянного хранения посредством AOF.
При повторном заходе из куков клиента берется идентификатор сессии и выводится в чат вся история переписки из редиса. Клиенты посредством WS общаются с администратором. Все сообщения скидываются в Редис, откуда должны попадать в БД.
Как лучше скидывать сообщения в БД, они там нужны, чтобы оставалась полная история переписок(может из торнадо сразу писать в БД ?). Недельную переписку можно хранить в редисе и ставить время жизни сообщений неделя в редисе, чтобы дальше они чистились.
Да на схеме только один администратор(менеджер), но их может быть и несколько.
Не нашел возможности у Редиса читать все сообщения из канала, т.е. подписавшись на канал могу получать сообщения, но ранее сообщения не нашел как получать.