/thrift-demo

Primary LanguageJavaScriptMIT LicenseMIT

thrift-demo

Ideas from Airbnb building services part 1 and part 2.

Currently, the repo supports ruby and node servers/clients. The demo shows each client talking to all servers in a consistent way.

TODO

Client

  • ❎ test coverage
  • ❎ test suite helpers
  • ❎ standardize validation of args
  • ❎ auth
  • ❎ timeouts
  • ❎ retries
  • ❎ errors via Sentry
  • ❎ metrics via DataDog
  • ❎ logging via Sumo
  • ❎ request context / distributed logging

Server

  • ❎ test coverage
  • ❎ test suite helpers
  • ❎ standardize validation of args
  • ❎ auth
  • ❎ standardize errors
  • ❎ errors via Sentry
  • ❎ metrics via DataDog
  • ❎ logging via Sumo
  • ❎ request context / distributed logging

Main Files

Regenerate Code

Edit ./schema/calculator.thrift then

./bin/generate-types.sh

Start Servers

cd ruby
bundle
ruby server.rb
cd js
yarn
node server.js

Test Clients

cd ruby
ruby client.rb
cd js
node client.js