我有一个在100台服务器上运行的应用程序。这个应用程序与我不喜欢的nosql数据库进行通信。 100台服务器创建会话,锁定,提交等。
我想构建一个缓存服务器场或IIS服务器将要访问的脏实池,并从中读取数据和对象。缓存每隔一段时间就会过期。等
重点是避免从这100台服务器访问数据库。
您将对此缓存服务器使用什么?
WCF?休息?最佳实践和模式缓存块?还是Windows AppFabric?
我已经有了一层分布式缓存,所以没想到这一点。
你会选择什么样的架构?任何推荐或案例研究?
答案 0 :(得分:1)
我们在这里讨论的数据量是多少?几KB? MB?一百GB?
除了后者之外的任何东西,而不是重新发明轮子,使用现有的缓存服务之一。基于C#标记和IIS的提及,我假设您正在运行Windows。因此,我建议您查看Memcached
来自Memcached页面:
免费&开源,高性能,分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态Web应用程序。
Memcached是一个内存中的键值存储,用于存储来自数据库调用,API调用或页面呈现结果的小块任意数据(字符串,对象)。
我自己在类似于你描述的环境中使用Memcached(使用MS SQL而不是nosql进行数据存储)。在第一轮缓存调整之后,我们没有遇到任何问题。
如果不了解您的要求的具体细节,很难说Memcached是否是正确的解决方案,但肯定值得研究。作为参考,他们的FAQ Wiki可以在这里找到: