Comments 5
Класс! Идеальный формат статьи! Огромное спасибо!
Стоит отметить, что чат работает только при единственном инстансе бэкэнд приложения. Я думаю, неплохо было бы упомянуть в статье отправные точки, куда смотреть, по доработке при масштабировании проекта - pubsub и прочее.
Согласен, хорошее замечание! Действительно, текущая реализация чата работает только при единственном инстансе бэкэнда, и при масштабировании проекта важно учитывать синхронизацию данных между инстансами. В будущем планирую рассмотреть подходы с использованием Pub/Sub (например, Redis или Kafka), чтобы реализовать корректную передачу сообщений и событий между различными инстансами. Спасибо за рекомендацию!
Почему делается двойная отправка сообщения?
await fetch('/chat/messages', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(payload) // Отправляем сообщение на сервер
});
socket.send(JSON.stringify(payload));
А в коде python не происходит обработки получения сообщения из WS и сохранения его в БД?
Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем