当前位置:  开发笔记 > 运维 > 正文

有关如何使用AppFabric缓存功能的问题

如何解决《有关如何使用AppFabric缓存功能的问题》经验,为你挑选了1个好方法。

有关如何使用AppFabric缓存功能的问题.

我为提出一个我应该能够从文档中回答的问题而道歉,但我已经阅读并阅读并搜索并且无法回答这个问题,这让我相信我对AppFabric的缓存功能有什么打算存在根本缺陷的理解对于.

我在地理上分散的公司工作.我们有一个特定的应用程序,最初编写为客户端/服务器应用程序.它非常庞大且具有业务关键性,我们希望将其转换为更好的架构解决方案.

我们的想法之一是将应用程序转换为使用WCF调用来读取其数据,这些调用是一个共存的Web服务器,它将缓存与美国数据库的通信.应用程序的性质使得每个人都倾向于查看相同的2000条记录,只有偶尔的更新,这些更新将由有限的一组用户进行.

我希望AppFabric的缓存机制允许我设置一个全局缓存,例如,当亚洲用户请求不在缓存中的数据或者说服务器将从美国的数据库中读取数据时,向用户提供数据,然后更新缓存,该缓存将该数据传播到其他Web服务器,以便他们知道不会自己返回数据库.

AppFabric可以这样工作,还是应该让服务器从数据库中检索自己的数据?



1> PhilPursglov..:

所以,如果我理解你,你有:

美国的数据库服务器

世界各地的网络服务器?

(可能)在美国的AppFabric缓存

AppFabric为您提供了两种解决此方案的方法.

    本地缓存
    在AppFabric设置中,客户端具有对象的本地缓存的能力,其中对对象的缓存的第一次调用将对象放置在本地缓存中,并且从本地缓存完成对该对象的后续请求.由于超时或者主缓存通知本地缓存该对象是陈旧的,对象将从本地缓存中删除.您可以在web.config中配置它:

    
        
    
    

    在您的情况下,您的Web服务器是客户端; 当您的某个亚洲用户请求一个对象时,亚洲Web服务器的本地缓存将保存该对象的副本.对该对象的更新将传播到主高速缓存,并且在基于通知的设置中,该对象在其他Web服务器上的本地高速缓存中的副本将无效,以便下一个请求将从主高速缓存中完成,然后将使用更新的对象刷新本地缓存.

    在Web服务器上共置AppFabric缓存
    没有什么可以阻止您的Web服务器也是AppFabric缓存服务器!在此设置中,您不会使用本地缓存,因为当主缓存已经是您的客户端本地时,它没有意义.但是,这将确保您的客户端始终从缓存中提取最新版本的缓存对象.
    但是,您需要小心网络负载,因为此设置可能意味着您的USA Web服务器始终从(例如)您的欧洲Web服务器读取缓存对象,这可能会降低服务器在尝试提供缓存请求时的速度以及网络流量.

在这两种情况下都要记住,虽然您的客户端将收到最新版本的缓存对象,但AppFabric中没有持久性,您需要在更新缓存对象的同时将更改写入数据库,否则运行将过时数据读入缓存的风险.


由于加载时出现争用问题,Microsoft不建议将非专用主机用于AppFabric Cache节点,尤其是IIS主机.
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有