Широковещательные сообщения между узлами в Azure Service Fabric - PullRequest
4 голосов
/ 06 февраля 2020

У меня есть сценарий, в котором я поддерживаю кеш во всех узлах моего Service Fabri c Cluster. Я смотрю на ситуацию, когда если я получаю запрос от балансировщика нагрузки на один из узлов относительно обновления кеша, может ли этот узел (который получил запрос) вещать или каким-либо образом сообщать другим узлам, что кеш должен быть обновились и все они обновили sh кеш.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

Вы можете использовать эту библиотеку OSS , чтобы делать паб / суб-сообщения внутри SF. Вы опубликуете sh refre sh сообщение, и все подписчики обновят свой кеш при получении сообщения.

Проверьте примеров , чтобы начать.

0 голосов
/ 09 февраля 2020

Если вы еще не используете Надежный словарь (который уже реплицирован по узлам) или кэш Redis (как предлагается в комментарии), и у вас есть специальное решение для кэширования, вы можете ввести Azure Сетка событий в вашей архитектуре и представьте темы и подписки. По сути, узлы будут подписываться на topi c для обновления кэша и выполнения обновления.

Поскольку каждый узел является одновременно и отправителем, и подписчиком, с кешем, измененным уведомлением, вы можете включить токен (например, произвольный GUID), который публикуемый узел будет отправлять и хранить локально, поэтому, когда обработчик события для запуска topi c вы проверяете, совпадает ли локально сохраненный токен с токеном, отправленным издателем.

Если нет - обновить кеш, если да - никаких действий не требуется.

...