General Binary Protocols

I am trying to find a suitable middleware for my next distributed application. Over the past few days, I found several specifications and wondered if I had missed an important question? It should be a binary protocol, RPC support, and possibly an open source implementation in different languages. Here is the list of protocols I found:

  • CORBA
  • ICE
  • AMQP
  • Thrift

And this is a list of the lost protocols:

  • XML-based protocols because they are text-based (XML-RCP, SOAP, manual, etc.).
  • Protocol Buffers (Sealed Source)
  • COM (Windows only)
+6
protocols
source share
9 answers

The Protocol Buffers project is definitely not a closed source.

What language / platform are you interested in?

Please note that although support for RPC buffers in protocol buffers, Google has not released its actual RPC level, so you will have to provide your own. Given that you basically sent a request message and returned a response message, it’s easy for him to add it using existing protocols (for example, HTTP POST).

+13
source share

I do not think protocol buffers are closed. The page implies in different ways, and there are source downloads.

+8
source share

Perhaps not the best candidate, but for completeness, I would like to add that there is a binary encoding for XML .

+3
source share

I would advise you to review the Google protocol buffers. There are many open source versions for all major platforms, including C ++ / Java / Python, which are published by Google itself.

As John Skeet mentioned above, the PB specification does not define an RPC model, but it is very easy to define your own RPC using PB.

Alternatively, you can take a look at ASN.1. There are many applications using ASN.1.

+3
source share

You can watch ASN.1 .

It is used to encode and transmit binary data in many other protocols (e.g. SNMP, LDAP), although ASN.1 does not itself define a transport protocol.

+2
source share

Joe Armstrong UBF doesn't seem to have caught, but it suits your tasteful needs.

+2
source share

I would recommend trying RabbitMQ AMQP and using Buffers, XML, or some other data format like JSON, to taste. In addition to being relatively simple and easy to use, it allows you to mix and match RPC and asynchronous pubsub styles, and is well distributed across languages, protocols, and platforms. But this may not be very good for your problem - it all depends on what you are trying to do! Cheers alexis

0
source share

There is a patch from ZeroC to Ice to support Google protocol buffers.

http://www.zeroc.com/labs/protobuf/

0
source share
0
source share

All Articles