Service Bus'ı RabbitMQ ile tümleştirme

Bu kılavuzda RabbitMQ'den Service Bus'a nasıl ileti göndereceğinizi öğreneceğiz.

Bu özellikleri kullanabileceğimiz birkaç senaryo aşağıdadır:

  • Edge Kurulumları: RabbitMQ'ye ileti gönderdiğimiz bir uç kurulumumuz var, ancak daha fazla işlem için bu iletileri Azure Service Bus'a iletmek istiyoruz, böylece Azure Büyük Veri özelliklerinin çoğunu kullanabiliriz.
  • Hibrit Bulut: Şirketiniz, mesajlaşma ihtiyaçları için RabbitMQ kullanan bir üçüncü taraf satın aldı. Farklı bir buluttalar. Azure'a geçiş yaparken, RabbitMQ ile Azure Service Bus arasında köprü kurarak veri paylaşmaya başlayabilirsiniz.
  • Üçüncü Taraf Tümleştirmesi: Üçüncü taraf, RabbitMQ'yi aracı olarak kullanır ve verilerini bize göndermek ister, ancak kuruluşumuzun dışındadır. Onlara, iletilerini iletebilecekleri sınırlı sayıda Azure Service Bus kuyruğuna erişim sağlayan SAS Anahtarı sağlayabiliriz.

Liste devam eder, ancak RabbitMQ'yi Azure'a köprüleyerek bu kullanım örneklerinin çoğunu çözebiliriz.

İlk olarak buradan kaydolarak ücretsiz bir Azure hesabı oluşturmanız gerekir

Hesabınızda oturum açtıktan sonra Azure portalına gidin ve yeni bir Azure Service Bus ad alanı oluşturun. Ad alanları, kuyruklar ve konular gibi mesajlaşma bileşenlerimizin yaşayacağı kapsam kapsayıcılarıdır.

Yeni bir Azure Service Bus Ad Alanı ekleme

Azure portalında büyük artı düğmesine tıklayarak yeni bir kaynak ekleyin

Kaynak oluşturma

Ardından Tümleştirme'yi seçip Azure Service Bus'a tıklayarak bir mesajlaşma ad alanı oluşturun:

Azure Service bus'ı seçin

Ad alanı bilgilerini girmeniz istenir. Kullanmak istediğiniz Azure aboneliğini seçin. Kaynak grubunuz yoksa yeni bir grup oluşturabilirsiniz.

Ad alanı oluşturma

için Namespace namekullanınrabbitmq, ancak istediğiniz herhangi bir şey olabilir. Ardından konum olarak ayarlayın East US . Fiyat katmanı olarak seçin Basic .

Her şey yolunda gittiyse aşağıdaki onay ekranını görmeniz gerekir:

Ad alanı onayı oluşturma

Ardından Azure portalında yeni rabbitmq ad alanınızın burada listelendiğini görürsünüz. Kaynağa erişmek için kaynağa tıklayarak kuyruğa kuyruk ekleyebilirsiniz.

Yeni ad alanına sahip kaynak listesi

Azure Service Bus Kuyruğumuzu Oluşturma

Artık Azure Service Bus ad alanınıza sahip olduğunuza göre, yeni bir kuyruk ekleyebilmeniz için sol taraftaki düğmesinin altında Entitiesöğesine tıklayınQueues:

Kuyruk oluşturma

Kuyruğun from-rabbitmq adı, iletilerin nereden geldiğini hatırlatmak için kullanılacaktır. Diğer tüm seçenekleri varsayılan olarak bırakabilirsiniz, ancak bunları uygulamanızın gereksinimlerine uyacak şekilde değiştirebilirsiniz.

RabbitMQ Kürek Eklentisini Etkinleştirme

RabbitMQ'den Azure Service Bus'a ileti göndermek için RabbitMQ ile birlikte gelen Kürek Eklentisini kullanacağız. Eklentiyi ve görsel arabirimini şu komutla etkinleştirebilirsiniz:

rabbitmq-plugins enable rabbitmq_shovel_management

Bu komutu kök olarak çalıştırmanız gerekebilir.

Şimdi RabbitMQ'yi Azure'a bağlamak için gereken kimlik bilgilerini alma zamanı.

RabbitMQ'yi Azure Service Bus'a bağlama

RabbitMQ'nin ileti yayımlayabilmesi için kuyruğunuz için bir Paylaşılan Erişim İlkesi (SAS) oluşturmanız gerekir. SAS İlkesi, kaynağınızla hangi dış tarafın yapmasına izin verileceğini belirtmenizi sağlar. Fikir, RabbitMQ'nin iletileri gönderebilmesi, ancak kuyruğu dinlememesi veya yönetmemesidir.

SAS İlkesi Ekle

Send Kutuyu işaretleyin ve ardından SAS İlkemizi uygulamak için tıklayınCreate.

İlke oluşturulduktan sonra Birincil Bağlantı Dizesini görmek için ilkeye tıklayın. RabbitMQ'nin Azure Service Bus ile konuşmasına izin vermek için kullanacağız:

SAS İlkesi alma

Bu bağlantı dizesi kullanabilmeniz için bunu RabbitMQ'nin AMQP bağlantı biçimine dönüştürmeniz gerekir. Bu nedenle bağlantı dizesi dönüştürücü aracına gidin ve bağlantı dizesi forma yapıştırın, dönüştür'e tıklayın. RabbitMQ'nun hazır olduğu bir bağlantı dizesi alırsınız. (Bu web sitesi, verilerinizin kablo üzerinden gönderilmemesi için tarayıcınızda her şeyi yerel olarak çalıştırır). Kaynak koduna GitHub'dan erişebilirsiniz.

bağlantı dizesi Dönüştür

Şimdi tarayıcılarımızda http://localhost:15672/#/dynamic-shovels RabbitMQ yönetim eklentisini Admin -> Shovel Managementaçın ve adresine gidin. Burada, bir RabbitMQ kuyruğundan Azure Service Bus kuyruğunuza ileti gönderme işlemini üstlenecek yeni kürekinizi ekleyebilirsiniz.

RabbitMQ Kürek Ekle

Burada, Kürek'inizi azure arayın ve kaynak protokol olarak seçin AMQP 0.9.1 . Ekran görüntüsünde, bizi yerel bir RabbitMQ sunucusuna bağlayan varsayılan URI olan öğesine sahibiz amqp://. Bunu geçerli dağıtımınıza uyarlamayı unutmayın.

Öğelerin kuyruk tarafında, kuyruğunuzun adı olarak kullanabilirsiniz azure . Bu kuyruk yoksa RabbitMQ sizin için oluşturur. Zaten var olan bir kuyruğun adını da seçebilirsiniz. Diğer seçenekleri varsayılan olarak bırakabilirsiniz.

destination Ardından, bir şeyin yanında protokol olarak seçinAMQP 1.0. URI alanına, Azure bağlantı dizesi RabbitMQ biçimine dönüştürdüyseniz, önceki adımda aldığınız bağlantı dizesini girin. Şu şekilde görünmelidir:

amqps://rabbitmq-shovel:StringOfRandomChars@rabbitmq.servicebus.windows.net:5671/?sasl=plain

Address Alanına Azure Service Bus Kuyruğunuzun adını gireceğiz. Bu örnekte adı olarak adlandırılmıştırfrom-rabbitmq. öğesine tıklayın Add Shovelve kurulumunuz iletileri almaya başlamaya hazır olmalıdır.

RabbitMQ'den Azure Service Bus'a İleti Yayımlama

RabbitMQ Management arabiriminde adresine gidebilir Queues, kuyruğu seçebilir azure ve paneli arayabiliriz Publish message . İletileri doğrudan kuyruğunuzda yayımlamanıza olanak sağlayan bir form görüntülenir. Örneğimiz için yalnızca öğesini ekleyeceğiz first message ve tuşuna Payload basacağız Publish Message:

İlk iletiyi yayımla

Azure'a dönün ve kuyruğunuzu inceleyin. Sol panele tıklayın Service Bus Explorer ve ardından Göz at düğmesine tıklayın. Her şey yolunda giderse kuyruğunuzda artık bir ileti olduğunu görürsünüz. Yaşasın, tebrikler!

Azure Service Bus Kuyruğu

Ama bu mesajın RabbitMQ'dan gönderdiğiniz mesaj olduğundan emin olalım. Sekmeyi Peek seçin ve kuyruğunuzdaki Peek son iletileri almak için düğmeye tıklayın. İçeriğini incelemek için iletiye tıklayın. Aşağıdaki first message görüntüye benzer bir şey görmeniz gerekir.

Kuyruk özeti

Özetleyelim

Tebrikler! Çok şey başardın! RabbitMQ'den Azure Service Bus'a iletilerinizi almayı başardınız, şimdi adımları özetleyelim:

  1. Azure Service Bus Ad Alanı Oluşturma
  2. Ad alanına kuyruk ekleme
  3. Kuyruğunuza SAS İlkesi ekleme
  4. Kuyruk bağlantı dizesi alma
  5. RabbitMQ kürek eklentisini ve yönetim arabirimini etkinleştirin
  6. Azure Service Bus bağlantı dizesi RabbitMQ'nin AMQP biçimine dönüştürme
  7. RabbitMQ'ye yeni bir Kürek ekleyin ve Azure Service Bus'a bağlayın
  8. İletileri yayımlama

Önceki adımları izleyerek kuruluşunuzun Azure dışındaki alanlarını tümleştirdiniz. Kürek eklentisi RabbitMQ'den Azure Service Bus'a ileti göndermenize izin verdi. Artık güvenilen üçüncü tarafların uygulamalarını Azure dağıtımınıza bağlamasına izin verebildiğiniz için bu çok büyük avantajlara sahiptir.

Sonunda, mesajlaşma bağlantıları etkinleştirmekle ilgili ve bu teknikle yeni bir tane açtık.

Sonraki adımlar