-
Notifications
You must be signed in to change notification settings - Fork 4
Experimental bridge between RabbitMQ and Redis implemented as a RabbitMQ plugin
License
Unknown, Unknown licenses found
Licenses found
Unknown
LICENSE
Unknown
LICENSE-MPL
mabrek/rabbitmq-redis
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Experimental bridge between RabbitMQ and Redis implemented as a RabbitMQ plugin. Introduction ------------ This plugin moves messages between RabbitMQ and Redis Pub/Sub (http://redis.io/topics/pubsub) using erldis. It was inspired by RabbitMQ-shovel and shares the same idea with the exception that it connects Redis pub/sub channels to RabbitMQ queues or exchanges. For building see instructions at: http://www.rabbitmq.com/plugin-development.html Configuration ------------- The plugin is configured using rabbitmq.config file that has a structure like this: [{rabbit, [rabbit-settings]}, {rabbit_redis, [rabbitmq-redis-plugin-settings]} ]. Example of rabbitmq.config with rabbitmq-redis plugin: [{rabbit_redis, [{bridges, [ % subscribes to redis channel "foo" and publishes all received messages % to rabbitmq exchange "quux" with routing_key equals to redis channel ("foo") [{name, subsribe_bridge}, {type, subscribe}, {redis, [{host, "localhost"}, {port, 6379}, {channels, [<<"foo">>]}]}, {rabbit, [{declarations, [{'exchange.declare', [{exchange, <<"quux">>}, auto_delete ]}]}, {publish_fields, [{exchange, <<"quux">>}]}]}], % consumes messages from rabbitmq queue "foo" and publishes them % to redis channel with name equals to message routing_key [{name, publish_bridge}, {type, publish}, {redis, [{host, "localhost"}, {port, 6379}]}, {rabbit, [{declarations, [{'queue.declare', [{queue, <<"foo">>}, auto_delete]}]}, {bindings, [{'queue.bind', [{queue, <<"foo">>}, {exchange, <<"quux">>}, {routing_key, <<"foo">>}]}]}, {queue, <<"foo">>}]}] ]}]}]. Note that this configuration will create short-circuit for messages in queue "foo" making them bounce between rabbit and redis infinitely. TODO ---- - handle redis connection failures - handle rabbit channel flow events - support psubscribe redis command - consider merging with rabbitmq-shovel
About
Experimental bridge between RabbitMQ and Redis implemented as a RabbitMQ plugin
Resources
License
Unknown, Unknown licenses found
Licenses found
Unknown
LICENSE
Unknown
LICENSE-MPL
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published