İ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

Visual Studio Zihninizi Çürütür Mü?

FZ

Yaklaşık 30 yıldır program yazan ve Microsoft Windows programlama kitapları ile saygı duyulan isimler arasında yer alan Charles Petzold'un son makalelerinden Does Visual Studio Rot the Mind? Ruminations on the Psychology and Aesthetics of Coding son zamanlarda okuduğum en güzel yazılardan biri.

Petzold, kullanılan araçların insan düşüncesini inceden inceye nasıl şekillendirdiğine dair mükemmel örnekler vermekle kalmıyor, aynı zamanda konuyu tarihsel bir bakışla da değerlendirip çarpıcı tespitlerde bulunuyor. Sadece Microsoft kullananların, sadece C++ ya da C# kodlayanların değil, GNU/Linux, Java ve VS.NET haricinde IDEler kullananların da okumasında fayda olan bir yazı.

Açık Akademi'den Ajax kitabı: Sağlamlığı Kanıtlanmış Tekniklerle Web 2.0 AJAX

yenigul

New Riders yayınlarından çıkan Bulletprof AJAX kitabı, Açık Akademi yayınlarından Sağlamlığı Kanıtlanmış Tekniklerle Web 2.0 AJAX adıyla yayınlanmıştır.

Python

FZ

Yeni, güçlü ve kolay öğrenilebilir bir programlama dili olan Python, tüm değişkenlerin, fonksiyonların, sabitlerin, modüllerin ve sınıfların birer nesne olarak görüldüğü bir dildir. Bu özelliklere sahip başka nesne tabanlı dillerden daha fazla özelliğe sahiptir. Kaynak kodunun herkese açık olması Python’un önümüzdeki dönem çok yaygın olarak kullanılacağının bir göstergesidir.

Kitap Eleştirisi: Adım Adım LaTeX

FZ

Biz bilgisayarcılar için genellikle pek kaynak sıkıntısı yoktur, hemen hemen her türlü konuda diğer bilgisayarcılardan, USENET'ten, Google'dan, vs. kolayca bilgi edinebilir ve bunları pratik olarak uygulayabiliriz. Bununla birlikte bir konuya yeni başlayan birine derli toplu, sistematik olarak konuyu anlatan bir kitabın değeri ve pedagojik önemi tartışılmaz.

Adım Adım LATEX isimli kitap da yukarıdaki sebeplerden ötürü LaTeX konusunda önemli bir boşluğu dolduran belki de ilk ve tek Türkçe kaynak. Prof. Dr. Abdugafur Rahimov ve Orhan Kesemen tarafından yazılmış ve 2004 yılında kitabevlerinde satışa sunulmuş Adım Adım LaTeX kitabı, LaTeX isimli kaliteli belge oluşturma sistemine dair gerekli hemen hemen tüm bilgileri içeriyor. Kitabın ve LaTeX'in sadece matematikçilere ya da bilgisayarcılara hitap ettiğini düşünenler varsa, bu önyargılarını şimdiden silmelerinde fayda var. Psikolojiden, felsefeye, işletmeden hukuğa kadar, herhangi bir konuda ödev yazan, makale hazırlaması gereken ya da profesyonel görünümlü bitirme ödevi, yüksek lisans tezi, doktora tezi, kitap vs. yazmak isteyenlere bu kitabı rahatlıkla önerebilirim başucu kaynağı olarak.

Zemberek Nasıl Çalışır? 1. Bölüm: Sözlük ve Kök Ağacı

FZ

Zemberek bir kelimenin Türkçe olup olmadığına nasıl karar veriyor? Bu basit sorunun cevabı "verilen bir kelimeyi Türkçe kök ve eklerine ayırabilirseniz Türkçedir, ayıramıyorsanız değildir". Kısacası bir kelimenin Türkçe olup olmamasını anlamak için morfolojik analiz yapabilmelisiniz. Türkçe yazım denetimi yapabilmek için önceleri en sık kullanılan kelimelerin bir dosyaya konulup gelen kelimelerin o dosyadan kontrol edilmesi gibi ilk bakışta mantıklı görünen ama biraz inceleyince pratik olmadığı anlaşılan yöntemler de düşünülmüştü. Bu tür yöntemlerin yetersiz olan %98-99 doğrulukla çalışması için bile milyonlarca kelimeyi içermesi gerekir.

Makalenin devamı: http://zembereknlp.blogspot.com/2007/02/zemberek-nasl-alr-1szlk-ve-kk-aac.html