Alıntı : wikipedia.org
Çok yöne yayın
Bir veya bir grup makine arasında iletişim için birkaç yöntem vardır:
Tek yöne yayın: Bu yöntemde, her mesajın sadece bir kişiye ulaştırılabilir.
Dolayısıyla aynı mesajı birkaç kişiye göndermek için o mesajın birkaç kopyasını
çıkartmak ve her gönderilecek makineye teker teker gönderilmesi gerekir.
Çok yöne yayın: Bu yöntemde, bir gruba gelen mesajları almak isteyen bir makine
öncelikle grubun adresine kaydolur. Dolayısıyla, gruptaki tüm makinelere aynı
mesajı yollamak için mesajı grubun adresine sadece bir kez yollamak yeterlidir.
Her yöne yayın: Bu yöndemde, her mesaj ağdaki tüm makinelere yollanır. Her
makine ise ilgisini çekmeyen mesajları kendisi siler.
TCP/IP, standart olarak birçok yöne yayın sistemi sunar (IGMP) ve JGroups da ilk
başta bir IP çoklu yöne yayınına kolaylıkla abone olmak, mesaj almak, mesaj
göndermek ve aboneliği iptel etmek için yazılmıştır. Dolayısıyla, şu özelliklere
sahip idi:
IP çoklu yöne yayın gruplarının yaratılması ve yok edilmesi. Bu gruplar, büyük
ağlar arasında paylaştırılmış olabilir.
Bu gruplara abone olunması ve aboneliğin iptal edilmesi.
Grup içinde mesajlaşma. Öte yandan, bu mesajlaşma kayıplıdır (yani mesajlar
kaybolabilir).
JGroups'un eklentileri
IP çoklu yöne yayını birçok uygulamada kullanılmaktadır:
Gerçek zamanlı ses veya video yayını: bu durumda, bir mesaj kaybı çok önemli
değildir zira zaten önceki ve sonraki mesajlardan kaybolan veri "yaratılabilir".
Zaten insanlar da bu yayının mükemmel olmasını beklememektedirler.
Routerların senkronizasyonunu sağlayan OSPF protokolü: bu durumda, mesaj kaybı
bir soru değildir zira routerlar "sıkı" bir şekilde bağlı olduklarından
aralarında paket kaybetmemeleri beklenir.
Bu uygulamalar veri akışına ihtiyaç duymadıkları için IP çoklu yöne yayını
kayıplı ve sıralama olmayan bir protokoldür. Dolayısıyla JGroups hızlı bir
şekilde daha kullanışlı ve esnek bir yapı haline getirilmiştir:
Birçok protokol arasından seçim: UDP, TCP veya JMS.
Gelen ve giden abonelerin tespiti.
Cevap vermeyen (çökmüş) makinelerin tespiti ve gruptan çıkartılması.
Kayıpsız ve sıralı mesajlaşma.
Noktadan noktaya mesajlaÅŸma.
Büyük mesajların otomatik bölünmesi.
Atomik (ya hepsi ya hiçbiri), FIFO ve tamamen sıralı mesaj değişimi.
Åžifreleme.
vs.
Dolayısıyla JGroups, birkaç makine arasında iletişim kurmaya yarayan ve
senkronizasyon, talep dağıtımı veya sorun halinde yer değişimi gibi işlemleri
kolayca yapmaya yardımcı olan bir protokoldür.
Alıntı : wikipedia.org