【问题标题】:Azure Role Start OrderAzure 角色开始顺序
【发布时间】:2013-05-30 14:46:26
【问题描述】:

是否可以定义 Azure 角色的启动顺序?

我有一个缓存工作者角色,我显然将其用于缓存。我也将它用作我的会话状态提供程序。

当我在 Visual Studio 中启动我的解决方案并在浏览器中打开时,我收到一条错误消息,指出缓存不存在。如果我提出另一个请求,它工作正常。这似乎是因为 web 角色在它尝试使用的缓存角色之前开始了一小部分。

这在实时环境中并不是真正的问题,因为在所有角色都准备好之前,Azure 不会将请求路由到应用程序,但是当我在本地运行时它有点烦人。

谢谢

【问题讨论】:

  • 我不记得命令角色启动的方法。你真的不能那样做。必须等待缓存。

标签: azure session-state


【解决方案1】:

您不能指定角色启动顺序。但是,您可以将 Web 角色实例保留在负载均衡器之外,直到您确定环境已启动并充分运行。

在您的OnStart() 中,您可以放置​​一些尝试从缓存中获取某些内容的代码(如果 Web 角色实例在缓存角色之前出现,这可能会失败)。或者可能 ping 缓存角色实例(我将由您决定,以确定查看缓存角色实例是否已启动的最佳方式)。只需定期重试直到成功,然后从OnStart() 返回。此时,负载均衡器将开始将流量引导到角色实例,您应该处于良好状态。

注意:当您的 Web 角色实例不可用时,您会看到一个 http 错误,因为该站点在启动期间将暂时不可用,但您不应该看到缓存错误消息。

更多关于OnStart的细节:here

【讨论】:

  • 谢谢大卫,我会试一试,看起来是个不错的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 2012-05-05
  • 1970-01-01
  • 2022-01-25
  • 2021-07-17
  • 1970-01-01
相关资源
最近更新 更多