2013-07-04 147 views
0

假设我们有一个由更多系统(Liferay等)组成的复杂Web应用程序。服务器端的Web缓存系统

我想在我的架构中包含一个用于缓存公共内容(例如Liferay或其他内部服务产生的)的Web缓存系统。

我在看Squid。你能否向我暗示其他技术,如squid

是否有一些标准的方式来应用缓存还私人内容(用户注册)?

如何处理动态页面(如与其他公共和私人(仅限注册用户的一些片断)?

回答

1

一个jsp如果你看一下鱿鱼,你看HTTP级缓存。因此,每当有人登录到系统时,您都必须解决缓存问题:一旦用户名出现在页面上或者某些权限被检查以进行内容访问,您就不能在HTTP级别上缓存除用户浏览器(或用于外部媒体,如CSS,图像)

对于Liferay,您可以查看Liferay的CDN功能:您可以配置CDN(内容交付网络)代理服务器 - 这些服务器将提供可以缓存的内容,而门户网站则为这些页面提供服务(特别是,对于登录用户而言)

如果所有内容都表示可缓存,则Liferay还会向上游缓存发送匿名访问页面可缓存的缓存信号。这是自动的。我假设你并没有问你在单个portlet中需要做什么来表明它们的内容可缓存。

你应该问自己,你想解决什么问题(因为你只提到这一技术,HTTP级别的缓存)。你认为性能调优是最大的瓶颈吗?大部分用户是匿名用户还是登录用户?正如你明确要求缓存动态内容一样:这通常不能完成,或者只能以有限的方式 - 例如只能通过从生成AJAX代码的静态内容组成页面,获取真实内容。