nginx clojure module v0.2.0-Let MySQL JDBC Driver & Apache HttpClient Fly With Epoll/Kqueue on Nginx

xfeep nginx-forum at nginx.us
Sat Apr 26 04:11:11 UTC 2014


nginx-clojure v0.2.0 includes new features:

(1) non-blocking socket based on coroutine and compatible with largely
existing java library such as apache http client, mysql jdbc drivers
(2) asynchronous callback API of socket for some advanced usage
(3) run initialization clojure code when nginx worker starting
(4) provide a build-in tool to make setting of coroutine based socket
easier
(5) support Linux 32bit x86 now
(6) publish [binary release compiled with lastes stable nginx
1.6.0](https://sourceforge.net/projects/nginx-clojure/files/) about Linux
x64, Linux i586, Win32 & MacOS X.

If the http service should do some slow I/O operations such as access
external http service, database, etc.  nginx worker will be blocked by those
operations and the new  user  request even static file request will be
blocked. It really sucks! Before v0.2.0 the only choice is using thread pool
but now we have three choice  Now:
(1) Coroutine based Socket -- Let MySQL JDBC Driver & Apache HttpClient Fly
With Epoll/Kqueue on  Nginx
    (a) Java Socket API Compatible and work well with largely existing java
library such as apache http client, mysql jdbc drivers etc.
    (b) non-blocking, cheap, fast and let one java main thread be able to
handle thousands of connections.
    (c) Your old code **_need not be changed_** and those plain and old java
socket based code such as Apache Http Client, MySQL mysql jdbc drivers etc.
will be on the fly with epoll/kqueue on Linux/BSD!
    (d) You must do some steps to get the right class waving configuration
file and set it in the nginx conf file.
(2) Asynchronous Socket
     More details here: https://github.com/nginx-clojure/nginx-clojure
(3) Thread Pool
    More details here : https://github.com/nginx-clojure/nginx-clojure

More details please visit nginx-clojure github site :
https://github.com/nginx-clojure/nginx-clojure

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,249650,249650#msg-249650



More information about the nginx mailing list