使用代理捕获服务器有什么好处和缺点?

时间:2016-08-30 12:10:39

标签: caching proxy architecture

有使用代理捕获服务器经验的人是否可以提到使用此类架构的一些好处和缺点? 我们的一些团队成员正试图在我们的企业应用程序中推广使用代理服务器。应用程序是一种中间应用程序,它与其他系统通信,获取数据并对此数据进行操作,而不是直接引用这些系统。 下图描绘了两种架构。

enter image description here

1 个答案:

答案 0 :(得分:1)

一切都取决于您需要解决的问题。如果关于数据库服务器和应用程序服务器的事情很快,那么缓存到像Redis这样的东西可能值得一试。但是,如果服务器承受很大压力,则可能需要缓存。例如,如果我们谈论的是一个包含大量长篇文章和大量评论的新闻网站,那么生成静态HTML文件以减轻压力可能是值得的,但是,数据的新鲜度会有成本。例如,如果我在你的文章上写评论并且文章被缓存并且缓存在两天后过期,那么我会看到类似"你的评论正在等待审核"两天,除非我的更改触发缓存刷新。这不是最好的可想象的用户体验。但是,只要内容发生更改,您就可以选择刷新缓存。此外,如果您使用此类缓存系统,则需要单独或以小组形式跟踪缓存项目,以防止刷新所有文章。只有一个更改时缓存。在这种情况下,应用程序应该触发代理缓存刷新。但是,您将不得不处理可能意识到您正在使用缓存系统并会生成大量写入操作以触发缓存刷新的黑客行为主义者。需要最小的高速缓存寿命设置来应对这种情况。但是,您再次以用户体验付费。

所以,要回答的问题是:

我的技术问题是否如此严重以至于我需要牺牲大量的用户体验来获得性能?如果是这样,缓存的期望生命周期长度是多少?我可以从用户体验中牺牲多少?

如果你的系统很快,为用户提供良好服务,你的服务器可以承受更大的压力,那么这是过早的优化,应该避免。如果问题迫在眉睫或者您已经遇到问题,那么您需要优化问题。在优化可能性中,这种方法是可能的,有自己的起伏。