<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Perhaps it would help if, rather than focus on the specific solution that you are wanting, you instead explained your specific problem and business context?</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">What is driving your architecture? Is it about protecting a backend that doesn't scale or more about reducing latencies?</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">How many different requests are there that might be cached? What are the backend calls doing? How do cached objects expire? How long does a call to the backend take? </div><div id="AppleMailSignature">Why is it OK to return a stale version of X to the first client but not OK to return a stale version to a second requester?</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">Imagine a scenario where two identical requests arrive from different clients and hit different web servers. Is it OK for both requests to be satisfied with a stale resource?</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">It's very easy for us to make incorrect assumptions about all of these questions because of our own experiences.</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">Peter<br><br>Sent from my iPhone</div><div><br>On Jul 8, 2017, at 9:00 AM, Joan Tomàs i Buliart <<a href="mailto:joan.tomas@marfeel.com">joan.tomas@marfeel.com</a>> wrote:<br><br></div><blockquote type="cite"><div>
  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  
  
    Thanks Owen!<br>
    <br>
    We considered all the options on these 2 documents but, on our
    environment in which is important to use stale-while-revalidate, all
    of them have, at least, one of these drawbacks: or it adds a layer
    in the fast path to the content or it can't guarantee that one
    request on a stale content will force the invalidation off all the
    copies of this object.<br>
    <br>
    That is the reason for which we are looking for a "background"
    alternative to update the content.<br>
    <br>
    Many thanks in any case,<br>
    <br>
    Joan<br>
    <br>
    On 07/07/17 16:04, Owen Garrett wrote:<br>
    <blockquote type="cite" cite="mid:2B21C7BA-49CB-424F-BE01-70598ECFBCED@nginx.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      There are a couple of options described here that you could
      consider if you want to share your cache between NGINX instances:
      <div class=""><br class="">
      </div>
      <div class=""><a href="https://www.nginx.com/blog/shared-caches-nginx-plus-cache-clusters-part-1/" class="" moz-do-not-send="true">https://www.nginx.com/blog/shared-caches-nginx-plus-cache-clusters-part-1/</a> describes
        a sharded cache approach, where you load-balance by URI across
        the NGINX cache servers.  You can combine your front-end load
        balancers and back-end caches onto one tier to reduce your
        footprint if you wish</div>
      <div class=""><br class="">
      </div>
      <div class=""><a href="https://www.nginx.com/blog/shared-caches-nginx-plus-cache-clusters-part-2/" class="" moz-do-not-send="true">https://www.nginx.com/blog/shared-caches-nginx-plus-cache-clusters-part-2/</a> describes
        an alternative HA (shared) approach that replicates the cache so
        that there’s no increased load on the origin server if one cache
        server fails.<br class="">
        <div class=""><br class="webkit-block-placeholder">
        </div>
        <div class="">It’s not possible to share a cache across
          instances by using a shared filesystem (e.g. nfs).</div>
        <div class="">
          <div style="color: rgb(0, 0, 0); font-family: Helvetica;
            font-size: 12px; font-style: normal; font-variant: normal;
            font-weight: normal; letter-spacing: normal; orphans: auto;
            text-align: start; text-indent: 0px; text-transform: none;
            white-space: normal; widows: auto; word-spacing: 0px;
            -webkit-text-stroke-width: 0px; line-height: normal;" class=""><br class="Apple-interchange-newline">
            ---<br class="Apple-interchange-newline">
            <a href="mailto:owen@nginx.com" class="" moz-do-not-send="true">owen@nginx.com</a></div>
          <div style="color: rgb(0, 0, 0); font-family: Helvetica;
            font-size: 12px; font-style: normal; font-variant: normal;
            font-weight: normal; letter-spacing: normal; orphans: auto;
            text-align: start; text-indent: 0px; text-transform: none;
            white-space: normal; widows: auto; word-spacing: 0px;
            -webkit-text-stroke-width: 0px; line-height: normal;" class="">Skype: owen.garrett</div>
          <div style="color: rgb(0, 0, 0); font-family: Helvetica;
            font-size: 12px; font-style: normal; font-variant: normal;
            font-weight: normal; letter-spacing: normal; orphans: auto;
            text-align: start; text-indent: 0px; text-transform: none;
            white-space: normal; widows: auto; word-spacing: 0px;
            -webkit-text-stroke-width: 0px; line-height: normal;" class="">Cell: +44 7764 344779</div>
        </div>
        <br class="">
        <div>
          <blockquote type="cite" class="">
            <div class="">On 7 Jul 2017, at 14:39, Peter Booth <<a href="mailto:peter_booth@me.com" class="" moz-do-not-send="true">peter_booth@me.com</a>> wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <meta http-equiv="content-type" content="text/html;
                charset=utf-8" class="">
              <div dir="auto" class="">
                <div class="">You could do that but it would be bad.
                  Nginx' great performance is based on serving files
                  from a local Fisk and the behavior of a Linux page
                  cache. If you serve from a shared (nfs) filsystem then
                  every request is slower. You shouldn't slow down the
                  common case just to increase cache hit rate.<br class="">
                  <br class="">
                  Sent from my iPhone</div>
                <div class=""><br class="">
                  On Jul 7, 2017, at 9:24 AM, Frank Dias <<a href="mailto:frank.dias@prodea.com" class="" moz-do-not-send="true">frank.dias@prodea.com</a>>
                  wrote:<br class="">
                  <br class="">
                </div>
                <blockquote type="cite" class="">
                  <div class="">
                    <meta http-equiv="Content-Type" content="text/html;
                      charset=utf-8" class="">
                    <div dir="auto" class="">Have you thought about
                      using a shared file system for the cache. This way
                      all the nginx 's are looking at the same cached
                      content.</div>
                    <div class="gmail_extra"><br class="">
                      <div class="gmail_quote">On Jul 7, 2017 5:30 AM,
                        Joan Tomàs i Buliart <<a href="mailto:joan.tomas@marfeel.com" class="" moz-do-not-send="true">joan.tomas@marfeel.com</a>>
                        wrote:<br type="attribution" class="">
                        <blockquote class="quote" style="margin:0 0 0
                          .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          <div class=""><font class="" size="2"><span style="font-size:10pt" class="">
                                <div class="">Hi Lucas<br class="">
                                  <br class="">
                                  On 07/07/17 12:12, Lucas Rolff wrote:<br class="">
                                  > Instead of doing round robin load
                                  balancing why not do a URI based <br class="">
                                  > load balancing? Then you ensure
                                  your cached file is only present on a
                                  <br class="">
                                  > single machine behind the load
                                  balancer.<br class="">
                                  <br class="">
                                  Yes, we considered this option but it
                                  forces us to deploy and maintain <br class="">
                                  another layer (LB+NG+AppServer). All
                                  cloud providers have round robin <br class="">
                                  load balancers out-of-the-box but no
                                  one provides URI based load <br class="">
                                  balancer. Moreover, in our scenario,
                                  our webservers layer is quite <br class="">
                                  dynamic due to scaling up/down.<br class="">
                                  <br class="">
                                  Best,<br class="">
                                  <br class="">
                                  Joan<br class="">
_______________________________________________<br class="">
                                  nginx mailing list<br class="">
                                  <a href="mailto:nginx@nginx.org" class="" moz-do-not-send="true">nginx@nginx.org</a><br class="">
                                  <a href="http://mailman.nginx.org/mailman/listinfo/nginx" class="" moz-do-not-send="true">http://mailman.nginx.org/mailman/listinfo/nginx</a><br class="">
                                </div>
                              </span></font></div>
                        </blockquote>
                      </div>
                      <br class="">
                    </div>
                    This message is confidential to Prodea unless
                    otherwise indicated or apparent from its nature.
                    This message is directed to the intended recipient
                    only, who may be readily determined by the sender of
                    this message and its contents. If the reader of this
                    message is not the intended recipient, or an
                    employee or agent responsible for delivering this
                    message to the intended recipient:(a)any
                    dissemination or copying of this message is strictly
                    prohibited; and(b)immediately notify the sender by
                    return message and destroy any copies of this
                    message in any form(electronic, paper or otherwise)
                    that you have.The delivery of this message and its
                    information is neither intended to be nor
                    constitutes a disclosure or waiver of any trade
                    secrets, intellectual property, attorney work
                    product, or attorney-client communications. The
                    authority of the individual sending this message to
                    legally bind Prodea is neither apparent nor
                    implied,and must be independently verified.
                  </div>
                </blockquote>
                <blockquote type="cite" class="">
                  <div class=""><span class="">_______________________________________________</span><br class="">
                    <span class="">nginx mailing list</span><br class="">
                    <span class=""><a href="mailto:nginx@nginx.org" class="" moz-do-not-send="true">nginx@nginx.org</a></span><br class="">
                    <span class=""><a href="http://mailman.nginx.org/mailman/listinfo/nginx" class="" moz-do-not-send="true">http://mailman.nginx.org/mailman/listinfo/nginx</a></span></div>
                </blockquote>
              </div>
              _______________________________________________<br class="">
              nginx mailing list<br class="">
              <a href="mailto:nginx@nginx.org" class="" moz-do-not-send="true">nginx@nginx.org</a><br class="">
              <a class="moz-txt-link-freetext" href="http://mailman.nginx.org/mailman/listinfo/nginx">http://mailman.nginx.org/mailman/listinfo/nginx</a></div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
nginx mailing list
<a class="moz-txt-link-abbreviated" href="mailto:nginx@nginx.org">nginx@nginx.org</a>
<a class="moz-txt-link-freetext" href="http://mailman.nginx.org/mailman/listinfo/nginx">http://mailman.nginx.org/mailman/listinfo/nginx</a></pre>
    </blockquote>
    <br>
  

</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>nginx mailing list</span><br><span><a href="mailto:nginx@nginx.org">nginx@nginx.org</a></span><br><span><a href="http://mailman.nginx.org/mailman/listinfo/nginx">http://mailman.nginx.org/mailman/listinfo/nginx</a></span></div></blockquote></body></html>