Если вы используете технологии push / polling (SSE / WebSockets / AJAX) для получения данных чата, рассмотрите возможность добавления к сообщениям отметки времени в миллисекундах.
Это позволит вам упорядочить сообщения наклиентская сторона использует точную временную метку, созданную для каждого сообщения, и предотвращает проблемы с порядком сообщений.
Кроме того, минимизация времени обработки сервером каждого сообщения минимизирует проблемы с планированием.
Это включает в себя выбор более быстрой технологии / решенияа также увеличение параллелизма или отделение "события" хранилища базы данных от схемы обработки событий "push" (которая обычно не нужна и менее идеальна, но обеспечивает более высокое время реакции).