

Introducing Mantrid (runtime-configurable, Python load balancer) - andrewgodwin
http://www.aeracode.org/2011/11/2/introducing-mantrid/

======
andrewgodwin
In the article I cover why we moved away from HaProxy; someone's also asked me
why we didn't choose Nginx. It's because we needed HTTP/1.1 support to the
backend (for things like WebSockets), which Nginx doesn't have (yet).

------
po
To give some context, Andrew Godwin is the guy behind the Django database
migrations library South. This looks interesting and I'm excited to see what
other gems they open-source.

Some talks he's given: <http://lanyrd.com/profile/andrewgodwin/slides/>

------
tomazmuraus
Just FYI, apache mod_proxy_balancer also supports HTTP 1.1 and you can
configure it during run-time if you have mod_status enabled.

~~~
andrewgodwin
Ah, interesting, everyone always seems to forget apache. I imagine it still
doesn't support the holding-connections-open-during-bootup bit, though?

------
megaman821
Does this support sticky sessions?

What are the balancing options are available (weighted round robin, least
connections, etc.)?

~~~
andrewgodwin
There's no sticky sessions, and the balancing is purely random (so
statistically roughly the same as a round-robin) - it was primarily designed
for large numbers of small backends, rather than one or two sites with ten
backends, though we'll be adding in more balancing types as we go.

~~~
megaman821
By purely random, you mean not weighted, so all your backends need to be
roughly equal in capabilities?

~~~
andrewgodwin
Exactly, as at Epio all our backends are identically sized. Obviously this
isn't the case for everyone - but it's easy to add that code.

