Megosztás a következőn keresztül:


A Service Bus integrálása a RabbitMQ-val

Ebben az útmutatóban megtanuljuk, hogyan küldhet üzeneteket a RabbitMQ-ból a Service Busba.

Íme néhány forgatókönyv, amelyben kihasználhatjuk ezeket a képességeket:

  • Peremhálózati beállítások: Van egy peremhálózati beállításunk, ahová üzeneteket küldünk a RabbitMQ-nak, de ezeket az üzeneteket tovább szeretnénk továbbítani az Azure Service Busba további feldolgozás céljából, így számos Azure Big Data-funkciót használhatunk.
  • Hibrid felhő: A vállalat most szerzett be egy harmadik felet, amely a RabbitMQ-t használja az üzenetkezelési igényeikhez. Egy másik felhőben vannak. Amíg áttérnek az Azure-ra, már megkezdheti az adatok megosztását a RabbitMQ és az Azure Service Bus közötti áthidalással.
  • Külső integráció: Egy harmadik fél a RabbitMQ-t használja közvetítőként, és el szeretné küldeni nekünk az adatait, de a szervezeten kívül vannak. Sas-kulcsot biztosítunk nekik, amely hozzáférést biztosít számukra az Azure Service Bus-üzenetsorok korlátozott készletéhez, ahová továbbíthatják az üzeneteiket.

A lista folytatódik, de a legtöbb ilyen használati esetet meg tudjuk oldani a RabbitMQ Azure-ba való áthidalásával.

Először létre kell hoznia egy ingyenes Azure-fiókot, ha itt regisztrál

Miután bejelentkezett a fiókjába, lépjen az Azure Portalra, és hozzon létre egy új Azure Service Bus-névteret. A névterek azok a hatókör-tárolók, amelyekben az üzenetkezelési összetevők élnek, például az üzenetsorok és a témakörök.

Új Azure Service Bus-Namespace hozzáadása

Az Azure Portalon kattintson a nagy plusz gombra egy új erőforrás hozzáadásához

Erőforrás létrehozása

Ezután válassza az Integráció lehetőséget, majd az Azure Service Busra kattintva hozzon létre egy üzenetkezelési névteret:

Az Azure Service Bus kiválasztása

A rendszer kérni fogja, hogy adja meg a névtér adatait. Válassza ki a használni kívánt Azure-előfizetést. Ha nincs erőforráscsoportja, létrehozhat egy újat.

Névtér létrehozása

Használja rabbitmq , Namespace namede lehet, hogy bármi, amit akar. Ezután állítsa be East US a helyet. Válassza ki Basic az árszintet.

Ha minden jól ment, a következő megerősítési képernyőnek kell megjelennie:

Névtér létrehozása megerősítés

Ezután az Azure Portalon láthatja az új rabbitmq névteret. Kattintson rá az erőforrás eléréséhez, hogy hozzá tud adni egy üzenetsort.

Erőforráslista új névtérrel

Azure Service Bus-üzenetsor létrehozása

Most, hogy már rendelkezik az Azure Service Bus-névtérrel, kattintson a Queues bal oldali gombra, és Entitiesadjon hozzá egy új üzenetsort:

Üzenetsor létrehozása

Az üzenetsor neve ugyanúgy lesz from-rabbitmq emlékeztetve arra, hogy honnan érkeznek az üzenetek. Az összes többi beállítást alapértelmezettként hagyhatja, de az alkalmazás igényeinek megfelelően módosíthatja őket.

A RabbitMQ lapát beépülő modul engedélyezése

Ha a RabbitMQ-ból az Azure Service Busba szeretne üzeneteket küldeni, a RabbitMQ-val csomagolt lapát beépülő modult fogjuk használni. Ezzel a paranccsal engedélyezheti a beépülő modult és annak vizuális felületét:

rabbitmq-plugins enable rabbitmq_shovel_management

Előfordulhat, hogy a parancsot gyökérként kell futtatnia.

Itt az ideje, hogy lekérje a RabbitMQ azure-hoz való csatlakoztatásához szükséges hitelesítő adatokat.

A RabbitMQ csatlakoztatása az Azure Service Bushoz

Létre kell hoznia egy megosztott hozzáférési szabályzatot (SAS) az üzenetsorhoz, hogy a RabbitMQ közzétehesse az üzeneteket. Egy SAS-szabályzat segítségével megadhatja, hogy a külső fél milyen műveleteket hajthat végre az erőforrással. Az ötlet az, hogy a RabbitMQ képes üzeneteket küldeni, de nem figyeli vagy kezeli az üzenetsort.

SAS-szabályzat hozzáadása

Jelölje be a Send jelölőnégyzetet, majd kattintson Create rá az SAS-szabályzat helyére.

A szabályzat létrehozása után kattintson rá az elsődleges kapcsolati sztring megtekintéséhez. Ezzel fogjuk lehetővé tenni, hogy a RabbitMQ beszéljen az Azure Service Bus-tal:

SAS-szabályzat lekérése

Ahhoz, hogy használni tudja ezt a kapcsolati sztring, át kell alakítania a RabbitMQ AMQP kapcsolatformátumára. Lépjen a kapcsolati sztring konverter eszközre, és illessze be a kapcsolati sztring az űrlapra, és kattintson a Konvertálás gombra. Kap egy kapcsolati sztring, amely készen áll a RabbitMQ-ra. (Ez a webhely mindent helyiként futtat a böngészőben, így az adatok nem lesznek továbbítva a vezetéken keresztül). A forráskódot a GitHubon érheti el.

Kapcsolati sztring konvertálása

Most nyissa meg a RabbitMQ felügyeleti beépülő modult böngészőinkben http://localhost:15672/#/dynamic-shovels , és lépjen Admin -> Shovel Managementide, ahol hozzáadhatja az új lapátot, amely gondoskodik arról, hogy a RabbitMQ-üzenetsorból érkező üzeneteket az Azure Service Bus-üzenetsorba küldje.

RabbitMQ lapát hozzáadása

Itt hívja meg a lapátot azure , és válassza ki AMQP 0.9.1 a forrásprotokollt. A képernyőképen az amqp://alapértelmezett URI található, amely egy helyi RabbitMQ-kiszolgálóhoz kapcsol minket. Ügyeljen arra, hogy ezt az aktuális üzembe helyezéshez igazítsa.

A dolgok azure üzenetsor oldalán használhatja az üzenetsor nevét. Ha az üzenetsor nem létezik, a RabbitMQ létrehozza Önnek. Kiválaszthatja a már létező üzenetsor nevét is. A többi beállítást alapértelmezettként is meghagyhatja.

Ezután a destination dolgok oldalán válassza ki AMQP 1.0 a protokollt. URI A mezőbe írja be az előző lépésből kapott összekötő sztringet, és az Azure-kapcsolati sztring RabbitMQ formátumra konvertálta. Ennek így kell kinéznie:

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

Address A mezőben meg fogjuk adni az Azure Service Bus-üzenetsor nevét, ebben az esetben a rendszer meghívtafrom-rabbitmq. Kattintson Add Shovela gombra, és a beállításnak készen kell állnia az üzenetek fogadására.

Üzenetek közzététele a RabbitMQ-ból az Azure Service Busba

A RabbitMQ Felügyeleti felületén megnyithatjuk Queues, kiválaszthatjuk az azure üzenetsort, és megkereshetjük a panelt Publish message . Megjelenik egy űrlap, amely lehetővé teszi az üzenetek közvetlen közzétételét az üzenetsoron. A példánkhoz csak hozzáadjuk first message Payload a következőt Publish Message:

Első üzenet közzététele

Térjen vissza az Azure-ba, és vizsgálja meg az üzenetsort. Kattintson Service Bus Explorer a bal oldali panelre, majd a Betekintő gombra. Ha minden jól ment, látni fogja, hogy az üzenetsornak most egy üzenete van. Yay, gratulálok!

Azure Service Bus-üzenetsor

De győződjön meg arról, hogy ez az üzenet az, amit a RabbitMQ-tól küldött. Jelölje ki a Peek lapot, és kattintson a Peek gombra az üzenetsor utolsó üzeneteinek lekéréséhez. Kattintson az üzenetre a tartalmának vizsgálatához. Az alábbi képhez hasonlót kell látnia, ahol a first message lista szerepel.

Üzenetsor betekintője

Foglaljuk újra

Gratulálunk! Sokat ért el! Sikerült lekérnie az üzeneteket a RabbitMQ-ból az Azure Service Busba, vizsgáljuk meg a lépéseket:

  1. Azure Service Bus-Namespace létrehozása
  2. Üzenetsor hozzáadása a névtérhez
  3. SAS-szabályzat hozzáadása az üzenetsorhoz
  4. Az üzenetsor lekérése kapcsolati sztring
  5. A RabbitMQ lapát beépülő modul és a felügyeleti felület engedélyezése
  6. Az Azure Service Bus kapcsolati sztring konvertálása RabbitMQ AMQP formátumra
  7. Új lapát hozzáadása a RabbitMQ-hoz > csatlakoztassa az Azure Service Bushoz
  8. Üzenetek közzététele

Az előző lépések végrehajtásával integrálta a szervezet azon területeit, amelyek az Azure-on kívül voltak. A lapát beépülő modul lehetővé tette, hogy üzeneteket küldjön a RabbitMQ-ból az Azure Service Busba. Ez óriási előnyökkel jár, mivel mostantól lehetővé teheti, hogy megbízható harmadik felek összekapcsolják alkalmazásaikat az Azure-beli üzembe helyezéssel.

Végül az üzenetküldés a kapcsolatok engedélyezéséről szól, és ezzel a technikával most nyitottunk meg egy újat.

Következő lépések

  • További információ az Azure Service Busról
  • További információ az AMQP 1.0 service busbeli támogatásáról