Поскольку вам нужна обновленная политика, близкая к реальному времени, вам определенно нужен механизм уведомлений о недействительности кэша.
Для него есть 2 возможные модели реализации:
1.Pull Главный сервер извлекает дочерние серверы с уведомлениями типа "resourceID=34392 not more valid in your cache"
.Это сообщение следует отправлять при каждом обновлении данных на главном сервере.
- Опрос Каждый дочерний сервер запрашивает у основного сервера правильность элемента кэша непосредственно перед его отправкой пользователю.Конечно, в этом случае главный сервер должен обновлять список объектов в течение последнего периода существования кэша и очень быстро отвечать на
"If-object-was-updated"
запросов.
Как вы видите в обоих случаях, ваш главныйСервер должен инициировать событие при каждом изменении данных.В первом случае это событие будет передано через «шину уведомлений» на дочерний сервер, а во втором случае это событие будет сохранено в списке recently-updated-objects
.Таким образом, обе опции нуждаются в некоторых изменениях кода на главном сервере.
На мой взгляд, вторая опция гораздо проще реализовать совместно, но она очень зависит от используемого программного стека.