MEMCACHED/WCF/WEB/RAVENDB的缓存架构
题
我有一个架构问题 - 与我的基于RavendB的设置有关。
我有以下内容:
RAVENDB-> WCF服务 - >(Web/iPhone/Android)
Web/iPhone/Android级别实际上(目前 - 这正在增长)与7个WCF服务的连接
目前,7个服务与同一ravendb进行了交谈 - 这很可能会在未来的重构闪电战中进行细分,因为它们不需要在同一实例上 - 如果没有的话,模型的交叉都很少。
我的问题是:
我正在考虑使用Memcached-在哪些方面(我几乎没有经验设置)我可以 /应该使用Memcached吗?
在Ravendb和WCF之间?在WCF和(Web/iPhone/Android)之间?
之间?
我可能会遇到过时的数据问题吗?这是照顾的还是我过度简化了事情?
解决方案
正如许多人会告诉您的那样:过早的优化是所有邪恶的根源(他们都在引用唐纳德·诺斯(Donald Knuth)的话)。因此,等待在做任何事情之前遇到性能问题时(您不需要等待系统压碎。等到您看到90%的资源利用率)
话虽这么说,当您期望在缓存数据无效之前使用后,您应该使用Memcached(或任何类型的缓存)时(改进因素将在许多其他因素上发生变化:操作成本和频率在数据访问)
要回答您的“位置”问题,这些问题实际上取决于您将在哪里节省资源,并且它确实是专门针对应用程序的,并且无法在此处回答。
其他提示
作为另一个指针,RavendB REST接口使用ETAG来支持基于HTTP的酸酸能力。如果您的HTTP客户端使用这些机制很好地发挥作用,您将获得一些不错的缓存。
我不确定WCF堆栈的玩法如何
不隶属于 StackOverflow