TChannel [] (https://travis-ci.org/uber/tchannel)
Network multiplexing and framing protocol for RPC
- Easy to implement in multiple languages, especially JS and Python.
- High performance forwarding path. Intermediaries can make a forwarding decision quickly.
- Request / response model with out of order responses. Slow requests will not block subsequent faster requests at head of line.
- Large requests/responses may/must be broken into fragments to be sent progressively.
- Optional checksums.
- Can be used to transport multiple protocols between endpoints, eg. HTTP+JSON and Thrift.
- tchannel-node TChannel peer library for Node.js
- tchannel-python TChannel peer library for Python
- tchannel-golang TChannel peer library for Go
- tcurl TChannel curl program, for making manual one-off requests to TChannel servers.
- tcap TChannel packet capture tool, for eavesdropping and inspecting TChannel traffic
- bufrw Node.js buffer structured reading and writing library, used for TChannel and Thrift
- thriftrw Node.js Thrift buffer reader and writer
- thriftify Node.js Thrift object serializer and deserializer with run-time Thrift IDL compiler