Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kffl/bunny-rest-proxy

HTTP message broker built on top of RabbitMQ :rabbit::incoming_envelope:
https://github.com/kffl/bunny-rest-proxy

amqp-proxy http-messages message-broker messaging rabbitmq rest-proxy

Last synced: 24 days ago
JSON representation

HTTP message broker built on top of RabbitMQ :rabbit::incoming_envelope:

Awesome Lists containing this project

README

        


Bunny REST Proxy logo

[![CI Workflow](https://github.com/kffl/bunny-rest-proxy/actions/workflows/ci.yml/badge.svg)](https://github.com/kffl/bunny-rest-proxy/actions/workflows/ci.yml) [![Docker Pulls](https://img.shields.io/docker/pulls/kffl/bunny-rest-proxy)](https://hub.docker.com/r/kffl/bunny-rest-proxy) [![Docker Image Version](https://img.shields.io/docker/v/kffl/bunny-rest-proxy)](https://hub.docker.com/r/kffl/bunny-rest-proxy) [![Known Vulnerabilities](https://snyk.io/test/github/kffl/bunny-rest-proxy/badge.svg)](https://snyk.io/test/github/kffl/bunny-rest-proxy)

# Bunny REST Proxy :rabbit: :incoming_envelope:

[Documentation](https://kffl.github.io/bunny-rest-proxy/), [Quickstart Guide](https://kffl.github.io/bunny-rest-proxy/getting-started/), [Docker Hub](https://hub.docker.com/r/kffl/bunny-rest-proxy)


Bunny REST Proxy logo

Bunny REST Proxy is a HTTP message broker built on top of RabbitMQ. It allows services to easily publish messages into RabbitMQ queues over HTTP as well as to consume messages utilizing both pull (HTTP GET) and push (HTTP POST to a subscriber) delivery modes.

## Motivation

While RabbitMQ is commonly used as a means of asynchronous communication between microservices, sometimes you need to publish messages or consume messages using a much simpler REST API without compromising on message delivery guarantees.

## Features

- Publishing messages into RabbitMQ queues over REST API implementing **reliable message delivery** using channels with publisher confirms
- Support for binary and JSON messages (with server-side schema validation)
- Pushing messages to defined subscribers over HTTP ensuring **at-least-once** delivery semantics with configurable backoff strategies and dead letter policies
- Consuming messages from the queue HTTP GET requests
- Straight-forward configuration based on a single YAML file