在生产环境中部署 AppFabric 后,我可以向您介绍一年多前的经验。从那以后我就没有跟上它,因为我的经验不是很好。也许他们已经解决了我们遇到的一些问题。
创建数据库或 XML 的步骤只是存储集群的配置信息。
我的笔记(记住这是一年前的内容,所以也许事情已经改变了):
从 C# 缓存对象时,该对象被转换为 XML 并存储。这是一种冗长的格式,并且使存储/获取速度比应有的速度慢一些。我宁愿将对象序列化为二进制格式 - 或压缩 - 或者只是未压缩的 XML 以外的任何其他格式。我们实际上修改了我们的对象,使其在缓存时具有更短的属性名称,因为它们变成了 XML。这导致一些对象从 1MB 减少到几百 KB。
AppFabric 是通过 Windows 中的 NetTcp 协议进行通信的,这让我们有些伤心。我们有一些没有安装 Windows 服务 (NetTcp) 的服务器,这让人很头疼。我们无法弄清楚为什么 AppFabric 在一台机器上工作而不是在另一台机器上工作。
在集群中的多台机器上分配负载似乎确实做得很好。它似乎也可以快速检索东西,并且过期逻辑总是运行良好。
当时它只是一个相当不成熟的产品。我们在任何地方都找不到任何支持。我记得在与微软通电话时,试图追查我们遇到的一些问题,每次对方都会说:“AppFabric?那是什么?” 当时它周围的社区是不存在的。(这对我们来说真的很痛苦。)
如果我必须为需要分布式缓存的 Windows 应用程序,我将不得不重新评估 AppFabric。我的第一次经历并不是最棒的。现在我会按照 Redis、Couchbase、Memcached 的顺序来考虑。