Fastest reliable way for Clojure (Java) and Ruby apps to communicate

Posted by jkndrkn on Stack Overflow See other posts from Stack Overflow or by jkndrkn
Published on 2010-12-17T18:18:57Z Indexed on 2010/12/29 21:54 UTC
Read the original article Hit count: 186

Hi There,

We have cloud-hosted (RackSpace cloud) Ruby and Java apps that will interact as follows:

  1. Ruby app sends a request to Java app. Request consists of map structure containing strings, integers, other maps, and lists (analogous to JSON).
  2. Java app analyzes data and sends reply to Ruby App.

We are interested in evaluating both messaging formats (JSON, Buffer Protocols, Thrift, etc.) as well as message transmission channels/techniques (sockets, message queues, RPC, REST, SOAP, etc.)

Our criteria:

  1. Short round-trip time.
  2. Low round-trip-time standard deviation. (We understand that garbage collection pauses and network usage spikes can affect this value).
  3. High availability.
  4. Scalability (we may want to have multiple instances of Ruby and Java app exchanging point-to-point messages in the future).
  5. Ease of debugging and profiling.
  6. Good documentation and community support.
  7. Bonus points for Clojure support.

What combination of message format and transmission method would you recommend? Why?

I've gathered here some materials we have already collected for review:

© Stack Overflow or respective owner

Related posts about java

Related posts about ruby