我们(我们公司)正在举办一个具有Web角色的asp.net C#云服务,用于报告网站。 不幸的是,报告网站的使用是增长,原始版本仅托管中型虚拟机,并发现其内存泄漏导致云服务始终停机并停止工作。最后我们转移到A7 VM(好的,那很贵)解决了我们的问题2-3个月。不知何故,新东西开发新功能开发,最终内存绰绰有余(其56GB RAM)但过程不是真的可以在同一时间内实现这种昂贵的使用。
在网上寻找解决方案,发现可以使用共享缓存。 我们决定从A7迁移到XM VM(A7不支持共享缓存)以及共享角色专用角色。
我们希望实现的是在几个实例之间的负载平衡(如果一个实例,它将重定向到另一个实例)并将专用角色存储在我们所有的会话内容中。我正确的方向是什么?
如果是的话,如何实现这一目标?我查看了this,是否真的需要为缓存服务注册预览程序才能使用它?
感谢您的建议,请指出我的错误。
**不知何故,在从网上读到东西之后我发现上面提到的方法是一种新方法,旧的方法是角色缓存,我可以从here看到它。是否可以使用此方法在多个实例之间共享会话状态,即使其中一个实例已关闭并路由到另一个可用的实例并用回会话?
答案 0 :(得分:1)
最好的选择是使用Windows Azure Cache Service (Preview)。这将允许您在应用程序的多个实例之间共享会话状态。
您需要注册预览服务。缓存核心已经成熟,鼓励客户在其生产应用程序中使用此服务。
此服务允许您使用来自多个云服务的缓存,从而允许您跨应用程序共享数据。此外,这消除了使用XL VM的依赖性,因为A7不支持角色内缓存。
另外,要清楚,Cache有3种口味 - 1.共享缓存 - 这是一个多租户服务,已被弃用 2.角色内缓存 - 此处缓存部署在您的云服务中,只能在云服务中使用。这有两种类型 - Co-located&专用。 3.缓存服务(预览) - 新发布的服务。
没有任何称为专用共享缓存的东西。 :)