All Projects → odolbeau → Rabbit Mq Admin Toolkit

odolbeau / Rabbit Mq Admin Toolkit

Licence: mit
Manage a RabbitMQ cluster easily.

Projects that are alternatives of or similar to Rabbit Mq Admin Toolkit

Hexagon
Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform.
Stars: ✭ 336 (+314.81%)
Mutual labels:  toolkit, rabbitmq
core
Microservice abstract class
Stars: ✭ 37 (-54.32%)
Mutual labels:  rabbitmq, toolkit
Hippo
💨A well crafted go packages that help you build robust, reliable, maintainable microservices.
Stars: ✭ 134 (+65.43%)
Mutual labels:  toolkit, rabbitmq
Rabbitmq Management
RabbitMQ Management UI and HTTP API
Stars: ✭ 356 (+339.51%)
Mutual labels:  management, rabbitmq
Mainwp Child
The MainWP Child plugin is installed on the WordPress sites that you want to control from the MainWP Dashboard.
Stars: ✭ 74 (-8.64%)
Mutual labels:  management
Kirki
Extending the customizer
Stars: ✭ 1,175 (+1350.62%)
Mutual labels:  toolkit
Humusamqp
PHP 7 AMQP library
Stars: ✭ 70 (-13.58%)
Mutual labels:  rabbitmq
Common Env
🔑 The only configuration library you will ever need
Stars: ✭ 67 (-17.28%)
Mutual labels:  management
Krypton Net 5.470
A update to Component factory's krypton toolkit to support the .NET 4.7 framework.
Stars: ✭ 79 (-2.47%)
Mutual labels:  toolkit
Foxylink
An easy way to handle integration tasks in a reliable way and run them on 1C:Enterprise server
Stars: ✭ 77 (-4.94%)
Mutual labels:  rabbitmq
The Engineering Managers Booklist
Books for people who are or aspire to manage/lead team(s) of software engineers
Stars: ✭ 1,180 (+1356.79%)
Mutual labels:  management
Shuttle.esb
A highly extensible service bus implementation.
Stars: ✭ 71 (-12.35%)
Mutual labels:  rabbitmq
Leyou
传智黑马乐优商城项目后台管理系统
Stars: ✭ 75 (-7.41%)
Mutual labels:  rabbitmq
Rabbitmq http api client
RabbitMQ HTTP API client for Ruby
Stars: ✭ 70 (-13.58%)
Mutual labels:  rabbitmq
Arcgis Appstudio Samples
Collection of samples available in AppStudio for ArcGIS desktop to learn and help build your next app.
Stars: ✭ 78 (-3.7%)
Mutual labels:  toolkit
Mmctl
A remote CLI tool for Mattermost
Stars: ✭ 70 (-13.58%)
Mutual labels:  tooling
Docker Cluster With Celery And Rabbitmq
Build Docker clusters with Celery and RabbitMQ in 10 minutes
Stars: ✭ 72 (-11.11%)
Mutual labels:  rabbitmq
Rabbitroutine
Lightweight library that handles RabbitMQ auto-reconnect and publishing retry routine for you.
Stars: ✭ 77 (-4.94%)
Mutual labels:  rabbitmq
Laravel Queue Rabbitmq
RabbitMQ driver for Laravel Queue. Supports Laravel Horizon.
Stars: ✭ 1,175 (+1350.62%)
Mutual labels:  rabbitmq
Transporter
Sync data between persistence engines, like ETL only not stodgy
Stars: ✭ 1,175 (+1350.62%)
Mutual labels:  rabbitmq

RabbitMQ Admin Toolkit

Build Status Latest Stable Version Latest Unstable Version

Installation

The recommended way to install RabbitMQ Tools is through Composer. Require the odolbeau/rabbit-mq-admin-toolkit package:

$ composer require odolbeau/rabbit-mq-admin-toolkit

Usage

You can create / update vhosts with the following command:

vendor/bin/rabbit vhost:mapping:create conf/vhost/events.yml

You can change all connection informations with options. Launch ./console vhost:create -h to have more informations.

You can launch the vhost creation even if the vhost already exist. Nothing will be deleted (and it will not impact workers).

Configuration

You can use the followings parameters for configuring an exchange:

  • with dl: if set to true, all queues in the current vhost will be automatically configured to have a dl (with name: {queueName}_dl). Of course, the exchange dl will be created.
  • with_unroutable: is set to true, an unroutable exchange will be created and all others ones will be configured to move unroutable messages to this one. The unroutable exchange is a fanout exchange and a unroutable queue is bind on it.

Example

my_vhost_name:

    permissions:
        my_user:
            configure: amq\.gen.*
            read: .*
            write: .*
            
    parameters:
        with_dl: true # If true, all queues will have a dl and the corresponding mapping with the exchange "dl"
        with_unroutable: true # If true, all exchange will be declared with an unroutable config

    exchanges:
        my_exchange:
            type: direct
            durable: true
            with_unroutable: true #if true, unroutable exchange will be created (if not already set as global parameter)

        my_exchange_headers:
            type: headers
            durable: true

    queues:
        my_queue:
            durable: true
            delay: 5000 #create delayed message queue (value is in milliseconds)
            bindings:
                - 
                    exchange: my_exchange
                    routing_key: my_routing_key
                - 
                    exchange: my_exchange
                    routing_key: other_routing_key
                    
        another_queue:
            durable: true
            with_dl: false
            retries: [25, 125, 625]
            bindings:
                - 
                    exchange: my_exchange_headers
                    x-match: all
                    matches: {header_name: value, other_header_name: some_value}

License

This project is released under the MIT License. See the bundled LICENSE file for details.

Changelog

BC breaks between 1.x and 2.0.x

  • Short binding syntax is no more supported.
  # old syntax
  queues:
    my_queue:
        bindings:
            - my_exchange:my_routing_key

must be replaced by

  # new syntax
  queues:
    my_queue:
        bindings:
            - 
                exchange: my_exchange
                routing_key: my_routing_key
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].