0

I have a java method that returns a byte array and the size can very from few KB to a few hundred MB.

I want to make this method available for remote execution maintaining good performance so that clients can get the data and process it further.

I looked at Apache Thrift, ICE, and zeromq so far but i was curious to find something which can be used as library (jar) alone in a all java/spring environment involving a standalone application. Is there any such thing available, i would appreciate any recommendation on this subject.

Thank you

Mark1234
  • 589
  • 2
  • 8
  • 24
  • Have you investigated Spring Remoting? http://docs.spring.io/spring/docs/current/spring-framework-reference/html/remoting.html – Mark Sep 08 '14 at 21:33
  • Yeah, I looked into that, not sure how efficient RMI would be in this case? I liked the AMQP option, any thought if spring/AMQP is a good option for such use case? – Mark1234 Sep 09 '14 at 13:59
  • If it is a simple request/response then AMQP is maybe overkill. Why not keep things simple with either RMI or HTTP? – Mark Sep 09 '14 at 21:46
  • My understanding is RMI and HTTP are not most efficient in moving data between machines, my primary need here. I am looking for a efficient binary protocol to move data as the reports sizes are big and their numbers are also large and likely to grow, thoughts? – Mark1234 Sep 10 '14 at 12:10
  • Define most efficient. HTTP is used to download few hundred MB files all across the internet so size isn't an issue. AMQP introduces the complexity of configuring the broker etc. I'm not really sure you want to be sending hundred MB messages via a broker. Their is value in keeping things simple. – Mark Sep 10 '14 at 21:54
  • Agreed on simplicity principle but i would aim for higher throughout and lower latency and something which can scale well. Of course HTTP and RMI both works but would it be prudent to build a system using these in today's time ignoring other technologies out there, not sure. – Mark1234 Sep 11 '14 at 21:02
  • How many clients does it need to handle? What makes you think a messaging system would provide lower latency? – Mark Sep 11 '14 at 21:48
  • To begin with we have very few clients (<50) but it may change in future if we decode to link it to web for users to run their own reports whenever they need. for example, ICE claims to be 100s of time faster than a web service, i believe the protocol they have for sending data over wires possibly makes it faster and so would be the case with similar technologies. Messaging system could give you more control in terms of scalability and process what you can. – Mark1234 Sep 12 '14 at 14:08

0 Answers0