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

Reply via email to