Using memcache to set variables
Avleen Vig
avleen at gmail.com
Fri Aug 14 13:34:20 MSD 2009
On Aug 12, 2009, at 6:08, Johan Bergström <johan at bergstroem.nu> wrote:
> Hey,
> On Aug 8, 2009, at 05:13 , Avleen Vig wrote:
>
>> I started using the geo module to direct users by IP address, this
>> week, and really like it!
>>
>> It got me thinking about another thing I've been wanting to do:
>> Direct
>> users to different machines based on some arbitrary data. I don't
>> want
>> to rely just on cookies, because those can be manipulated. Here's
>> what
>> I was thinking, and I'm wondering if it can be done some how in
>> nginx?
>>
>> The sessionid is stored in a cookie. This can't be manipulated or the
>> users ends up not being logged in.
>> Store the sessionid in memcache, and have the value set to the name
>> of
>> a location.
>> Have nginx fetch the value for 'sessionid' from memcache, and then
>> redirect the user internally to that location.
>>
>> Is this even remotely possible? I think some hardware load balancers
>> can do it, but I'm too poor to buy one of those :-)
>
> We're doing something similar - through a FastCGI-app written in C -
> which looks up a host as key in memcached (cookie would work just as
> fine) and returns a backend (we have lots of different nginx
> backends) that the frontends proxies to. The key here is to use X-
> Accel-Redirect. So, in short: Yes, it's possible and delivers ~2k r/
> s per frontend for us. A FastCGI/whatever app written in php/python
> would probably work just as well, port to C when performance is
> needed.
Hi Johan!
Thus is exactly what I'm hoping to do!
How do you use x-accel-redirect to get the name of a backend? I've
never used it. Do ou have any code examples? This would be really
perfect.
More information about the nginx
mailing list