Bunny เป็นไคลเอนต์ RabbitMQ ที่เน้นการใช้งานง่าย เป็นฟีเจอร์ที่สมบูรณ์ รองรับฟีเจอร์ RabbitMQ ล่าสุดทั้งหมด และไม่มีการขึ้นต่อกันแบบเฮฟวี่เวทใดๆ
ที่นี่!
เราสามารถใช้ Bunny เพื่อทำให้แอปพลิเคชัน Ruby ทำงานร่วมกับแอปพลิเคชันอื่นได้ (ทั้งในตัว Ruby และไม่ใช่) ความซับซ้อนและขนาดอาจแตกต่างกันตั้งแต่คิวงานธรรมดาไปจนถึงเวิร์กโฟลว์การประมวลผลข้อมูลหลายขั้นตอนที่ซับซ้อนซึ่งเกี่ยวข้องกับแอปพลิเคชันจำนวนมากที่สร้างขึ้นด้วยเทคโนโลยีทุกประเภท
ตัวอย่างเฉพาะ:
แอปพลิเคชันตัวรวบรวมเหตุการณ์ ตัวชี้วัด และการวิเคราะห์สามารถรวมเหตุการณ์ที่สร้างโดยแอปพลิเคชันต่างๆ (แบบเว็บและไม่ใช่) ในเครือข่ายของบริษัท
เว็บแอปพลิเคชันอาจกำหนดเส้นทางข้อความไปยังแอป Java ที่ทำงานร่วมกับเกตเวย์การส่ง SMS
เกม MMO สามารถใช้การกำหนดเส้นทางที่ยืดหยุ่นของ RabbitMQ เพื่อเผยแพร่การแจ้งเตือนกิจกรรมไปยังผู้เล่นและสถานที่
การอัปเดตราคาจากตลาดสาธารณะหรือแหล่งที่มาอื่นๆ สามารถกระจายระหว่างผู้มีส่วนได้เสีย ตั้งแต่ระบบการซื้อขายไปจนถึงจุดขายในภูมิภาคทางภูมิศาสตร์ที่เฉพาะเจาะจง
ผู้รวบรวมเนื้อหาอาจอัปเดตการค้นหาข้อความแบบเต็มและดัชนีการค้นหาเชิงพื้นที่โดยการมอบหมายงานการจัดทำดัชนีจริงให้กับแอปพลิเคชันอื่นผ่าน RabbitMQ
บริษัทต่างๆ อาจจัดหา API การสตรีม/พุชให้กับลูกค้า คู่ค้า หรือบุคคลทั่วไปเท่านั้น
ระบบบูรณาการอย่างต่อเนื่องสามารถกระจายบิลด์ระหว่างเครื่องหลายเครื่องด้วยการกำหนดค่าฮาร์ดแวร์และซอฟต์แวร์ที่หลากหลาย โดยใช้คุณสมบัติการกำหนดเส้นทางขั้นสูงของ RabbitMQ
แอปพลิเคชันที่รับชมการอัปเดตจากสตรีมแบบเรียลไทม์ (ไม่ว่าจะเป็นข้อมูลการตลาดหรือสตรีม Twitter) สามารถเผยแพร่การอัปเดตไปยังผู้มีส่วนได้ส่วนเสีย รวมถึงแอปพลิเคชันบนเว็บที่แสดงข้อมูลนั้นแบบเรียลไทม์
รองรับเวอร์ชัน Modern Bunny
สำหรับสภาพแวดล้อมที่ใช้ TLS นั้น Bunny คาดว่าการติดตั้ง Ruby จะใช้ OpenSSL เวอร์ชันล่าสุดที่เพียงพอซึ่ง รวมถึงการรองรับ TLS 1.3
Bunny ทำงานได้ดีเพียงพอบน JRuby แต่มีข้อบกพร่องของ JRuby ในเวอร์ชันก่อน JRuby 9000 ที่ทำให้ CPU เบิร์นสูง ผู้ใช้ JRuby ควรใช้ March Hare
Bunny 1.7.x
เป็นเวอร์ชันสุดท้ายที่รองรับ CRuby 1.9.3 และ 1.8.7
Modern Bunny เผยแพร่เป้าหมายที่รองรับซีรี่ส์การเปิดตัว RabbitMQ ในปัจจุบัน
บันทึกการเปลี่ยนแปลง
วิธีใช้ Bunny ในโปรเจ็กต์ที่จัดการด้วย Bundler:
gem "bunny" , ">= 2.23.0"
วิธีติดตั้ง Bunny ด้วย RubyGems:
gem install bunny
ด้านล่างนี้เป็นตัวอย่างเล็กๆ ที่สาธิตวิธีการเผยแพร่และใช้งานข้อความ ("pull API") พร้อมๆ กันกับ Bunny
สำหรับบทช่วยสอน 15 นาทีโดยใช้ตัวอย่างที่เป็นประโยชน์ โปรดดูการเริ่มต้นใช้งาน RabbitMQ และ Ruby โดยใช้ Bunny
require "bunny"
# Start a communication session with RabbitMQ
conn = Bunny . new
conn . start
# open a channel
ch = conn . create_channel
ch . confirm_select
# declare a queue
q = ch . queue ( "test1" )
q . subscribe ( manual_ack : true ) do | delivery_info , metadata , payload |
puts "This is the message: #{ payload } "
# acknowledge the delivery so that RabbitMQ can mark it for deletion
ch . ack ( delivery_info . delivery_tag )
end
# publish a message to the default exchange which then gets routed to this queue
q . publish ( "Hello, everybody!" )
# await confirmations from RabbitMQ, see
# https://www.rabbitmq.com/publishers.html#data-safety for details
ch . wait_for_confirms
# give the above consumer some time consume the delivery and print out the message
sleep 1
puts "Done"
ch . close
# close the connection
conn . close
สำหรับบทช่วยสอน 15 นาทีโดยใช้ตัวอย่างที่เป็นประโยชน์ โปรดดูการเริ่มต้นใช้งาน RabbitMQ และ Ruby โดยใช้ Bunny
คู่มือเอกสารประกอบของ Bunny อยู่ภายใต้ docs/guides
ในพื้นที่เก็บข้อมูลนี้:
คำแนะนำเอกสาร RabbitMQ ที่มีความเกี่ยวข้องสูงบางส่วน:
การอ้างอิง Bunny API
บันนี่มีรายชื่อผู้รับจดหมาย โปรดใช้สำหรับคำถาม การสืบสวน และการสนทนาทั้งหมด ปัญหา GitHub ควรใช้สำหรับผู้ดูแลเฉพาะเจาะจงที่เข้าใจดีและดำเนินการได้และผู้มีส่วนร่วมสามารถทำงานได้
เราขอแนะนำให้คุณเข้าร่วมรายชื่ออีเมลของ RabbitMQ ด้วย อย่าลังเลที่จะถามคำถามใด ๆ ที่คุณอาจมี
หากคุณพบจุดบกพร่องที่คุณเข้าใจดี ค่าเริ่มต้นไม่ดี เอกสารไม่ถูกต้องหรือไม่ชัดเจน หรือคุณสมบัติที่ขาดหายไป โปรดแจ้งปัญหาใน GitHub
โปรดใช้รายชื่ออีเมลของ Bunny สำหรับคำถาม การสืบสวน และการสนทนา ปัญหา GitHub ควรใช้สำหรับผู้ดูแลเฉพาะเจาะจงที่เข้าใจดีและดำเนินการได้และผู้มีส่วนร่วมสามารถทำงานได้
เมื่อยื่นปัญหา โปรดระบุเวอร์ชันของ Bunny และ RabbitMQ ที่คุณใช้ ระบุเนื้อหาไฟล์บันทึก RabbitMQ ล่าสุด การติดตามสแต็กข้อยกเว้นแบบเต็ม และขั้นตอนในการทำซ้ำ (หรือกรณีทดสอบที่ล้มเหลว)
ไคลเอนต์ Ruby RabbitMQ ที่ใช้กันอย่างแพร่หลายอื่น ๆ คือ March Hare (JRuby เท่านั้น) เป็นไลบรารีสำหรับผู้ใหญ่ที่ต้องการ RabbitMQ 3.3.x หรือใหม่กว่า
ดูที่ CONTRIBUTING.md สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรันชุดการทดสอบต่างๆ
เผยแพร่ภายใต้ใบอนุญาต MIT