Home

Awesome

Protoshell Build status:

Loosely based on Protoshell

Protoshell implements Storm's multilang using the Protobuf serializer to improve throughput and decrease CPU when compared to the default JSON serializer. It uses compact binary communications protocol and transfers tuples as union fields, mapping Protobuf supported types to Java types and vice versa. When a type doesn't have Protobuf representation it is mapped to byte[].

Performance

Protoshell currently provides TBD throughput, when compared to the standard Storm JSON multilang protocol.

The protocol

Protoshell captures multilang protocol as unions:

The exchange follows the documented JSON script.