All Projects → iyidan → http-proxy-amqp

iyidan / http-proxy-amqp

Licence: MIT license
an amqp connection pool implementation

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to http-proxy-amqp

nabbitmq
Node.js library for interacting with RabbitMQ based on RxJS streams
Stars: ✭ 20 (+17.65%)
Mutual labels:  rabbitmq, amqp
docker-rabbitmq-node
🐳 A playground for Docker with RabbitMQ and Node.
Stars: ✭ 32 (+88.24%)
Mutual labels:  rabbitmq, amqp
Enqueue Bundle
[READ-ONLY] Message queue bundle for Symfony. RabbitMQ, Amazon SQS, Redis, Service bus, Async events, RPC over MQ and a lot more
Stars: ✭ 233 (+1270.59%)
Mutual labels:  rabbitmq, amqp
Enqueue Dev
Message Queue, Job Queue, Broadcasting, WebSockets packages for PHP, Symfony, Laravel, Magento. DEVELOPMENT REPOSITORY - provided by Forma-Pro
Stars: ✭ 1,977 (+11529.41%)
Mutual labels:  rabbitmq, amqp
nest-rabbit-tasks
nest-rabbit-worker is a TaskQueue based upon RabbitMQ for NestJS
Stars: ✭ 29 (+70.59%)
Mutual labels:  rabbitmq, amqp
Cony
Simple AMQP wrapper around github.com/streadway/amqp
Stars: ✭ 158 (+829.41%)
Mutual labels:  rabbitmq, amqp
roger-rabbit
A module that makes the process of consuming and publishing messages in message brokers easier
Stars: ✭ 12 (-29.41%)
Mutual labels:  rabbitmq, amqp
Spring Boot Amqp Messaging
This is a simple spring-boot app that shows how to configure easily RabbitMQ with AMQP for producing and consuming messages in default format and JSON.
Stars: ✭ 142 (+735.29%)
Mutual labels:  rabbitmq, amqp
postman
Reverse proxy for async microservice communication
Stars: ✭ 30 (+76.47%)
Mutual labels:  rabbitmq, amqp
nestjs-rmq
A custom library for NestJS microservice. It allows you to use RabbitMQ or AMQP.
Stars: ✭ 182 (+970.59%)
Mutual labels:  rabbitmq, amqp
watermill-amqp
AMQP Pub/Sub for the Watermill project.
Stars: ✭ 27 (+58.82%)
Mutual labels:  rabbitmq, amqp
cottontail
Capture all RabbitMQ messages being sent through a broker.
Stars: ✭ 23 (+35.29%)
Mutual labels:  rabbitmq, amqp
Garagemq
AMQP message broker implemented with golang
Stars: ✭ 153 (+800%)
Mutual labels:  rabbitmq, amqp
Rabtap
RabbitMQ wire tap and swiss army knife
Stars: ✭ 171 (+905.88%)
Mutual labels:  rabbitmq, amqp
Gen rmq
Elixir AMQP consumer and publisher behaviours
Stars: ✭ 146 (+758.82%)
Mutual labels:  rabbitmq, amqp
rejected
rejected is a consumer framework for RabbitMQ
Stars: ✭ 56 (+229.41%)
Mutual labels:  rabbitmq, amqp
Amqpstorm
Thread-safe Python RabbitMQ Client & Management library
Stars: ✭ 130 (+664.71%)
Mutual labels:  rabbitmq, amqp
Rabbitmq Dump Queue
Dump messages from a RabbitMQ queue to files, without affecting the queue.
Stars: ✭ 139 (+717.65%)
Mutual labels:  rabbitmq, amqp
tomodachi
💻 Microservice library / framework using Python's asyncio event loop with full support for HTTP + WebSockets, AWS SNS+SQS, RabbitMQ / AMQP, middleware, etc. Extendable for GraphQL, protobuf, gRPC, among other technologies.
Stars: ✭ 170 (+900%)
Mutual labels:  rabbitmq, amqp
go-mq
Declare AMQP entities like queues, producers, and consumers in a declarative way. Can be used to work with RabbitMQ.
Stars: ✭ 76 (+347.06%)
Mutual labels:  rabbitmq, amqp

http-proxy-amqp

Go Report

[Intro]

This is an amqp connection pool implementation.

It provides HTTP APIs to access MQ (eg, rabbitmq) And maintains a long connection to MQ to improve performance.

Alt text

[Install]

go version: go1.8.1+

$ go get github.com/iyidan/http-proxy-amqp

$ http-proxy-amqp -h
Usage of http-proxy-amqp:
  -config string
    	The config file
  -debug
    	if true, will print pool stats per requests
  -dsn string
    	The amqp address
  -httpListenAddr string
    	http api listen address
  -maxChannelsPerConnection int
    	The max channels per connection
  -maxConnections int
    	The max connections for this process
  -maxIdleChannels int
    	The max idle channels for this process
  -minConnections int
    	The min connections keeped for this process

[Start]

It is recommended to use supervisord to start

./http-proxy-amqp -config=path_to_config_file.json

path_to_config_file.json

{
    // DSN is the amqp address
    // The format is amqp://user:password@host:port/vhost
    // such as amqp://iyidan:[email protected]:5672//aaa (the created vhost is /aaa not aaa)
    // Notice: user/password must be urlencoded if necessary
    // Notice: vhost maybe have a leading slash
    "dsn":"",

    "maxChannelsPerConnection":20000,
    "maxIdleChannels":500,
    "maxConnections":2000,
    "minConnections":5,

    // http api address
    "httpListenAddr":"127.0.0.1:35673"
}

[APIs]

  • POST /confirm_send?exchange=$exchange&routingKey=$routingKey

    send a persistent message with confirm mode

    The Response is OK if success

[Example]

curl -XPOST 'http://127.0.0.1:35673/confirm_send?exchange={xx}&routingKey={xx}' -d 'msg'
OK

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].