Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uber/tchannel
network multiplexing and framing protocol for RPC
https://github.com/uber/tchannel
Last synced: 26 days ago
JSON representation
network multiplexing and framing protocol for RPC
- Host: GitHub
- URL: https://github.com/uber/tchannel
- Owner: uber
- License: mit
- Archived: true
- Created: 2014-12-23T21:06:57.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-05-03T16:14:01.000Z (almost 3 years ago)
- Last Synced: 2024-12-29T01:42:16.575Z (about 2 months ago)
- Language: Thrift
- Homepage:
- Size: 7.9 MB
- Stars: 1,154
- Watchers: 2,720
- Forks: 129
- Open Issues: 78
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-grpc - TChannel - Network multiplexing and framing protocol for RPC (Protocol Buffers / Similar)
README
# TChannel [![Build Status](https://travis-ci.org/uber/tchannel.svg?branch=master)](https://travis-ci.org/uber/tchannel)
This project is no longer active. See https://github.com/uber/tchannel/issues/1428.
Network multiplexing and framing protocol for RPC
[
](docs/logo.md#gh-dark-mode-only)
[](docs/logo.md#gh-light-mode-only)
* [Read the Docs][RTD]
* Languages: [Node.js][node], [Python][python], [Go][go], [Java][java]
* Questions: Open a [Github issue][issues]
* Uber's [OSS website][oss]## Overview
TChannel is a networking framing protocol used for general RPC, supporting out-of-order responses at extremely high performance where intermediaries can make a forwarding decision quickly. It is easy to implement in multiple languages, especially JavaScript and Python.
## Design Goals
- Easy implementation in multiple languages
- High performance forwarding path where intermediaries can make forwarding
decisions quickly
- Request/response model with out-of-order responses so that slow requests don't
block subsequent faster requests at the head of the line
- Ability of large requests/responses to be broken into fragments and sent
progressively
- Optional checksums
- Ability to transport multiple protocols between endpoints (e.g., HTTP+JSON
and Thrift)## Components
- [tchannel-protocol](https://github.com/uber/tchannel/tree/master/docs/protocol.md) TChannel Protocol Documentation
- [tchannel-node](https://github.com/uber/tchannel-node) TChannel
peer library for Node.js
- [tchannel-python](https://github.com/uber/tchannel-python)
TChannel peer library for Python
- [tchannel-go](https://github.com/uber/tchannel-go)
TChannel peer library for Go
- [tchannel-java](https://github.com/uber/tchannel-java)
TChannel peer library for the JVM
- [tcurl](https://github.com/uber/tcurl) TChannel curl program, for making manual
one-off requests to TChannel servers
- [tcap](https://github.com/uber/tcap/) TChannel packet capture tool, for
eavesdropping and inspecting TChannel traffic[Thrift]: https://thrift.apache.org/
[node]: https://github.com/uber/tchannel-node
[python]: https://github.com/uber/tchannel-python
[go]: https://github.com/uber/tchannel-go
[java]: https://github.com/uber/tchannel-java
[RTD]: http://tchannel.readthedocs.org/en/latest/
[issues]: https://github.com/uber/hyperbahn/issues
[oss]: https://uber.github.io/## MIT Licensed