我是AppFabric的新手,我正在为生产环境评估分布式缓存解决方案,而且我在使用Asp.net MVC和WebApi的微软商店,我们没有使用Windows Azure。
在我的本地计算机上设置AppFabric时,有一个创建数据库或使用xml的步骤,我想在这里理解这个概念。 AppFabri是否依赖于数据源(db或xml文件)来保持?如果是这样,这不是一个潜在的瓶颈吗?
此外,现在正在其生产服务器上使用AppFabric的任何人都会评论他们使用它的经验吗?任何陷阱或陷阱?
谢谢,真的很感激!
答案 0 :(得分:5)
在生产环境中部署AppFabric后,我可以从一年多前的一年前向您介绍我的经验。我没有跟上它,因为我的经历不是很好。也许他们已经解决了我们遇到的一些问题。
创建数据库或XML的步骤只是存储集群的配置信息。
我的笔记(记住这是一年前的情况,所以可能情况发生了变化):
从C#缓存对象时,该对象变为XML并存储。这是一种冗长的格式,使得存储/获得的速度比它本来应该慢一点。我宁愿把对象序列化为二进制格式 - 或压缩 - 或者只是未压缩的XML以外的任何东西。实际上,我们修改了对象,使其在缓存时具有更短的属性名称,因为它们变成了XML。这导致一些对象从1MB减少到几百KB。
AppFabric正在通过Windows中的NetTcp协议进行通信,这让我们感到悲痛。我们有一些服务器没有安装Windows服务(NetTcp),这引起了令人头疼的问题。我们无法弄清楚为什么AppFabric在一台机器而不是另一台机器上工作。
在群集中的多台计算机之间分配负载似乎做得很好。它似乎也快速检索东西,并且到期逻辑总是正常工作。
当时它只是一个相当不成熟的产品。我们无法在任何地方找到任何支持。我记得和微软一起打电话试图找出我们遇到的一些问题,每当这个人说“AppFabric?那是什么?”当时它周围的社区是不存在的。 (这对我们来说真的很痛苦。)
如果我必须为需要分布式缓存的Windows做一个应用程序,我将不得不重新评估AppFabric。我的第一次经历并不是最好的。现在我按顺序想起Redis,Couchbase,Memcached。