Если между выборкой из базы и началом прослушивание придёт сообщение, оно будет потеряно. Если начинать слушать до, возможна обратная ситуация: сообщение, пришедшее между началом прослушивания и вычитыванием истории, будет прочитано дважды: из истории и из базы.
Я переформулирую, чтобы было менее сумбурно. Без синхронизации может произойти дублирование сообщений или пропажа (зависит от того, будет ли обработчик подключения выбирать историю из базы до или после подключения к диспетчеру сообщений).
Есть некий общий лог событий. Это могут быть сообщения в чате, например. Надо вновь подключившемуся клиенту сначала выдать лог предыдущих событий, после чего ожидать новых (хотя бы по WebSocket). Не должно быть пропусков и повторов. Я это решил, обрабатывая в специальном диспетчере в одном цикле сообщения и обращения к БД. Но как бы я стал это масштабировать, я не знаю.
Вдогонку: а можно как-то обойти стороной изучение nginx и прочего? 21 век на дворе, как-то не хочется вручную заниматься такими вещами. Кстати, а Apache уже не в моде?
@AlexP11223 Это вы не пробовали продукты Adobe в России покупать онлайн. Сначала вас перебрасывают на сайт партнёра (softkey), потом обратно, потом ещё куда-то, потом надо где-то зарегистрироваться, потом ещё зарегистрироваться в сервисе, выдающем ключи, потом ждать активации несколько дней, прежде чем ключи появятся. Я мог переврать последовательность, но масштаб проблемы понятен.
Цена была $119. В русском Store мне другой версии, кроме русской, не предлагали. Я погуглил и выяснил, что, вроде бы, этот инсталлятор умеет создавать загрузочный диск. Так что придётся задействовать ноутбук жены.