azure - 刷新所有 Azure 实例上的数据

标签 azure azure-storage

刷新所有 Azure 实例中的数据的最佳方式是什么?

我有多个实例,每个实例都运行相同的 Web 角色。角色启动时,数据从 Blob 存储读取到本地存储。网站使用的数据会间歇性地有新的更新。我希望能够以编程方式通知每个实例,将更新后的数据从 Blob 存储获取到实例的本地存储中,以便每个实例都得到刷新。

一个想法是编写一个自定义客户端程序来调用 Web 角色上的 Web 服务,并传入要更新的角色 ID。如果端点是角色 ID,则实例会自行刷新。如果没有,客户端会再次尝试,直到所有实例报告它们已刷新。这是一个好方法还是 Azure 中有内置方法可以实现此目的?

我考虑过使用一个单独的线程来间歇性地检查刷新标志,但我担心我的实例会变得不同步。

数据量并不大,所以我可以将其放入 Azure 缓存中。但是,我担心使用缓存的网络延迟。 Azure 缓存可以很好地处理这个问题吗?

另一个想法是依次重新启动实例(在角色启动时执行刷新操作)。

最佳答案

我认为您可以执行此操作的一种可能方法是在配置设置中使用设置(例如时间戳) - 然后您可以以编程方式更新配置并使用 RoleEnvironment.Changing 事件来监视所有更改实例 - http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment.changing.aspx

如果您执行此操作,请确保拦截所有角色中的事件 - 并确保解析更改(查找 Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironmentConfigurationSettingChange)并向 Cancel 参数返回 false 以防止实例重新启动.

关于azure - 刷新所有 Azure 实例上的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398627/

相关文章:

powershell - 显示 Azure 门户、Azure Powershell 中的所有 Assets

Azure Blob 存储文件大小超过使用 ionic 3 应用程序支持的最大文件大小

python - 如何使用 Python 使用 Azure 文件存储的获取文件属性 REST API 获取 "content_type"

azure - 我们可以使用本地 SQL Server 作为 AzureWebJobsStorage 来运行容器化的 Azure Functions 吗?

azure - Google Cloud 相当于 Azure 的数据科学 VM

azure - azure 管道 yml 中的嵌套循环

azure - 使用服务主体授权访问 Azure

azure - 如何使用访问 token 通过 Azure 应用程序代理访问 Web 应用程序

c# - 在 VS Code 中使用 DAPR 运行带有服务总线触发器的 Azure Function 时出错

Azure函数无法访问Azure Blob