Feedback on my module

Umesh Sirsiwal usirsiwal at verivue.com
Fri Apr 1 18:44:15 MSD 2011


Hey Tarek,
You can use combination of nginx_memc 
(http://wiki.nginx.org/HttpMemcModule) and nginx_lua 
(https://github.com/chaoslawful/lua-nginx-module) to achieve the same 
result.

Here is an example:

|location /blah {
         rewrite_by_lua '
	    if($http_x_target_service == nil) then
		return
	    end
	    local res = ngx.location.capture("/memc/$http_x_target_service")

             if res.status != ngx.HTTP_OK then
                	ngx.exit(||ngx.|HTTP_SERVICE_UNAVAILABLE)
	        return
	|     end
	    if(res.body != "up") then
		||ngx.exit(||ngx.|HTTP_SERVICE_UNAVAILABLE)
  		return
	    end
|||         ';

         # proxy_pass
     }
|


-Umesh

On 04/01/2011 08:07 AM, Tarek Ziade wrote:
> Hey,
>
> I hope this is the right list for this kind of question -- seems more
> suitable than nginx@ --
>
> I have started the development of a module that does the following:
>
> One each request, if a X-Target-Service header is present, the module
> checks in memcached a flag. Depending on the value, it returns a 503 or
> pass the request to the upstream server.
>
> The goal here is to manage in memcache the status of backend services
> the application uses like twitter, linkedin etc, and reject any request
> to the server if those services are down for any reason.
>
> I would love to get some feedback/advices from anyone experimented in
> Nginx, as I am new to this and my C skills are from college ;)
>
> The memcached code still need a few changes like catching any
> libmemcached error etc, but the nginx module logic is basically done.
>
> the code is here: https://bitbucket.org/tarek/nginx-sstatus/src/
>
> Cheers
> Tarek
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-devel/attachments/20110401/cf6d900f/attachment.html>


More information about the nginx-devel mailing list