Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2577 posts at DZone. You can read more from them at their website. View Full User Profile

Replace HTTP RPC Calls With ZeroMQ

07.29.2013
| 6318 views |
  • submit to reddit

HTTP is the most common choice for internal RPC service calls, but you may not have known that you can use ZeroMQ for this and probably get better results.  Here are a few reasons why from this great post on augustl.com:

In summary, the benefits ZeroMQ offers over HTTP are:

  • Multiple concurrent RPC calls over the same TCP connection. With HTTP, you're limited to sequential calls (keep-alive). This is a big one.
  • No manual connection management. This isn't impossible to do with HTTP, and is mostly a library problem, but AFAIK few libraries exist that lets you do this right with HTTP.
  • Supports multiple server processes responding to requests. No HTTP load balancer needed.
  • No manual retry handling. Can stop the server, do a RPC, then start the server, then get a response - the message is queued, instead of delivered directly.

    -- augustl.com


The blog goes on to show you how to take advantage of ZeroMQ RPC service calls with a little bit of Clojure code.

Comments

Mark Unknown replied on Wed, 2013/08/07 - 10:22pm

What is the link for this?  We do a lot of RPC but we do it via Spring Remoting.

Mitch Pronschinske replied on Thu, 2013/08/08 - 10:28am in response to: Mark Unknown

 Hey Mark.  I added two links to the blog I was referring to. 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.