我有一个场景,我在 Service Fabric 群集的所有节点中维护缓存。我正在研究一种情况,如果我从负载均衡器收到有关更新缓存的节点之一的请求,该节点(收到请求的)是否可以广播或以任何方式告诉其他节点缓存需要更新刷新了并且都刷新了缓存。
最佳答案
如果您尚未使用可靠字典(已在节点之间复制)或 Redis 缓存(如评论中建议的那样)并且您有自定义缓存解决方案,则可以引入Azure 事件网格在您的体系结构中,并引入主题和订阅。本质上,节点将订阅用于更新缓存的主题并执行更新。
由于每个节点同时是发送者和订阅者,具有缓存、更改通知,因此您可以合并发布节点将发送并保留在本地的 token (例如随机 GUID),因此当主题的事件处理程序触发后,检查本地存储的 token 是否与发布者发送的 token 匹配。
如果不是 - 更新缓存,如果是 - 无需执行任何操作。
关于c# - Azure Service Fabric 中的节点之间广播消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60086790/