On 26/11/2012, at 12:57 AM, Igor Galić <[email protected]> wrote:
>>> So my question is about the balancer plugin - why exactly is it >>> broken? >> >> It has a bunch of dependencies on Yahoo infrastructure that were >> never open sourced. >> >>> Does the planned rewrite by Alan have an ETA? >> >> The plugin works by making an IPC call to a balancing service. We >> would need to evaluate and choose a suitable service, then implement >> the balancer IPC calls or implement a full balancer. I guess that >> what I'm saying is that there's not actually much load balancing >> code in the balancer plugin ;) > > There have been vocal calls from the developer community to > place the loadbalancing capabilities into the core, while laying > the responsibility of checking of checking the backend's health > into the virtual hands of plugins, or the real hands of their > developers. (This is probably something that could easily be > done in Lua, even by "mere" admins) > > Implementing this however would probably require us to touch on > everything in core, something that (w|c)ould destabilize ATS… We already do balancing when an origin has multiple DNS entries, so we should expose a way for plugins to populate the set of names or addresses for a single origin. I agree that health checking is probably also best left to plugins; you can do a reasonable job using TSFetchURL. The other task that ought to be extensible with a plugin is mapping a request to a specific origin address, which should be pretty straightforward to do in a remap plugin. I think that we have almost all the pieces to generalize this, but there's a fair bit of effort involved in bringing them all together and "productizing them". ... and I'd be happy to merge anybody's Lua patches :) J
