Skip to content

Latest commit

 

History

History
41 lines (26 loc) · 1.72 KB

File metadata and controls

41 lines (26 loc) · 1.72 KB

PUṢŪ(PubSub as Service)

Puṣū is a distributed PubSub FoundationDB layer mimicking the Redis PubSub but adding a tenant isolation leveraged by the Biscuit authentication/authorisation token.

Project overview

Components

The Puṣū project is divided in multiple crates, each one with their own purpose:

Relations between components

Each puṣū-server of a same cluster shared the same FoundationDB as storage endpoint.

puṣū-server are fully stateless components, they only hold a transient client session which can be relaunched in an another puṣū-server instance. This architecture allows a horizontal-scaling preventing any traffic bursts.

puṣū-server instances are meant to be used behind a load-balancer.

puṣū-client on its own, can be either some embedded library in another program, or the puṣū-client CLI.

puṣū-client connects to any puṣū-server and starts the communication using the puṣū-protocol.

Features

Puṣū is a distributed multi-tenant pub-sub client-server system. It means that you can have multiple times the same channel name but