Azure中的有状态应用程序

时间:2014-02-17 16:02:39

标签: caching azure azure-worker-roles stateful

我遇到的问题是我使用的是第三方dll(非常昂贵的操作),它不可序列化,每次都需要花费一分钟时间。每次调用WCF服务都需要它,我不能将它保存在内存中(重新编写),我不能将它保存在缓存中(不可序列化)。

我想知道有哪些替代品(如果有的话)?我原本考虑使用工作者角色,但后来我读到它们也被回收了。然后我考虑了Windows服务,但我希望有更适合的东西。

我想我不是唯一有这个问题的人,其他人已经解决了这个问题! :)

1 个答案:

答案 0 :(得分:2)

为什么您无法使用工作者角色或Web角色将yoru进程生成的数据保存在内存中?这两个角色都没有"冲洗"它经常记忆。是的,不能保证不会重新启动,但是那些重新启动是非常罕见的,并检查如果你的有状态数据是空的,然后重新填充它,不应该是一个大问题,逻辑可以在任何服务器上工作同样,无论是Cloud Service还是专用VM。

编辑:Web角色或辅助角色不会在任何已知周期上重新启动。但是,默认情况下,IIS会按计划进行回收。可以通过启动脚本更改或禁用此计时器。 此外,工人角色中不会发生此类回收。所以,如果您正在运行一个辅助角色,只要您不自行回收服务器或发生罕见的Windows更新,该东西就会留在内存中

HTH