ربیت ام کیو ( انگلیسی: RabbitMQ ) یک نرم افزار کارگزار پیام منبع باز ( گاهی اوقات میان افزار پیام محور خوانده می شود ) است که در اصل پروتکل صف بندی پیام پیشرفته ( انگلیسی: Advanced Message Queuing Protocol ) یا AMQP را پیاده سازی کرده است اما پس از آن اقدام به گسترش پروتکل های پشتیبانی شده خود با معماری افزونه ای ( انگلیسی: plug - in protocol ) برای پروتکل پیام جریان - متن محور ( انگلیسی: Streaming Text Oriented Messaging Protocol ) یا STOMP، پروتکل MQTT و سایر پروتکل ها نموده است. [ ۱] سرور ربیت ام کیو به زبان ارلنگ نوشته شده است و روی بستر چارچوب Open Telecom Platform ساخته شده است. کتابخانه های سمت کلاینت که واسطی برای ارتباط با کارگزار فراهم می کنند برای زبان های برنامه نویسی مشهور وجود دارد.
در ابتدا شرکت Rabbit Technologies Ltd اقدام به توسعه ربیت ام کیو نمود که در سال 2010 توسط شرکت SpringSource که بخشی از VMware است خریداری شد. [ ۲] [ ۳]
کد منبع تحت پروانه پروانه همگانی موزیلا منتشر شد. پروژه شامل موارد زیر می شود:
• سرور تبادل ( انگلیسی: RabbitMQ ) ربیت ام کیو
• دروازه های ارتباطی ( انگلیسی: gateway ) برای پروتکل های AMQP، HTTP، STOMP و MQTT
• کتابخانه های سمت کلاینت AMQP برای جاوا، . NET Framework و Erlang. ( کلاینت های AMQP برای سایر زبان ها هم توسط سایر فروشندگان در دسترس است )
• یک پلتفرم افزونه پذیر ( انگلیسی: plug - in platform ) برای اضافه کردن موارد سفارشی شده که شامل مجمموعه افزونه های از پیش تعریف شده زیر است:
• افزونه Shovel که مسئول انتقال یا کپی کردن پیام ها از یک کارگزار به کارگزار دیگر است.
• افزونه Federation که امکان به اشتراک گذاری بهینه پیام ها بین کارگزاران ( در سطح تبادل ) را فراهم می کند.
• افزونه Management که پایش و کنترل کارگزارها و خوشه هایی از کارگزاران را ممکن می کند.
این بخش شامل مثال هایی برای ارسال/ دریافت و ارسال پیام ها به/از یک صف به زبان پایتون است:
قطعه کد زیر ابتدا ارتباط برقرار کرده، از وجود صف اطمینان حاصل می کند، پیام را می فرستد و در نهایت ارتباط را قطع می کند.
#!/usr/bin/env python import pika connection = pika. BlockingConnection ( pika. ConnectionParameters ( host=' localhost' ) ) channel = connection. channel ( ) channel. queue_declare ( queue=' hello' ) channel. basic_publish ( exchange=' ' , routing_key=' hello' , body=' Hello World!' ) print ( " Sent ' Hello World!' " ) connection. close ( ) دریافت به طور مشابه، برنامه زیر یک پیام را از صف دریافت کرده و در خروجی چاپ می کند:
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفدر ابتدا شرکت Rabbit Technologies Ltd اقدام به توسعه ربیت ام کیو نمود که در سال 2010 توسط شرکت SpringSource که بخشی از VMware است خریداری شد. [ ۲] [ ۳]
کد منبع تحت پروانه پروانه همگانی موزیلا منتشر شد. پروژه شامل موارد زیر می شود:
• سرور تبادل ( انگلیسی: RabbitMQ ) ربیت ام کیو
• دروازه های ارتباطی ( انگلیسی: gateway ) برای پروتکل های AMQP، HTTP، STOMP و MQTT
• کتابخانه های سمت کلاینت AMQP برای جاوا، . NET Framework و Erlang. ( کلاینت های AMQP برای سایر زبان ها هم توسط سایر فروشندگان در دسترس است )
• یک پلتفرم افزونه پذیر ( انگلیسی: plug - in platform ) برای اضافه کردن موارد سفارشی شده که شامل مجمموعه افزونه های از پیش تعریف شده زیر است:
• افزونه Shovel که مسئول انتقال یا کپی کردن پیام ها از یک کارگزار به کارگزار دیگر است.
• افزونه Federation که امکان به اشتراک گذاری بهینه پیام ها بین کارگزاران ( در سطح تبادل ) را فراهم می کند.
• افزونه Management که پایش و کنترل کارگزارها و خوشه هایی از کارگزاران را ممکن می کند.
این بخش شامل مثال هایی برای ارسال/ دریافت و ارسال پیام ها به/از یک صف به زبان پایتون است:
قطعه کد زیر ابتدا ارتباط برقرار کرده، از وجود صف اطمینان حاصل می کند، پیام را می فرستد و در نهایت ارتباط را قطع می کند.
#!/usr/bin/env python import pika connection = pika. BlockingConnection ( pika. ConnectionParameters ( host=' localhost' ) ) channel = connection. channel ( ) channel. queue_declare ( queue=' hello' ) channel. basic_publish ( exchange=' ' , routing_key=' hello' , body=' Hello World!' ) print ( " Sent ' Hello World!' " ) connection. close ( ) دریافت به طور مشابه، برنامه زیر یک پیام را از صف دریافت کرده و در خروجی چاپ می کند:

wiki: ربیت ام کیو