Hogyan kell használni a Flask and Bottle-t a RabbitMQ-val?
Hagyjon üzenetet
Szia! Lombik és palack termékek szállítója vagyok, és nagyon izgatott vagyok, hogy megoszthatom veled, hogyan használhatod a Flask and Bottle-t a RabbitMQ-val. Lehet, hogy elsőre kicsit technikainak hangzik, de higgy nekem, nem olyan bonyolult, mint amilyennek látszik.
Mik azok a lombik, palack és a RabbitMQ?
Kezdjük az alapokkal. A Flask egy Python nyelven írt mikro webes keretrendszer. Könnyű és könnyen használható, tökéletes kis és közepes méretű webalkalmazások készítéséhez. A Bottle egy Python webes keretrendszer is, és arról ismert, hogy egyszerű és gyors. Egyetlen fájl megvalósítása van, ami azt jelenti, hogy egy webalkalmazást pillanatok alatt elindíthat és futtathat.
A RabbitMQ viszont egy üzenet – brókerszoftver. Lehetővé teszi, hogy az alkalmazás különböző részei üzenetek küldésével és fogadásával kommunikáljanak egymással. Az AMQP (Advanced Message Queuing Protocol) nevű protokollt használja ezen üzenetek kezelésére.
Miért kombinálja a lombikot/palackot a RabbitMQ-val?
Számos oka lehet annak, hogy miért érdemes kombinálni a Flaskot vagy Bottle-t a RabbitMQ-val. Először is segít az alkalmazás szétválasztásában. Például, ha van egy Flask vagy Bottle szoftverrel épített webalkalmazása, és időigényes feladatokat szeretne végrehajtani, például e-maileket küldeni vagy nagy mennyiségű adatot feldolgozni, akkor a RabbitMQ segítségével áttöltheti ezeket a feladatokat egy dolgozóra. Így a webalkalmazás gyorsan válaszolhat a felhasználói kérésekre anélkül, hogy megvárná a feladatok befejezését.
A másik ok a méretezhetőség. A RabbitMQ segítségével egyszerűen méretezheti az alkalmazást azáltal, hogy több dolgozót ad hozzá az üzenetek kezeléséhez. Ez különösen akkor hasznos, ha az alkalmazásban nagy mennyiségű kérés érkezik.
A környezet beállítása
Mielőtt belemerülnénk a kódba, be kell állítania a környezetét. Először telepítse a lombikot vagy a palackot. Használhatodcsipogtelepítésükhöz:
pip install lombik
vagy
pip install palack
Ezután telepítenie kell ahosszúkönyvtár, amely egy Python kliens a RabbitMQ számára. segítségével telepítheticsipogis:
pip install pika
Lombik használata RabbitMQ-val
Kezdjük egy példával a Flask és RabbitMQ használatára. Tegyük fel, hogy van egy egyszerű Flask-alkalmazása, amely kérést fogad, és üzenetet küld egy RabbitMQ-sorba.
from flask import Lombik import pika app = Lombik(__name__) @app.route('/send_message') def send_message(): connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connect.channel() channel.queue_declare(queue'Hello')test_queue'ello') RabbitMQ! channel.basic_publish(exchange='', routing_key='test_queue', body=message) connection.close() return 'Üzenet elküldve a RabbitMQ-nak!' if __name__ == '__main__': app.run(debug=True)
Ebben a kódban először létrehozunk egy Flask alkalmazást. Amikor egy felhasználó felkeresi a/send_messageútvonalon, kapcsolatot létesítünk a futó RabbitMQ szerverrellocalhost. Ezután deklarálunk egy nevű sortteszt_sorés tegyen közzé egy üzenetet neki. Végül lezárjuk a kapcsolatot, és sikerüzenetet küldünk.


Most hozzunk létre egy dolgozót, amely figyeli a sort és feldolgozza az üzeneteket.
import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='test_queue') def callback(ch, method, properties, body): print(f"Fogadott üzenet: {body}") channel.basic_cone' on_message_callback=callback, auto_ack=True) print('Várakozás az üzenetekre. A kilépéshez nyomja le a CTRL+C billentyűkombinációt') channel.start_consuming()
Ez a dolgozó kód csatlakozik a RabbitMQ kiszolgálóhoz, deklarálja ugyanazt a sort, és beállít egy visszahívási funkciót a fogadott üzenetek kezelésére. Amikor üzenet érkezik, kinyomtatja az üzenetet a konzolra.
Palack használata RabbitMQ-val
A Bottle with RabbitMQ használatának folyamata nagyon hasonló a Flask használatához. Íme egy példa:
palackimportálási útvonalról, futtassa az importálást pika @route('/send_message') def send_message(): connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='teszt_sor') message = Bottle!'Hello! channel.basic_publish(exchange='', routing_key='test_queue', body=message) connection.close() return 'Üzenet elküldve a RabbitMQ-nak!' run(host='localhost', port=8080, debug=True)
Csakúgy, mint a Lombik példában, amikor a felhasználó felkeresi a/send_messageútvonalat, üzenetet küld a RabbitMQ sorba. Az üzenetek feldolgozásához ugyanazt a dolgozói kódot használhatja, mint korábban.
Valós használati esetek
Egy valós felhasználási eset lehet egy e-kereskedelmi alkalmazás. Tegyük fel, hogy van egy Flask vagy Bottle webalkalmazása, ahol a felhasználók rendeléseket adhatnak le. Megrendelés leadásakor a rendelés azonnali feldolgozása helyett üzenetet küldhet a RabbitMQ sorba. A dolgozó ezután felveheti az üzenetet, és a háttérben feldolgozhatja a rendelést. Így a felhasználónak nem kell megvárnia a rendelés feldolgozását, és a webes alkalmazás gyorsan reagálhat.
Egy másik felhasználási eset lehet egy adatelemző alkalmazás. Ha nagy mennyiségű adatot kell feldolgozni, a RabbitMQ segítségével eloszthatja az adatokat több dolgozónak párhuzamos feldolgozás céljából.
Lombik és palack termékeink
Szállítóként lombik és palack termékek széles választékát kínáljuk. Nálunk például aRozsdamentes acél szigetelt kávéfőző. Ezek a termékek kiváló minőségű rozsdamentes acélból készülnek, amely tartós és hosszú ideig melegen vagy hidegen tudja tartani az italokat. Különböző méretben és kivitelben készülnek, hogy megfeleljenek az Ön igényeinek.
Vásárlásért forduljon hozzánk
Ha érdeklődik Lombik és Palack termékeink iránt, vagy bármilyen kérdése van a Flask and Bottle with RabbitMQ használatával kapcsolatban, forduljon hozzánk bizalommal. Mindig itt vagyunk, hogy segítsünk Önnek beszerzési igényeinek kielégítésében. Legyen szó kisvállalkozásról vagy nagyvállalatról, mi a megfelelő termékeket és megoldásokat kínáljuk Önnek.
Hivatkozások
- Lombik dokumentációja: Lombik hivatalos honlapja
- Palack dokumentációja: Palack hivatalos weboldala
- RabbitMQ dokumentáció: RabbitMQ hivatalos weboldala
- Pika dokumentáció: Pika hivatalos GitHub tárház






