Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

general-purpose binary protocols

Tags:

protocols

I'm trying to find a suitable protocol middleware for my next distributed application. I've found several specifications in the last few days and was wondering if I missed an important one? It should be a binary protocol, support RPCs and optionally have open-source implementations in different languages. Here's the list of protocols I found:

  • CORBA
  • ICE
  • AMQP
  • Thrift

And this is the list of dismissed protocols:

  • XML based protocols because they are text based (XML-RCP, SOAP, hand-rolled, etc.)
  • Protocol Buffers (Closed Source)
  • COM (Windows-only)
like image 619
soulmerge Avatar asked Dec 09 '08 11:12

soulmerge


People also ask

What are binary protocols?

A binary protocol utilizes all values of a byte, as opposed to a text-based protocol which only uses values corresponding to human-readable characters in ASCII encoding. Binary protocols are intended to be read by a machine rather than a human being.

Which binary protocol uses TCP?

Kafka uses a binary protocol over TCP. The protocol defines all APIs as request response message pairs.

Is TCP a binary?

Examples of binary protocols: RTP, TCP, IP.

What is data protocol?

Data protocol is a standard set of regulations and requirements that allow two electronic items to connect to and exchange information with one another across a network.


1 Answers

The Protocol Buffers project definitely isn't closed source.

Which language/platform are you interested in?

  • For Java, C++ and Python there's the Google code.
  • For C# there are at least three projects (including mine or Marc's)
  • For other languages/platforms, see the relevant wiki page

Note that although there's stub RPC support in Protocol Buffers, Google hasn't released its actual RPC layer, so you'd have to provide your own. Given that basically you'd pass a request message and return a response message, it's not that hard to layer it over existing protocols (e.g. HTTP POST).

like image 129
Jon Skeet Avatar answered Oct 02 '22 22:10

Jon Skeet