首页 > 解决方案 > 向 wazure 网络农场中的所有服务器发送消息

问题描述

我有许多在 Azure 中运行的 Asp.Net Core 2.x AppService WebApp 实例。它们都将数据对象的副本保存在本地内存缓存中。

假设在这种情况下分布式缓存不可行。因此,我正在寻找一种机制来向所有相关实例发送消息/信号,以刷新它们在本地缓存中的内存对象。

我可以调用一个休息端点来刷新本地内存缓存,但我不确定是否有一种方法可以将调用处理定向到特定实例。这可能吗?如果没有,是否有办法让场中的每个实例都知道是时候让它们的缓存过期了?

标签: azureasp.net-coreazure-web-app-service

解决方案


首先,Azure 应用服务内容存储在 Azure 存储中,并以持久的方式作为内容共享出现,并且内容在应用的多个虚拟机 (VM) 实例之间共享。

本地缓存功能能否满足您的要求: - Azure 应用服务本地缓存功能提供内容的 Web 角色视图。此内容是在现场启动时异步创建的存储内容的写入但丢弃缓存。缓存准备好后,站点将切换为针对缓存的内容运行您的网站的文件并配置在触发这些触发器时要执行的操作。如果您的网站有多个实例,它只会记录触发此触发器的实例的事件,而不是所有实例。请查看此博客 了解详细信息。

作为旁注,在 Azure 门户中,导航到诊断和解决问题下的 Azure Web 应用程序,搜索 -Advanced Application Restart-,您将获得一个选项,允许您只选择所需的实例。请让我知道这是否有帮助或您需要进一步的帮助。


推荐阅读