Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jonathanstowe/raku-rmq-examples
Raku versions of the Rabbit MQ tutorial examples
https://github.com/jonathanstowe/raku-rmq-examples
amqp0-9-1 messaging rabbitmq raku
Last synced: 23 days ago
JSON representation
Raku versions of the Rabbit MQ tutorial examples
- Host: GitHub
- URL: https://github.com/jonathanstowe/raku-rmq-examples
- Owner: jonathanstowe
- Created: 2016-01-20T18:16:20.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2021-02-22T08:22:15.000Z (almost 4 years ago)
- Last Synced: 2023-04-22T17:07:00.231Z (over 1 year ago)
- Topics: amqp0-9-1, messaging, rabbitmq, raku
- Language: Raku
- Homepage:
- Size: 16.6 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Raku RabbitMQ Tutorial Examples
These are Raku versions of the [Rabbit MQ Tutorial](http://www.rabbitmq.com/getstarted.html) examples.
They cover the basic patterns for creating messaging applications with Raku and Rabbit MQ.You will need to have [Rabbit MQ installed](http://www.rabbitmq.com/download.html) as well as Raku and
the client library [Net::AMQP](https://github.com/retupmoca/P6-Net-AMQP).Assuming you have a working Rakudo installation you can install Net::AMQP directly with:
zef install Net::AMQP
You will need at least version v0.1.15 for these examples to work properly.
In all of the examples it is assumed that the RabbitMQ server is running on the local machine with the default
configuration, if this not the case then you can pass the differing items to the ```Net::AMQP``` constructor:```
my $n = Net::AMQP.new(host => 'localhost' port => 5672, login => 'guest', password => 'guest', vhost => '/');
```
(The above shows the defaults but you should supply the appropriate values for your configuration.)
## ["Hello, World"](tutorial-001)
This is the simplest example that does something, a client that sends a simple
message to the broker and a single single subscriber that prints what it receives.![Hello Image](http://www.rabbitmq.com/img/tutorials/python-one.png)
## [Work Queues](tutorial-002)
An example demonstrating how tasks can be distributed among a pool of workers.
![Work Image](http://www.rabbitmq.com/img/tutorials/python-two.png)
## [Publish/Subscribe](tutorial-003)
Demonstration of how a single message can be published to multiple consumers at once.
![Publish Image](http://www.rabbitmq.com/img/tutorials/python-three.png)
## [Routing](tutorial-004)
Selectively receiving message based on a publisher supplied key.
![Routing IMage](http://www.rabbitmq.com/img/tutorials/python-four.png)
## [Topics](tutorial-005)
Selectively receiving messages based on pattern matching.
![Topic Image](http://www.rabbitmq.com/img/tutorials/python-five.png)
## [RPC](tutorial-006)
Remote procedure calls implemented on a message queue.
![RPC Image](http://www.rabbitmq.com/img/tutorials/python-six.png)