Типичная ситуация с сервером / веб-приложением заключается в том, что приложение должно быть закрыто и перезапущено для реализации обновления.
Каковы возможные / общие схемы (и доступное программное обеспечение) дляизбежать потери данных, которые клиенты отправляли на сервер в течение короткого времени, когда приложение исчезло?
Пример схемы, которая может работать: Для простого веб-сервера, где клиент подключается к порту 80, а неклиент, подключающийся напрямую к приложению веб-сервера, может быть между ними простым приложением, которое прослушивает порт 80 и беспрепятственно пересылает / возвращает данные в / из «фактического» приложения веб-сервера (на каком-то другом порту).Когда веб-сервер необходимо отключить и перезапустить, приложение-ретранслятор может обнаружить это и буферизировать все входящие данные до тех пор, пока веб-сервер не восстановится.Таким образом, всегда приложение прослушивает порт 80, и данные никогда не теряются (конечно, в пределах размера буфера и времени).Существует ли такой простой промежуточный программный буфер, недоступный получателю, уже?
Меня больше всего интересуют решения для одного экземпляра приложения, а не одного, где есть несколько экземпляров (в этом случае умныйМожно использовать скользящую схему обновления), но в интересах полного набора ответов любой ответ был бы великолепен!