Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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:
- Host: GitHub
- URL: https://github.com/kffl/bunny-rest-proxy
- Owner: kffl
- License: apache-2.0
- Created: 2021-12-28T13:19:51.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-12-25T21:04:13.000Z (11 months ago)
- Last Synced: 2023-12-25T21:43:25.672Z (11 months ago)
- Topics: amqp-proxy, http-messages, message-broker, messaging, rabbitmq, rest-proxy
- Language: TypeScript
- Homepage: https://www.bunnyrp.com
- Size: 1.37 MB
- Stars: 40
- Watchers: 2
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![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 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