|
/
Zope
/
Apsis
/
Pound Mailing List
/
Archive
/
2007
/
2007-09
/
fixing client IP to one proxy - absolutely (i.e. hashing the IP)
[
Pound - kinder config reloading / Alex Hunsley ... ]
[
Pound config reloading / Alex Hunsley ... ]
fixing client IP to one proxy - absolutely (i.e. hashing the IP)
Alex Hunsley <alex.hunsley(at)blueyonder.co.uk> |
2007-09-13 15:22:45 |
[ FULL ]
|
I would like to implement session control in pound by using "absolute"
IP hashing. The current Pound system can have a session type of "IP",
but once the time-out has been exceeded occurred, that same IP can get
directed to a different backend for the next session. Is there any way
to make it direct a request to a backend based entirely on a hash of the
IP, in a completely deterministic fashion, that will be the same every
session and every time?
I'm asking because in order to make reloading of configs easier, I'm
wanting to run a 'front' pound that has two 'back' pound servers behind
it, containing the same config. Now the two back pound servers can't
really share info between them about what server they have currently
mapped a certain IP to for this session, can they? So I need a
completely deterministic way to choose the backend, based entirely on
the request source IP...
Or any other solution that gets me the setup working in para 2 above
would be nice!
Thanks!
Alex
|
|
|
Re: [Pound Mailing List] fixing client IP to one proxy - absolutely (i.e. hashing the IP)
Uwe Mesecke <uwe(at)mesecke.net> |
2007-09-13 16:49:20 |
[ FULL ]
|
Am 13.09.2007 um 15:22 schrieb Alex Hunsley:
[...]
Hi,
I think the problem is, what happens when a backend server dies. In
this case the client has to be moved to another backend but when the
dead backend is back alive, should the client be moved back to the
first (and concerning the hashing, the "right") backend or should he
stay on the other? In this case a consistent hashing algorithm would
be a good thing. At the Memcached mailing list there were some
discussions about libketama etc. a while ago.
Back to your use case: What about eliminating the pound-server in the
front and let a router decide which client goes to what backend. To
increase availability you could manage the 2 ip addresses with
wackamole so when one of the two pound-server fails, the other server
takes over the dead host's ip and serves all the clients.
In my setup I have a spare pound process on one of the backends and
when I want to restart pound (or the whole host) I tell wackamole to
move the IP to the spare pound host, then reload pound and let
wackamole move the ip back to the primary pound-host. In this setup
the failover comes as an additional bonus ;)
[...]
Greetings,
Uwe
|
| Attachments: | | |
| PGP.sig |
application/pgp-signature |
187 Bytes |
|
|
|
|