Thank you. It's my honour that nginx-clojure will  being used possibly.
As you said, coroutine based Java socket implementation can simplify 
asynchronous event model. 
We just write synchronous style code about java socket API and get the 
non-blocking and event driven executing on nginx.



On Tuesday, April 29, 2014 10:20:53 PM UTC+8, Rick Richardson wrote:
>
> This is excellent!  I definitely think there is a lot of opportunity for 
> fusion between Clojure and Nginx.  Clojure's model already supports the 
> cooperating threads model that can simplify Nginx's complex event model, as 
> you have demonstrated.  Work has already been done that proves this idea 
> can result in productivity and scale gains (nginx + Lua)  It can also 
> greatly simplify architectures by cutting out load-balancers making less to 
> patch for security/stability issues.   I look forward to using this on my 
> upcoming web projects. 
>
>
> On Friday, April 25, 2014 11:51:41 PM UTC-4, Xfeep Zhang wrote:
>>
>> 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
>>    - Java Socket API Compatible and work well with largely existing java 
>>       library such as apache http client, mysql jdbc drivers etc.
>>       - non-blocking, cheap, fast and let one java main thread be able 
>>       to handle thousands of connections.
>>       - 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!
>>       - 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
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to