Windows Azure角色状态是否已满

Windows Azure角色状态是否已满,azure,azure-worker-roles,Azure,Azure Worker Roles,根据MSDN,azure服务可以包含任意数量的工作者角色。据我所知,Windows Azure Fabric可以随时回收工人角色。如果是真的,那么: 工作人员角色应为无状态或无状态 工作角色应将其状态持久化到Windows Azure存储服务 但我想创建一个包含客户端数据的服务,而不想使用Azure存储服务。如何实现这一点?您可以使用标准文件IO API在worker角色上写入本地存储,但这将在实例关闭时被擦除 您还可以使用SQL Azure,或通过HTTP将数据发布到另一个存储服务(例如Ama

根据MSDN,azure服务可以包含任意数量的工作者角色。据我所知,Windows Azure Fabric可以随时回收工人角色。如果是真的,那么:

  • 工作人员角色应为无状态或无状态
  • 工作角色应将其状态持久化到Windows Azure存储服务

  • 但我想创建一个包含客户端数据的服务,而不想使用Azure存储服务。如何实现这一点?

    您可以使用标准文件IO API在worker角色上写入本地存储,但这将在实例关闭时被擦除

    您还可以使用SQL Azure,或通过HTTP将数据发布到另一个存储服务(例如Amazon S3或您自己的服务器)

    但是,这可能会对性能产生影响。根据您要存储的数据量、存储频率和数据大小,使用Azure存储可能会更好


    为什么不想使用Azure存储?

    速度(无论它叫什么)AppFabric的组件是一个分布式缓存,可以在这些情况下使用。

    Azure的web和计算角色是无状态的,这意味着其所有本地数据都是不稳定的,如果您想保持该状态,则需要使用一些外部资源来保持该状态,并在应用程序中使用逻辑来处理该状态。为简单起见,您可以使用Azure驱动器,但在内部它是blob存储。

    如果数据可以存储在Azure中,您有很多选择:Azure分布式缓存、SQL Azure、blob、表、队列或Azure驱动器。听起来您需要持久性,但不能使用任何Azure存储机制。如果数据安全是个问题,你能加密/散列数据吗?理解为什么会有用

    一种替代方法可能是完全不持久化,将同步web服务调用链接/嵌套在一起,从而实现可靠的消息传递

    另一种可能是使用Azure Connect to domain将Azure计算资源加入到您的本地数据中心(如果您有),并使用本地存储