Rabbitmq'yi kullanmaya başlama

RabbitMQ’yu Ubuntu Sunucusuna Kurma

  • RabbitMQ’yu gerçekten yüklemeden önce kısa bir not: RabbitMQ ile SSL kullanıyorsanız, Ubuntu 14.04’ün Erlang paketlerinde sorunlar vardır, bu nedenle Ubuntu paket sağlayıcılarının sağladığından daha yeni bir sürüm yüklemeniz gerekir, bu nedenle ikili dosyaları https’de kullanın: //www.erlang-solutions.com/resources/download.html, Erlang 17.0 veya üstü için.*

Paket depoları listesine RabbitMQ ekleyin:

echo 'deb http://www.rabbitmq.com/debian/ testing main' |
    sudo tee /etc/apt/sources.list.d/rabbitmq.list

Ardından imzalama anahtarını ekleyin:

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc |
    sudo apt-key add -

Ardından güncelleyin ve yükleyin:

sudo apt-get update && sudo apt-get install rabbitmq-server

RabbitMQ ‘Merhaba Dünya’

Bu kod, bir kuyruğa iki mesaj gönderen bir üretici ve bu kuyruktan tüm mesajları alan bir tüketici yaratır.

prodüktör.py kodu (pika 0.10.0 Python istemcisini kullanarak):

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(
        host='localhost'))
channel = connection.channel()

channel.queue_declare(queue='queueName')

channel.basic_publish(exchange='',
                      routing_key='queueName',
                      body='Hello')
channel.basic_publish(exchange='',
                      routing_key='queueName',
                      body='World!')
print("Message sent")
connection.close()

Tüketici.py için kod:

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(
        host='localhost'))
channel = connection.channel()

channel.queue_declare(queue='queueName')

def callback(ch, method, properties, body):
    print("Received message: %r" % body)

channel.basic_consume(callback,
                      queue='queueName',
                      no_ack=True)

print('Waiting for messages...')
channel.start_consuming()

Çıktı:

$ python receive.py
Waiting for messages...
Received message: 'Hello'
Received message: 'World!'

Diğer örnekler, diğer diller için RabbitMQ eğitiminde sayfa mevcuttur.