I don't know if you are interested in this, but I wrote a transport module
that exposes the REST interface of ES over ZeroMQ. This way, it is possible
to send REST-like messages with ØMQ clients and get the replies back.
For example, a ØMQ client can send the following message:
"2009-11-15T14:12:12","message": "You know, for Search"}
It will receive the following response:
The transport layer converts ØMQ messages in a given format into REST
request objects that can be handled by ES.
The expected format for incoming messages is:
<Method PUT,DELETE, POST...>|<URI, including parameters>|
But any other message format can be easely implemented. The SimpleClient
class in test package shows how to create a simple ØMQ client and send
The implementation uses a router-dealer pattern (
http://www.zeromq.org/sandbox:dealer), where multiple XREP sockets are
listening to incoming messages (each in a dedicated thread).
The source code is located at
I used the Thrift module as a good example.
I still working on this (tests, benchmarks, distribute incoming messages on
many ES nodes) but your feedback will be greatly appreciated.