Combining nginx with a library that manages it's own threads?

Hi,

I would like to connect nginx to the Cassandra NoSQL database.

There is a C++ library[1] that I could wrap to C to use with nginx.

However, the library does it’s own connection pooling and thread
management and I do not really have an idea how that will interfere with
nginx’s (single)threading model.

What do you think? Or are you maybe aware of any other C driver for
Cassanrda?

Jan

[1] https://github.com/datastax/cpp-driver

Hi Jan,
I guess you are looking for an upstream nginx module to talk to
Cassandra in place of the C++ client you mentioned.
I did something similar for talking to Sphinx search platform
(https://github.com/reeteshranjan/sphinx2-nginx-module). There was a C++
client; but if you want nginx to control all connections, the whole
non-blocking I/O etc. you need to really write an upstream module, where
all socket read/writes are done by core nginx code and you need to
provide only hooks. Your hooks would perform the request-response
protocol with the service e.g. Cassandra in your case.
Regards,Reetesh

I forgot to mention: you loose all thread management as well.
Regards,Reetesh

From: [email protected]
To: removed_em[email protected]
Subject: RE: Combining nginx with a library that manages it’s own
threads?
Date: Fri, 21 Feb 2014 11:38:50 +0530

Hi Jan,
I guess you are looking for an upstream nginx module to talk to
Cassandra in place of the C++ client you mentioned.
I did something similar for talking to Sphinx search platform
(https://github.com/reeteshranjan/sphinx2-nginx-module). There was a C++
client; but if you want nginx to control all connections, the whole
non-blocking I/O etc. you need to really write an upstream module, where
all socket read/writes are done by core nginx code and you need to
provide only hooks. Your hooks would perform the request-response
protocol with the service e.g. Cassandra in your case.
Regards,Reetesh

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs