On Wed, May 6, 2009 at 11:46 AM, Jim Jagielski <j...@jagunet.com> wrote:
>
> On May 6, 2009, at 2:26 PM, Paul Querna wrote:
>
>> Hi,
>>
>> I think the right way to frame the discussion is, how should the API
>> optimally be structured -- then change the existing one to be closer
>> to it, rather than the barrage of incremental changes that seem to be
>> creating lots of cruft, and ending up with something that still
>> doesn't do what we want.
>>
>> I think mod_proxy's decisions on what to proxy to, and where, should
>> be designed as a series of hooks/providers, specifically:
>>
>> 1) Provider for a list of backends -- This provider does nothing with
>> balancing, just provides a list of Backend Definition (preferably just
>> keep it apr_sockaddr_t?) that a Connection is able to use.  -- Backend
>> status via multicast or other methods go here.
>> 2) Provider that _sorts_ the list of backends.  Input is a list,
>> output is a new ordered list.  -- Sticky sesions go here, along with
>> any load based balancing.
>> 3) Provider that given a Backend Definition, returns a connection.
>> (pools connections, or open new one, whatever)  -- Some of the
>> proxy_util and massive worker objects go here.
>>
>
> I recall at one of the hackthons this being proposed and I
> think it's the right one... It's a clear separation of functions
> similar to the changes we've done in authn/authz, moving from
> monolithic to more structured and defined concerns.
>
> The incremental changes are just so we can keep 2.2's proxy somewhat
> useful and flexible enough to survive until the next revamp.

Stop worrying about 2.2, and just focus on doing it right -- then ship
2.4 in 3-4 months imo, trunk really isn't that far off from being a
decent 2.4, it just needs some cleanup in a few areas. It has already
been 3.5 years since 2.2.0 came out, its time to move on in my
opinion.

Reply via email to