我目前正在寻找分布式缓存解决方案。
如果没有预算限制,您会推荐哪一个?
如果没有预算限制,您会推荐哪一个?
评估解决方案时,人们通常会忘记一件事情,那就是专业支持。
如果你选择使用memcached,那么你将得不到任何支持,因为你使用的是完全开源且没有任何供应商支持的软件。没错,核心平台经过岁月的考验而非常稳定,但是C#客户端库可能远没有那么稳定。而且,你可能会在论坛等地方得到一些帮助,但不能保证回复速度快或者是否能得到答复。
我不知道NCache或ScaleOut Cache的支持情况如何,但在选择它们之前,了解一下这方面的信息是很值得的。在过去几年中,我和许多公司打过交道,他们的支持通常是外包给并不工作于该公司的人员处理(根本无法接触到真正的公司内部人员),这意味着无法获得及时的高质量支持。另一方面,我也曾与那些公司打过交道,他们会将严重问题升级至正确的人员处,快速解决重要问题,并向你提供个人补丁。
其中一个这样做的公司是微软,这也是我们将他们的软件作为我们平台的原因之一。如果你遇到生产问题,那么你可以依赖他们的支持。因此,我倾向于基于这个原因选择Velocity。
可能最重要的是,无论你选择哪种缓存,都要将其抽象化到自己的接口后面(例如ICache),这将允许您评估其中的多个而不会拖延整个开发过程。这意味着即使您最初的决定对您不起作用,您也可以在不破坏应用程序的情况下进行切换。来自微软的信息: 应用程序工厂 商用选择: NCache 开源选择: RIAK
我们试过几种方法,最后我们使用了适用于asp.net/mvc的SQL会话提供程序。是的,连接到数据库会有一些开销,但是我们的数据库服务器非常快,而且Web Farm有很大的容量,因此不是问题。
我们对RIAK非常感兴趣,它有.NET客户端,并被雅虎使用 - 可以扩展到多个服务器。