<div>
                    Thanks everyone. Some useful info here.
                </div><div>See you at LRUG.</div><div><br></div><div>Ed.</div><div><div><br></div></div>
                 
                <p style="color: #A0A0A8;">On Tuesday, 4 March 2014 at 16:06, Frederick Cheung wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div><div>haproxy will load balance based on the contents of http headers, so if you were to set a cookie use_new_version=1 you could write a rule that would send matching requests to a different set of backends.</div><div><br></div><div>Fred </div><div>On 4 March 2014 at 15:52:27, Riccardo Tacconi (<a href="mailto:rtacconi@gmail.com">rtacconi@gmail.com</a>) wrote:</div><blockquote type="cite"><div><div> </div><div>Have a look at <a href="https://github.com/igrigorik/em-proxy/">https://github.com/igrigorik/em-proxy/</a>, yes  </div><div>it is Ruby</div><div>(slow) but uses even machine (fast). I used it in production to  </div><div>load</div><div>balance an MySql cluster and it was working fine, but the load  </div><div>was little.</div><div>ha-proxy can remove a node using an HTTP check but I am not sure  </div><div>if you can</div><div>change dynamically the load on nodes depending metrics (node  </div><div>load).</div><div>nxing-lua seems a good solution too.</div><div> </div><div> </div><div>On 4 March 2014 15:31, Sam Phillips  </div><div>wrote:</div><div> </div><blockquote type="cite"><div><div>Hi Ed,</div><div><br></div><div>Mixlr did something along these lines before, where they scripted  </div></div></blockquote><div>nginx</div><blockquote type="cite"><div><div>with lua, looking up the data via redis:</div><div><br></div><div><a href="http://devblog.mixlr.com/2012/09/01/nginx-lua/">http://devblog.mixlr.com/2012/09/01/nginx-lua/</a></div><div><br></div><div>I looked into it at Shutl and found the custom compilation etc  </div></div></blockquote><div>of nginx to</div><blockquote type="cite"><div>be a real pain, the lua/nginx modules to be a bit of a ghetto and  </div></blockquote><div>of</div><blockquote type="cite"><div>course, hard to test. In the end, we ended up segmenting in nginx  </div></blockquote><div>based on</div><blockquote type="cite"><div>the request itself. In our case, most requests were https/api/json  </div></blockquote><div>with</div><blockquote type="cite"><div>identifying headers, so were able to use that header to segment.  </div></blockquote><div>A</div><blockquote type="cite"><div>relatively small customer list (our customers are big retailers,  </div></blockquote><div>rather</div><blockquote type="cite"><div>than consumers) meant we could just configure which customers  </div></blockquote><div>went where in</div><blockquote type="cite"><div><div>chef and redeploy.</div><div><br></div><div>HTH - this deployment stuff is my special area of interest and  </div></div></blockquote><div>would be</div><blockquote type="cite"><div><div>happy to kick around some ideas off list if helpful :)</div><div><br></div><div>Cheers,</div><div><br></div><div>Sam</div><div><br></div><div><br></div><div><br></div><div><br></div><div>On 4 March 2014 14:29, Ed James (Alt)  </div></div></blockquote><div>wrote:</div><blockquote type="cite"><div><div><br></div><blockquote type="cite"><div><div>Hi all</div><div><br></div><div>We make heavy use of AWS services and we are finding that ELB  </div></div></blockquote></div></blockquote><div>is not</div><blockquote type="cite"><blockquote type="cite"><div>quite meeting our needs. ELB allows some level of control over  </div></blockquote></blockquote><div>traffic, but</div><blockquote type="cite"><blockquote type="cite"><div>it's dumb in the sense that it's done purely on load. You cannot  </div></blockquote></blockquote><div>put any</div><blockquote type="cite"><blockquote type="cite"><div>real logic into ELB. What we want is to direct a user's requests  </div></blockquote></blockquote><div>based on</div><blockquote type="cite"><blockquote type="cite"><div>an application setting - this could be in the db, memcache,  </div></blockquote></blockquote><div>redis,</div><blockquote type="cite"><blockquote type="cite"><div>whatever. The retrieval of the setting is another problem  </div></blockquote></blockquote><div>I think. It's the</div><blockquote type="cite"><blockquote type="cite"><div><div>logic around that setting's value that I'm interested in.  </div><div><br></div><div>We are doing a large upgrade of our platform and we want to run  </div></div></blockquote></blockquote><div>both the</div><blockquote type="cite"><blockquote type="cite"><div>new version and old version in production in parallel. We want  </div></blockquote></blockquote><div>to control</div><blockquote type="cite"><blockquote type="cite"><div>which customers get to see the new version and slowly increase  </div></blockquote></blockquote><div>the number</div><blockquote type="cite"><blockquote type="cite"><div>of customer who can. If there is a problem we can just send all  </div></blockquote></blockquote><div>traffic</div><blockquote type="cite"><blockquote type="cite"><div>back to the old version in an instant. This could just as easily  </div></blockquote></blockquote><div>apply to</div><blockquote type="cite"><div><blockquote type="cite"><div><div>large feature deployments.</div><div><br></div><div>Does anyone have any experience with this kind of use-case?  </div><div><br></div><div>Thanks,</div><div>Ed.</div><div><br></div><div>_______________________________________________</div><div>Chat mailing list</div><div><a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a></div><div><a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a></div></div></blockquote><div><br></div><div>_______________________________________________</div><div>Chat mailing list</div><div><a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a></div><div><a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a></div></div></blockquote><div> </div><div> </div><div>--</div><div>Riccardo Tacconi</div><div>Ruby on Rails and PHP development - System Administration</div><div>VIRTUELOGIC LIMITED  </div><div> </div><div><a href="http://github.com/rtacconi">http://github.com/rtacconi</a></div><div><a href="http://riccardotacconi.blogspot.com">http://riccardotacconi.blogspot.com</a></div><div><a href="http://twitter.com/rtacconi">http://twitter.com/rtacconi</a></div><div>_______________________________________________</div><div>Chat mailing list</div><div><a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a></div><div><a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a></div><div> </div></div></blockquote><div><br></div><div>_______________________________________________</div><div>Chat mailing list</div><div><a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a></div><div><a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a></div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>