根据MSDN,azure服务可以包含任意数量的工作者角色。根据我的知识,Windows Azure Fabric可以随时回收工作者角色。如果是真的那么:
但我想制作一个包含客户端数据的服务,并且不想使用Azure存储服务。我怎么能做到这一点?
AppFabric的速度(无论它叫什么)组件是分布式缓存,可以在这些情况下使用。
Azure的Web和计算角色是无状态的,意味着其所有本地数据都是易变的,如果您想维护状态,则需要使用一些外部资源来维护应用程序中的状态和逻辑来处理该状态。为简单起见,您可以使用Azure驱动器,但在内部再使用blob存储。
您可以使用标准文件IO API在worker角色上写入本地存储 - 但这将在实例关闭时被删除。
您还可以使用SQL Azure,或通过HTTP(例如Amazon S3或您自己的服务器)将数据发布到其他存储服务。
但是,这可能会对性能产生影响。根据您要存储的数据量,频率和大小,您可能会更好地使用Azure存储!
为什么不想使用Azure存储?
如果数据可以存储在Azure中,则您有很多选择:Azure分布式缓存,SQL Azure,blob,表,队列或Azure驱动器。听起来您需要持久性,但不能使用任何这些Azure存储机制。如果数据安全性是问题,您可以加密/散列数据吗?了解为什么会有用。
通过将同步Web服务调用链接/嵌套在一起,可以实现一种替代方案,从而实现可靠的消息传递。
另一种可能是使用Azure Connect将Azure计算资源加入域本地数据中心(如果有的话),并使用本地存储。