Nginx-Clojure 是一个 Nginx 的模块,用于嵌入 Clojure 或者 Java 或者 Groovy 程序。
核心特性:
兼容 Ring 以及支持基于 Ring 的框架,例如 Compojure
可使用 Clojure/Java/Groovy 编写简单的 HTTP 服务处理器
NEW : Nginx Access Handler by Clojure / Java / Groovy
NEW : Nginx Header Filter by Clojure / Java / Groovy
使用 Clojure/Java/Groovy 编写简单的 URL 重写处理器
非堵塞协程 Socket,兼容 Java Socket API,可以多数 Java 网络库兼容,如Apache HTTP Client和 MySQL JDBC驱动等
可在一个子协程中并行处理多个套接字,就是说可以同时调用两个远程服务
Socket/Channel 的异步回调 API
Long Polling & Server Sent Events
使用广播事件 API 更容易实现 Sub/Pub 服务
可在 Nginx worker 启动时运行初始 Clojure 代码
支持用户自定义的 HTTP 请求方法
兼容 Nginx 1.6.0,Nginx 1.4.x 也 OK,但再老的版本没经过测试
受益于 Nginx 的机制 worker 进程挂掉后,主进程会自动进行重启
采用对HTTP Header进行惰性解析以及Nginx和JVM之间直接的内存操作来快速处理动态内容
利用 Nginx 零拷贝文件发送机制来快速处理静态内容
支持 Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X.