What is ReJot
ReJot is a database-to-database synchronization engine designed for teams operating in distributed architectures. It lets you decouple service communication by allowing data to flow asynchronously between services, using your database’s changelog/WAL as the queue. ReJot’s asynchronous model improves reliability and reduces latency compared to synchronous inter-service communication.
With data contracts expressed in code, developers retain full control over what data is shared and how it is shared. Define what to publish and consume using your database’s query language, just like defining tables or writing migrations. ReJot fits naturally into your development workflow.
How does it work?
- Data dependencies in ReJot are modeled through Data Contracts known as Public Schemas and Consumer Schemas. These contracts are defined by developers in code.
- Public Schemas define how internal datasets are exposed, allowing teams to independently evolve their internal data models while maintaining the contract with consumers.
- Consumers at the same time can ingest these data sources by setting up a Consumer Schema.
- ReJot connects to the publishing data store’s write-ahead-log and pushes changes to Public schemas to the data stores on the consuming side.
- An intermediate event store is used as durable storage to store these updates.
How to get started
If you’re curious to learn how ReJot works, you cab quickly try it out in your own codebase by walking through our Quickstart guide.
If you would rather see a concrete example of how ReJot integrates into a repository check out our Example Repositories.