Skip to content
Gaurav Ashok edited this page May 14, 2024 · 9 revisions

Varadhi

Varadhi is a message bus implementation with a REST interface, supporting both P2P (point-to-point) and Publish-Subscribe messaging models.

The idea behind Varadhi, or RESTBus, is to take your HTTP API stack and automatically transform it into service bus-driven, queued, message-oriented endpoints. This means that the communication protocol with Varadhi will utilize HTTP 1.1/2 or even gRPC. Senders are required to include additional headers specifying the target URL and the Method to be used. Varadhi will use these headers to deliver messages to the receiver.

Why Varadhi

Varadhi provides a standard abstraction over the messaging stack which is easy to integrate with.

A correct integration with a message stack is not easy when each stack has its own conventions, nuances, and libraries. Developers also end up facing common and recurring patterns of failure management, as well as the challenge of maintaining message ordering. Varadhi tries to solve such common patterns centrally.

Polyglot

  • Integration points are flexible. Supports HTTP 1.1/2, gRPC.
  • Various messaging stacks can be supported. By default, we are adding Apache Pulsar & Apache Kafka support.

Solves complex patterns centrally

  • Solves the hard problem of scalability & consumer management. Throughput is partition count independent.
  • Manages correct message ordering in the face of failures. The destination apps do not have to manage states just to keep ordering.
  • Standardized & extensive monitoring and telemetry.

Use cases

Features

Please refer to Roadmap.

Architecture

Contributing

Refer to contribution guidelines.