หน้าหลัก - บทความ - รายละเอียด

วิธีใช้ขวดหรือขวดกับ RabbitMQ?

Ava Taylor
Ava Taylor
Ava เป็นตัวแทนฝ่ายบริการลูกค้าที่ Zhejiang Nawas เธอให้คำแนะนำอย่างมืออาชีพและความช่วยเหลือแก่ลูกค้าช่วยให้พวกเขาเลือกถ้วย Thermos Cup ที่เหมาะสมที่สุดตามความต้องการของพวกเขา

เฮ้ ฉันเป็นซัพพลายเออร์ของผลิตภัณฑ์ขวดและขวดและวันนี้ฉันจะพูดคุยเกี่ยวกับวิธีการใช้ขวดหรือขวดกับ RabbitMQ หากคุณเข้าสู่การพัฒนาเว็บหรือเพียงแค่มองหาวิธีเพิ่มประสิทธิภาพแอพของคุณโพสต์นี้เหมาะสำหรับคุณ

ก่อนอื่นมาแนะนำสั้น ๆ ว่าขวดขวดและ RabbitMQ คืออะไร Flask เป็นกรอบเว็บที่มีน้ำหนักเบาใน Python มันง่ายมากที่จะเริ่มต้นด้วยและเหมาะสำหรับการสร้างเว็บแอปพลิเคชันขนาดเล็กถึงขนาดกลาง ขวดยังเป็นไมโครที่เรียบง่ายและรวดเร็ว - กรอบสำหรับ Python มันมีการออกแบบที่เรียบง่ายซึ่งทำให้เป็นเรื่องง่ายที่จะทำงานด้วย ในทางกลับกัน RabbitMQ เป็นนายหน้าข้อความ มันช่วยส่วนต่าง ๆ ของแอปพลิเคชันของคุณสื่อสารกันโดยการส่งและรับข้อความ

Stainless Steel Insulated Coffee Pot suppliersStainless Steel Insulated Coffee Pot

ทำไมต้องรวมขวด/ขวดกับ RabbitMQ?

ดังนั้นทำไมคุณถึงต้องการใช้ขวดหรือขวดกับ RabbitMQ? ในแอปพลิเคชั่นจริง - โลกคุณอาจมีงานที่ใช้เวลานานในการกรอกเช่นส่งอีเมลจำนวนมากหรือประมวลผลข้อมูลขนาดใหญ่ หากคุณจัดการงานเหล่านี้โดยตรงในแอปพลิเคชันขวดหรือขวดของคุณอาจทำให้เว็บแอปของคุณช้าหรือไม่ตอบสนอง นั่นคือที่มาของ RabbitMQ คุณสามารถขนถ่ายเวลาเหล่านี้ - การบริโภคงานไปยังคิวข้อความ (RabbitMQ) และให้คนงานคนอื่นจัดการกับพวกเขาในพื้นหลัง ด้วยวิธีนี้เว็บแอปพลิเคชันของคุณสามารถให้บริการคำขออื่น ๆ ได้โดยไม่ต้องรองานยาว - ทำงานให้เสร็จ

การตั้งค่าสภาพแวดล้อม

ก่อนที่เราจะเริ่มเขียนโค้ดเราต้องตั้งค่าสภาพแวดล้อมของเรา ก่อนอื่นให้แน่ใจว่าคุณติดตั้ง Python บนเครื่องของคุณแล้ว จากนั้นคุณสามารถติดตั้งขวดหรือขวดและยาวห้องสมุด (ซึ่งใช้ในการโต้ตอบกับ RabbitMQ ใน Python) โดยใช้ปิ๊ก-

PIP Install Flask # หรือ Pip Install Bottle Pip ติดตั้ง pika

หากคุณใช้ Flask นี่คือตัวอย่างง่ายๆของวิธีการรวมเข้ากับ RabbitMQ สมมติว่าเรามีแอปพลิเคชันขวดที่ต้องส่งข้อความไปยังคิว RabbitMQ เมื่อผู้ใช้ทำการร้องขอ

นำเข้า pika จาก Flask นำเข้า Flask App = Flask (__ name__) @app.route ('/send_message') def send_message (): การเชื่อมต่อ = pika.blockingconnection (pika.connectionParameters ('localhost') channel = connection.channel () channel.basic_publish (exchange = '', routing_key = 'my_queue', body = message) พิมพ์ ("[x] ส่งข้อความ % r" %) connection.close () ส่งคืนข้อความ 'ส่งไปยัง rabbitmq!' ถ้า __name__ == '__Main__': app.run (debug = true)

ในรหัสนี้เมื่อผู้ใช้เยี่ยมชม/send_messageเส้นทางแอปพลิเคชัน Flask ของเราเชื่อมต่อกับเซิร์ฟเวอร์ RabbitMQ ในเครื่องประกาศคิวชื่อmy_queueและส่งข้อความไป

ทีนี้มาดูวิธีการตั้งค่าคนงานเพื่อบริโภคข้อความจากคิว

นำเข้า pika def callback (ch, วิธีการ, คุณสมบัติ, ร่างกาย): พิมพ์ ("[x] ได้รับ % r" % body) การเชื่อมต่อ = pika.blockingconnection (pika.connectionParameters ('localhost') ช่อง = การเชื่อมต่อช่อง () channel.queue_declare (queue = 'my_queue') auto_ack = true, on_message_callback = การโทรกลับ) พิมพ์ ('[*] กำลังรอข้อความเพื่อออกจาก Ctrl+C') channel.start_consuming ()

สคริปต์คนงานนี้เชื่อมต่อกับเซิร์ฟเวอร์ RabbitMQ เดียวกันประกาศmy_queueอีกครั้งและเริ่มบริโภคข้อความจากมัน เมื่อใดก็ตามที่มีข้อความใหม่มาถึงการโทรกลับฟังก์ชั่นเรียกว่าและข้อความถูกพิมพ์ไปยังคอนโซล

หากคุณใช้ขวดกระบวนการค่อนข้างคล้ายกัน นี่คือตัวอย่างขวดง่าย ๆ :

นำเข้า pika จากเส้นทางการนำเข้าขวดวิ่ง @Route ('/send_message') def send_message (): การเชื่อมต่อ = pika.blockingConnection (pika.connectionParameters ('localhost') ช่อง = การเชื่อมต่อ channel () channel.queue_declare (queue = 'my_queue') channel.basic_publish (exchange = '', routing_key = 'my_queue', body = message) พิมพ์ ("[x] ส่งข้อความ % r" %) connection.close () ส่งคืนข้อความ 'ส่งไปยัง rabbitmq!' run (host = 'localhost', พอร์ต = 8080, debug = true)

ประโยชน์ของผลิตภัณฑ์ขวดและขวดของเรา

ในฐานะซัพพลายเออร์ฉันสามารถบอกคุณได้ว่าขวดขวดและขวดของเราเช่นหม้อกาแฟฉนวนสแตนเลสอยู่ด้านบน - บาก พวกเขาทำด้วยวัสดุที่มีคุณภาพสูงทำให้มั่นใจได้ถึงความทนทานและการใช้งานระยะยาว ไม่ว่าคุณจะเป็นนักพัฒนาซอฟต์แวร์ที่ต้องการภาชนะที่เชื่อถือได้สำหรับเครื่องดื่มของคุณในขณะที่เขียนโค้ดหรือธุรกิจที่กำลังมองหารายการส่งเสริมการขายผลิตภัณฑ์ของเราเป็นตัวเลือกที่ยอดเยี่ยม

การจัดการข้อผิดพลาดและแนวทางปฏิบัติที่ดีที่สุด

เมื่อทำงานกับขวดหรือขวดและ RabbitMQ การจัดการข้อผิดพลาดเป็นสิ่งสำคัญ ตัวอย่างเช่นหากเซิร์ฟเวอร์ RabbitMQ หยุดทำงานแอปพลิเคชันของคุณอาจเพิ่มข้อยกเว้นเมื่อพยายามเชื่อมต่อกับมัน คุณสามารถใช้ลอง - ยกเว้นบล็อกเพื่อจัดการกับข้อผิดพลาดเหล่านี้อย่างสง่างาม

นำเข้า pika จาก Flask นำเข้า Flask App = Flask (__ name__) @app.route ('/send_message') def send_message (): ลอง: การเชื่อมต่อ = pika.blockingconnection (pika.connectionParameters ('localhost') channel = connection.channel Rabbitmq! ' channel.basic_publish (exchange = '', routing_key = 'my_queue', body = message) พิมพ์ ("[x] ส่งข้อความ % r" %) connection.close () ส่งคืนข้อความ 'ส่งไปยัง rabbitmq!' ยกเว้น pika.exceptions.amqpconnectionError: return 'ล้มเหลวในการเชื่อมต่อกับ rabbitmq!' ถ้า __name__ == '__Main__': app.run (debug = true)

แนวทางปฏิบัติที่ดีที่สุดอีกประการหนึ่งคือการจัดการการเชื่อมต่อและช่องทางอย่างถูกต้อง ตรวจสอบให้แน่ใจว่าได้ปิดการเชื่อมต่อหลังจากเสร็จสิ้นการใช้งานเพื่อหลีกเลี่ยงการรั่วไหลของทรัพยากร

การปรับขนาดและประสิทธิภาพ

หากแอปพลิเคชันของคุณเติบโตขึ้นคุณอาจต้องปรับขนาดการตั้งค่า RabbitMQ ของคุณ คุณสามารถใช้คนงานหลายคนเพื่อบริโภคข้อความจากคิวพร้อมกันซึ่งสามารถปรับปรุงประสิทธิภาพโดยรวม นอกจากนี้คุณยังสามารถตั้งค่าคลัสเตอร์ของเซิร์ฟเวอร์ RabbitMQ เพื่อความพร้อมใช้งานสูง

บทสรุป

การใช้ขวดหรือขวดกับ RabbitMQ เป็นการผสมผสานที่ทรงพลังที่สามารถช่วยให้คุณสร้างเว็บแอปพลิเคชันที่มีประสิทธิภาพและตอบสนองได้มากขึ้น ไม่ว่าคุณจะจัดการกับงานที่ยาวนาน - การทำงานหรือเพียงแค่ต้องการวิธีการสื่อสารระหว่างส่วนต่าง ๆ ของแอพของคุณ RabbitMQ อาจเป็นส่วนเสริมที่ยอดเยี่ยม

หากคุณสนใจผลิตภัณฑ์ขวดและขวดของเราเราชอบที่จะคุยกับคุณ ติดต่อเราเพื่อขอข้อมูลเพิ่มเติมและเริ่มต้นความสัมพันธ์ทางธุรกิจที่ยอดเยี่ยม เราอยู่ที่นี่เพื่อให้ผลิตภัณฑ์และบริการที่ดีที่สุดแก่คุณ

การอ้างอิง

  • "Flask Web Development" โดย Miguel Grinberg
  • "RabbitMQ ในการดำเนินการ" โดย Alvaro Videla และ Jason JW Williams

ส่งคำถาม

บทความบล็อกยอดนิยม