Я хочу сделать так, чтобы один пользователь на сайте мог общаться с другим пользователем на моем сайте Django. Я хочу, чтобы запрашиваемый получал ящик в реальном времени, который говорит: «Вы хотите общаться?»
Как звучит следующий опрос клиентов:
user1 нажимает на псевдоним users2, генерируя POST-запрос к некоторым / message / запросы, что создает в базе данных сообщение типа CHAT_REQUEST. Между тем, фрагмент Javascript в браузере user2 неоднократно запрашивает обновления сообщений на сервере. Когда он получает сообщение типа CHAT_REQUEST, он открывает всплывающее окно ...
Проблема с этим подходом, похоже, заключается в доступе к базе данных.
Если клиент опрашивает каждые 10 секунд, и 100 пользователей оставляют открытыми окна браузера, то есть 10 запросов к базе данных в секунду.
Было бы лучше хранить эти сообщения не в базе данных, а в оперативной памяти Django или информации о сеансе? Или эта таблица базы данных будет кэширована в ОЗУ с PostgreSQL, и поиск будет быстрым?