Thanks for your good hints.
I see there 's a good no-blocking mysql client Libdrizzle from https://launchpad.net/drizzle.
With Nginx-lua or Openresty , Libdrizzle has been used in production.
I won't hope every thing is no-blocking and I think it is unnecessary.
Only when blocking hurt us we have to conside using no-blocking methods.
For design of no-blocking api we can only use a simple callback pattern, let user to determine whether use threads or not.
Even in Nginx-Clojure 0.1.0, developers can also use his owner thread or thread pool.