On Sun, Oct 04, 2009 at 03:59:07PM +0200, Aleksandar Lazic wrote: (...) > On Fre 02.10.2009 22:54, Willy Tarreau wrote: > >On Fri, Oct 02, 2009 at 10:19:47PM +0200, Aleksandar Lazic wrote: > >>Hm so if I want to add ajp,fcgi, ... protocol I think I will need a > >>buffer for the 'header' and for the content. > > > >Yes, the principle is to chain two series of buffers like this : > > [snip]
If you're interested, I've just pushed the final cleanup of the stats socket handler. It is much cleaner now and should be readable enough to be used as a starting point for other protocols. You can also take a look at the http stats (read stats_uri_auth()), and you will see it's not much hard. (...) > >To be quite honnest, it is a bit early but it is also what helps the > >design evolve towards the right direction. If you start to implement > >something now, I'm absolutely certain that you will regularly block > >because of missing feature X or Y and that sometimes I won't even have > >any immediate response. This is sometimes very frustrating for > >everyone. But if you don't waste your time on it and just start it as a > >PoC, it should be an interesting experience which can serve both of us. > > I will try to make a fcgi app out of haproxy to get more familiar with > the protocol. After that I will try to add a 'applet' so that I don't > mixe 2 new issuess, learn fcgi & learn haproxy applet ;-). Be careful, the term "applet" here was chosen to designate a piece of code running inside one function and doing its own I/O itself, but it's far from being enough to run an application (it would be too hard to write and too risky). Things like advanced health-checks should be easy though. > >>So no stickyness on the loadbalancer, so the most application use the > >>cookies and shared storage for the sessions, right. > > > >Oh sorry if I was not clear in my response. Since you only asked about > >the LB method, I thought you were only interested in the algo. > >Stickiness based on cookie insertion is almost always used with HTTP, > >since it's the easiest one to deploy. > > So the 'insert' and 'indirect' cookie mode ist used mostly, right? > In this case the browser gives you with the cookie the right backend. yes, that's it. > I will take a look into the fcgi & lsapi[1] and come back ;-) > > [1] http://www.litespeedtech.com/php-litespeed-sapi.html > http://www.litespeedtech.com/products/lsapi/overview/ did not know about those. I'm not surprized they claim higher performance than fcgi, as there is a lot of rewriting in fcgi, and everything which can be avoided should be. Regards, Willy