İleti Kuyrukları İle Daha Etkin ve Performanslı Programlama

0
malkocoglu
Programlararası bilgi göndermeğe yardımcı olan ileti kuyrukları (message queue) bilgi işlemcilerin elindeki önemli silahlardan biridir. Özellikle bilgi alışverişi yapan sistemler farklı amaçlarla, zamanlarda, ve programcılar tarafından kurulmuş sistemler olunca, bağlantıyı kurmak için ileti kuyrukları daha uygun oluyor. IBM MQ Series üzerinden anlattığımız bu konunun yararlı olacağını umuyoruz.

MQ Series - İleti Kuyruğu

MQ Series Nasıl Kurulur

Görüşler

0
mturker
Bu tür araçlardan birkaç tane kullandım, çalıştığım şirkette farklı gruplarda MQ Series in de kullanıldığını gördüm. Bunlardaki en büyük eksik process management olmaması. Yani siz satın aldığınız queue sağlayıcı toolun size verdiği kütüphaneleri kullanarak processlerinizi oluşturuyorsunuz , ayrıca processlerinizin kullanacağı queue ları tanımlıyorsunuz. Bir process ötekine mesaj gönderirken toolun main processi 1. programın out kuyruğundan alıp 2. programın in kuyruğuna yazıyor (veya benzer şeyler) Ama karşı taraftaki program ayaktamı , mesajımı aldımı falan yok. (Tabi bunu kendiniz mesajları timeout a düşürerek yapabilirsiniz). Ayrıca toolun kendi kuyruklarını kullanan programlardan haberi yok, bunları kendisi start/stop edemiyor (Normalde edebilmeli) veya bir süreliğine frozen yapabilmeli. Bir çoğunun (ben olanı hiç görmedim) standart bir hata gözlemleme toolu yok, hatalardan sadece kuyruğu kullanan programların haberi oluyor. Reply mantığı yok , yani A kuyruğunu kullanan programlardan biri başka bir programa mesaj yolladığında , eğer hedef program bir reply mesajı dönerse A kuyruğunu o an okuyan programlardan herhangi biri bu reply mesajını okuyabilir. (bunu da kendiniz mesajlara key koyarak yapabilirsiniz ama kendisi yapmalıydı). Aynı zamanda mesala aynı process serisinden birçok instance çalıştırabilmeli (bunu hiçbiri yapmıyor-zaten process management yok demiştim). Mesaj yoğunluğuna göre dynamic process yaratabilmeli ve yoğunluk azaldığında bunları kapatabilmeli.
Neyse daha bir sürü şey var ama bunların hepsini ve daha fazlasını yapan birtek pathway var. O da bildiğimiz işletim sistemlerinde çalışmıyor. Kendisi Tandem Himalaya Server'lar üzerinde NSK (Non Stop Kernel) işletim sisteminde çalışıyor. Aynısından unixlerde olsaydı muhteşem olurdu. Benzer birşey için kendi kişisel çabalarım var ama fazla yol alamadım. Bu söylediğim özellikleri birileri bu toollara kazandırsa iyi olurdu.

Mehmet Türker
http://www.turker.name.tr
0
malkocoglu
Biz MQ Series'i web sayfalarindan gelen tiklama verilerini arka plan servislere ulastirmak icin kullandik. Ihtiyacimiz olan e$zamansiz bir sekilde bu veriyi gondermekti ve MQ Series isimizi gordu. Otomatik cevap verme (reply) gibi ozellikler MQ 'da var. Eger bir kuyruk uzerinde yuk fazla ise, her uygulama servisi basina bir kuyruk, vs gibi mimari duzenlemeler yapabilirsiniz. Ileti kuyruklari ile satin aldiginiz, e$zamansiz mesaj yollamak ve bu mesajin _kaybolmamasidir_. Bu baz uzerine envai araclar yazilabilir, siz galiba biraz daha gorsel, tiklamali drag-drop bir arac istiyorsunuz.
0
mturker
Yo hayır, ben daha görsel, drag-drop bir araç istemiyordum yanlış anlattım heralde. Daha işlevsel birşey diyordum, daha çok uygulama sunucusu ve ileti kuyruklarının birleşimi gibi. Otomatik cevap vermeden kastım da o değildi aslında. A program serisinin herhangi bir kopyası B programına mesaj gönderirse ve B programı da mesaja reply yaparsa MS Series veya BEA Message Q bu reply mesajını A program serisinin o processine vermiyor, o anda kuyruğu kim okuyorsa ona veriyor. Siz de gerçek hedefe ulaşmasını sağlamak için o processing pid + sid gibi değerleriyle filtreleme yapmak zorundasınız. Eğer yük fazla binerse deyişimden kastım da aslında uygulama sunucularının yaptığı gibi aynı kuyruğun ihtiyaç duyduğu processlerden bir tane daha ayağa kaldırmaktı.


Mehmet Türker
http://www.turker.name.tr
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Qooxdoo JavaScript / AJAX Framework İle Merhaba Dünya'dan Biraz Öteye

muhuk

Aşağıdaki eğitsel burada yayınlanan (İngilizce) aslından çeviridir. Gerek benim yeteneksizliğim gerekse Türkçe'nin bilişim terimleri konusunda zayıf olması sebebiyle kötü bir çeviri olmuştur. Çeviri için özür diliyor ve mümkünse aslını okumanızı rica ediyorum.

Qooxdoo özellikle masaüstü benzeri GKA'lar yaratmakta kuvvetli bir AJAX çatısı. Tkinter veya GTK gibi, ama daha çok swing'e benziyor. İyi hazırlanmış belgeler ve temiz bir API ile geliyor. Yapılandırma ve ilklendirme için küçük bir Python programı var. Çok geniş bir kütüphaneye sahip olduğu için geliştirme sürecinde kısmen derlenmiş kaynak üzerinde çalışıp, bitirdiğinizde yine bu programı kullanıp tek (aslında iki, bir de yükleyici oluşturuyor), az yer kaplayan bir dosya oluşturabilirsiniz.

Dr. Cem Say´la Yapay Zekâ ve Doğal Dil İşleme Üstüne

FZ

Boğaziçi Üniversitesi Bilgisayar Mühendisliği öğretim görevlilerinden Dr. Cem Say ile bilgisayar dünyasının popüler ve bir o kadar da zorlu konuları olan yapay zekâ, doğal dil işleme ve kuantum bilgi işlem üzerine söyleştik.

FZ: Hocam, yapay zekânın hangi alanlarında, ne kadar süredir çalışıyorsunuz?

CS: Doktora zamanından beri yapay zekâ (YZ) ile ilgileniyorum. Doktora konum, İngilizcesi "Qualitative Reasoning" olan ve "Nitel Uslamlama" olarak Türkçeye çevirebileceğimiz konu idi, ne olduğunu birazdan açıklayacağım. Demek ki, işte 1980'lerin sonlarından bu yana YZ ile ilgileniyormuşum. Ayrıca yukarıda bahsi geçen konuya ek olarak Doğal Dil İşleme özellikle Türkçe dil işleme ile bir süredir ilgileniyorum. YZ konusunda ilgilendiğim temel iki alan bu ikisi.

Bir Programcının Kitaplığı Nasıl Olmalı?

Ragnor

/.'ta gezerken rastladığım bir haber var. Açıkcası /.'tan haber taşımak istemiyorum ama bu ilgi çekici. Bir Programcı kitaplığındaki kitapları sergilediği bir liste yapmış. Kitaplığın görüntüsü cidden baştan çıkarıcı :).

Hacker Etiği - İş Hayatına Yıkıcı bir Yaklaşım

mentat

Pekka Himanen'in Linus Torvalds ve Manuel Castells ile yazdığı kitap Ayrıntı Yayınlarından Türkçe olarak kitapçılarda ve ben ilk kez Ayrıntı Yayınlarından aldığım bir kitabı iki üç günde bitirebileceğim (tercümesi: kolay okunuyor, iyi anlamda). Ha tabii bu kitabın gayet "ağır" meslelere değinmediği anlamına gelmiyor...

Sıradışılıkla Kazanmak - Bir Common Lisp Başarı Öyküsü

FZ

1990'lı yılların ortasında Lisp ile geliştirdiği e-ticaret sistemini Yahoo şirketine 40.000.000$'a satan Paul Graham'ın Beating The Averages başlıklı makalesini FM üyeleri ile paylaşıyor ve faydalı olmasını, olabildiğince geribesleme üretmesini ümit ediyoruz. Çeviriye önayak olan, sponsorluğu üstlenen değerli FM üyesi bm'ye ve çevirinin ilk halini gerçekleştiren İstanbul Bilgi Üniversitesi, Bilgisayar Bilimleri Bölümü öğrencilerinden Çağıl Uluşahin'e teşekkürlerimizi sunuyoruz. Bu belgenin orjinal adresine buradan erişebilirsiniz.