We have cloud-hosted (RackSpace cloud) Ruby and Java apps that will interact as follows:
- Ruby app sends a request to Java app. Request consists of map structure containing strings, integers, other maps, and lists (analogous to JSON).
- 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:
- Short round-trip time.
- Low round-trip-time standard deviation. (We understand that garbage collection pauses and network usage spikes can affect this value).
- High availability.
- Scalability (we may want to have multiple instances of Ruby and Java app exchanging point-to-point messages in the future).
- Ease of debugging and profiling.
- Good documentation and community support.
- Bonus points for Clojure support.
- Good dynamic language 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:
задан Community 23 May 2017 в 11:43
поделиться