Git Product home page Git Product logo

tchannel's Introduction

TChannel Build Status

Network multiplexing and framing protocol for RPC

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 TChannel Protocol Documentation
  • tchannel-node TChannel peer library for Node.js
  • tchannel-python TChannel peer library for Python
  • tchannel-go TChannel peer library for Go
  • tchannel-java TChannel peer library for the JVM
  • tcurl TChannel curl program, for making manual one-off requests to TChannel servers
  • tcap TChannel packet capture tool, for eavesdropping and inspecting TChannel traffic

MIT Licensed

tchannel's People

Contributors

raynos avatar prashantv avatar jcorbin avatar shannili avatar jc-fireball avatar kriskowal avatar blampe avatar abhinav avatar ascandella avatar rf avatar mmihic avatar jwolski avatar hellograyson avatar mranney avatar jwolski2 avatar pengzhai avatar davewhat avatar mrbrowning avatar lupie avatar willsalz avatar ynachiket avatar willyham avatar dacamp avatar vipulaneja avatar badiib avatar aravindvs avatar jsu1212 avatar achals avatar charliezhang avatar feliperoberto avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.