obenplus.com | oben+ | Hikayesi bol bir yazılımcının kaleminden, teknoloji dünyasını en önemli ve en ince ayrıntısına kadar takip etmek, bir yazılımcının hayatını, yaşantısını gözlemlemek isteneyenler için...

All posts in RabbitMQ

Bu yazı “RabbitMQ Nedir, Nasıl Kullanılır ? (Part I – Server) ” yazısının devamı niteliğindedir. Server kurulumunu bilmiyorsanız yazıyı incelemenizde fayda var. Biliyorsanız, direk bu yazıyı okuyarak örnek bir client uygulaması görmeniz yeterlidir.
Yazı içerisindeki kodlar, hızlı bir şekilde yazıldığı için design anlamında mükemmeliyet içermemektedir. Zaten burada beklenti, konunun anlaşılmasıdır, kodun mükemmel olması değil. Bu nedenle, kendi projelerinizde yazdığınız kodlarda daha dikkatli olmanızda ve iyi design yapmanızda fayda vardır.

RabbitMQ Server kullanımını önceki yazımızda anlatmıştım. Şimdi ise RabbitMQ Server kullanarak client tarafında basit bir Hello World uygulaması yapacağız. Öncelikle belirtmekte fayda var ki, client örneklerine buradan ulaşmanız mümkün. En basitinden, en advanced leveline kadar örnekler yapmışlar. Oldukça da başarılı örnekler. Ben Eclipse kullanarak java üzerinden gideceğim, siz isterseniz farklı dilleri de kullanabilirsiniz.

Producer

İlk olarak producer ile başlıyoruz. Yani kargocu örneğimizden hatırlayacak olursanız, kargoya mal göndermek için giden kişiyi yani producerı ele alacağız. Bunun için ilk iş, eclipse de yeni bir Java projesi yaratıyoruz. (Ben adını RabbitMQ_Producer koydum)

Bir sonraki aşamada, client library leri projemize eklemek için önce lib adında bir folder yaratıyoruz ve buraya jar ları taşıyoruz. Son olarak bu jarları projemizin Java Build Path’ine ekliyoruz.

Screen Shot 2015-07-14 at 21.12.41

Bundan sonra, Producer.java isimli java dosyamızı yaratıyoruz ve daha önce yarattığımız isimdeki queue için mesajımızı gönderiyoruz. Read more


RabbitMQ Nedir ?

Pivotal tarafından geliştirilen RabbitMQ ‘nun ne olduğu aslında web sitesinde son derece net özetlenmiş;

Buradan da anlaşılabileceği üzere RabbitMQ, bir <message broker> yazılımıdır. Temelde yaptığı iş bir uygulamadan mesaj alıp, başka bir uygulamaya iletmektir.

RabbitMQ nun ne demek olduğunu günlük hayattan bir örnek ile açıklamak gerekirse, kargo süreci buna en güzel ve en anlaşılır örnek olarak görülebilir.

Yani siz(producer) kargonuzu kargo şirketine (rabbitmq queue) teslim ediyorsunuz ve şirket sizin kargonuzu göndermek istediğiniz kişiye(consumer) paketi iletiyor.

Producer, Queue ve Consumer

Yukarıdaki cümlede aslında rabbitmq nun üç önemli bileşeninden bahsetmiş olduk. Bunlar, producer, queue ve consumer.

Producer : RabbitMQ sistemine mesaj üreten modül. Yani kargoyu göndermek isteyen kişi.

Queue : Kuyruk anlamına gelir ve RabbitMQ üzerinde depolanan mesajları ifade eder. Bu mesajlar üreticiler(producer) tarafından RabbitMQ’ya gönderilmektedir ve consumer’lara iletilecektir. Birden fazla producer tarafından aynı queueya mesaj gönderilmesi de mümkündür.

Consumer : Kuyruğa gönderilen mesajları alan modüllerdir. Yani kargo örneğimizdeki kargonun gönderildiği kişi.

Yapının visualized hali ise aşağıda;

RabbitMQ Kurulumu

RabbitMQ kurulumu yapmak için bu linkteki download seçeneklerinden kendinize uygun olanı ile RabbitMQ Server’i indirmeniz gerekmekte.

Benim işletim sistemim Mac OSX olduğundan, mac için olan RabbitMQ’yu indirdim. Mac için server’ın nasıl kurulabileceği adım adım bu linkte gösterilmiş. Siz de linux ya da windows kullanıyorsanız ilgili yönlendirmeleri kullanarak kolayca kurulum yapabilirsiniz.

sbin

Serveri başlatmak için öncelikle kurulum yaptığınız klasörün içerisindeki sbin pathine giriyoruz. Read more