реальный прецедент в моем опыте. Допустим, у вас есть веб-приложение, развернутое на 4 разных серверах (узлах, виртуальных машинах) в основном на вашем виртуальном частном облаке.
Веб-приложение хранит карту памяти в памяти для своего статического кеша данных, который иногда изменяется.
Теперь каждый раз, когда данные изменяются в вашей базе данных, вам понадобятся все ваши серверы, чтобы обновлять их в кэшах памяти, это проблема.
Один из способов - сохранить все статические данные в redis или любом другом кеше на отдельном сервере и обновления кеша на основе планировщика. Но здесь для доступа к статическому контенту, который время от времени изменяется, вам нужен планировщик и отдельный кеш сервер, например redis или memcached и т. д., и каждый сервер указывает на этот внешний кеш.
Использование PubSub из Redis здесь: все серверы подписаться на канал Redis и если Redis публикует сообщение, когда-либо есть обновление, добавление, удаление данных в виде сообщения на все его subscribers.On получающего объект сообщения и его тип обновления (ADD, REMOVED, UPDATED) каждый сервер обновляет свою карту памяти в памяти.
Что такое паб/суб, используемый для? Вещательные сообщения! –
Правда. : D Я думал больше о том, как это вписывается в webapps или в другие типы IP-приложений. – stojanman