清漆与其他反向代理

我正在与一个已经将Varnish部署为所有Web通信的caching逆向代理的组织一起工作。 他们的stream量构成了很多客户生成的dynamic网站,通常收集的静态资产悬而未决。

虽然我试图喜欢清漆(我认为它有一个相当不错的架构,原则上),我有一些麻烦pipe理和解决问题,因为他们出现,所以我想知道如果这是真的是正确的select。 我以前用过鱿鱼作为反向代理,但没有同样的作用,所以我没有明确的比较基础。

我的问题是针对那些在生产中使用过清漆的人,或者是针对替代品进行认真的评估:你是否坚持使用清漆,还是最终使用了另一种反向代理? 与此同时,切换的关键点是什么?如果你使用了别的东西,你最终会用到什么?

    那么,我在我的networking服务器上运行Varnish,主要是出于性能方面的原因,尽pipe它的负载均衡特性也很方便。

    我的用例caching在Django的网站之前,它确实为页面加载性能。 我能够直接从caching中提供大部分页面,并且处理大量的访问者,而且不费吹灰之力。

    我selectVarnish的原因主要是性能/可扩展性。 要点:

    • 光油让我们的内核pipe理虚拟内存,在那里Squid试图保持单独的磁盘和内存caching,可以导致内核和Squid之间争吵一点点什么被分页到磁盘。
    • Varnish使用VCL,它是自己特定于域的configuration语言,它通过C编译成机器代码。如果你的configuration中有多于一点的逻辑 – 条件性标题剥离等,这是非常真实的性能优势。

    根据我的经验,在大多数情况下,Varnish的性能比Squid要好一些,在stream量高峰上要好得多。 另一方面,正确地configurationVarnish将采取一些邮件列表拖网的方式,因为没有那么多准备去为你的具体使用情况的文件在网上stream动,因为有对鱿鱼来说 – 主要是因为清漆是一个比较年轻的项目。

    我花了很长时间试图使varnish 1.x稳定在bog标准的linux / dell硬件上,它总是以一种奇怪的方式挂起来,它的看门狗会重启它。 除了没有被其他任何地方持久存储的硬盘caching之外,哪个还好。

    话虽如此,你真的使用正确的工具来完成这项工作吗? 如果你想要一个反向代理caching请求的结果(假设你提供了高质量的caching头),那么清漆是一个不错的select。 希望2.0版本更稳定

    但是,如果您正在运行* onRails站点,并且希望在多个后端服务器上进行负载均衡,那么HAProxy或Nginx可能就是要走的路。 如果你不需要任何复杂的url逻辑(redirect,regex匹配来重写更旧的url等),那么HAProxy将适合这个账单。 如果你确实需要更有能力的东西,那就给nginx一个去。