Coder Social home page Coder Social logo

tawny's Introduction

๐Ÿฆ‰ Tawny ๐Ÿฆ‰

Gitter chat Reliability Rating Quality Gate Status Security Rating

๐Ÿš€ Tawny is an extremely low latency, public facing pubsub. It uses protobuf for end-to-end communication (from browser to server and server to browser) using grpc-web protocol. It allows you to build an awesome user experience with realtime features.

Core features

Tawny was designed with performance/scaling/reliability in mind. It provides multiple keys feature:

  • Publish/Subscribe, publish a message from anywhere and get your users notified instantly.
  • Presence, know who is connected or not in a channel, perfect for building presense feature like google docs.
  • State, you can share a state with your presence, awesome for "is typing" feature.
  • Binary data, thanks to profobuf/grpc, your payload doesn't need to be json. It can be every binary file
  • Private channel, you can control who has access to a channel.
  • Complete admin library/cli, manage your Tawny server using a powerful admin api.
  • Monitoring, monitor your server easily with our promotheus (and more to come) metrics exporter.

HTTP2/Protobuff advantage over HTTP1/json

  • Network bandwidth Profobuf allows the app to use less bandwidth as demonstrated there.auth0 blog
  • Usage of http2 Http2 is the new version of the famous http protocol, faster, more reliable, allows server push and much more. cloudfare blog
  • Binary data You can send raw binary data with tawny using protobuff.

Getting started

Visit the documentation

Feature roadmap

This is our feature roadmap. If you want to ask for a new feature, please open an issue

v0.1 Alpha => On going
  • Push service (Public facing publish/subscrib)
  • Presence service (Presence on channel/topic with state)
  • Admin service
  • Typescript web npm package
  • Typescript server npm package
  • Golang module
  • Automatic TLS termination for https
  • GRPC secure mode
  • Docker image
  • Protected topic (message can only be pushed from authenticated admin request)
Backlog
  • Secure channel
  • Cluster mode
  • Admin ui
  • Clients (java/swift/php/c#/python)

Performance

With 1 core / 1gb of ram on Digital ocean, Tawny is able to process up to 50k messages seconds within < 5 ms latency.

Community

Join us on gitter

Show your support

Give a โญ๏ธ if you support the project!


_This README was generated with โค๏ธ by [readme-md-generator]

tawny's People

Contributors

nicolasgere avatar tdeboissiere avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.