分布式缓存/会话应该转到哪里?

时间:2020-03-06 15:00:44  来源:igfitidea点击:

我目前正在寻找分布式缓存解决方案。

如果钱不成问题,我们会推荐哪个?

  • www.scaleoutsoftware.com
  • 缓存
  • 内存缓存点网
  • MS速度

解决方案

根据选择,我只尝试过使用memcached,即使那样,它也不是C#/。NET库。

但是内存缓存技术已被充分证明,只需查看使用它的站点即可:

...The system is used by several very large, well-known sites including YouTube, LiveJournal, Slashdot, Wikipedia, SourceForge, ShowClix, GameFAQs, Facebook, Digg, Twitter, Fotolog, BoardGameGeek, NYTimes.com, deviantART, Jamendo, Kayak, VxV, ThePirateBay and Netlog.

我真的看不出有理由考虑其他解决方案。

祝你好运,
布莱恩·G

我们也可以将Oracle Coherence添加到列表中。它同时具有.NET和Java API。

人们在评估解决方案时通常会忘记的一件事是专门的支持。

如果我们使用memcached,那么我们将一无所获,因为我们使用的是不受任何供应商支持的完全开源的软件。是的,核心平台已经通过了时代的考验,但是Cclient库可能要少得多。是的,我们可能会在论坛之类的网站上获得一些帮助,但不能保证响应会很快,也不能保证我们会得到任何响应。

我不知道对NCache或者ScaleOut缓存的支持是什么样的,但是在选择它们之前值得一查。在过去的几年中,我已经与许多公司取得了支持,并且支持通常被外包给甚至不在公司工作的人(没有机会与有工作的人接触),这意味着没有机会质量及时支持。另一方面,我还与那些将严重问题升级为合适的人员,快速解决重要问题并为我们提供个人补丁程序的公司打交道。

微软就是其中之一。这就是我们使用其软件作为平台的原因之一。如果我们遇到生产问题,则可以依靠他们的支持。因此,我倾向于在此基础上选择Velocity。

不过,无论我们选择哪种缓存,最重要的事情可能是将其抽象到自己的接口(例如ICache)之后,这将使我们能够评估其中的许多接口而不会占用其余的开发过程。这意味着,即使我们最初的决定对我们不起作用,我们也可以在不中断大量应用程序的情况下进行切换。

(请注意:我在这里假设所有缓存均具有足够的功能来支持我们需要的功能,并且所有缓存均具有足够且大致相似的性能。在这种情况下,我们需要提供问题中的更多细节(为什么不是)。