2010-11-19 18 views
1

Sorunun doğru bir şekilde nasıl formüle edileceğinden emin değilim, bu yüzden daha iyi fikirler varsa - devam edin ve önerin.Broker (medyatör) tabanlı haberleşmenin kullanıma hazır bir uygulaması

Sorun basit. Her iki güvenlik duvarı arkasında 2 eş A ve B var. Herkese açık bir broker veya arabulucu kullanarak birbirleriyle iletişim kurmayı diliyorum, hangisi daha iyi olursa olsun.

iletişim eşzamansızsa ve şöyle bir şey:

  1. Hem A hem B periyodik komisyoncu onlar için mesaj olup olmadığını soran anket. A'dan B'ye ile iletişim istediğinde
  2. o, komisyoncu orada gerçekten bunun için bir mesajdır ve buna göre tepki verdiğini görünce B anketler komisyoncu mesajı B.
  3. için olduğunu belirten komisyoncu bir mesaj gönderir.
  4. B mesajları işler ve bu bir noktada bir sandık Aracı A.
  5. özellikle mesaja bir yanıt olduğunu gösteren aracılık geri yanıt gönderir ve
B. yanıtı geri alır

Şimdi, bu tür iletişimi kendim acele etmeden ve uygulamaya koymadan önce, bu tür iletişimi kutunun dışında bırakan paketlerin kullanıma hazır olup olmadığını merak ediyorum.

Herkes?

Teşekkürler.

Edit1 Bir akran bir mesaj sunucusu üzerinde yüklü olmayabilir vurgulamak istiyoruz

. İki tek yönlü bağlantı ile istek yanıtını simüle etme anlamı yoktur. Gerçekten eşin cevabına bir cevap alabilmem gerekiyor, bu yüzden tek yönlü iletişim olamaz. EDIT2

Bir daha kısıt

yalnızca HTTP (S) bağlantı noktaları (S iletişim için açık olabilir, bu nedenle maddeler A ve B HTTP kullanarak aracılık iletişim bir durumda olabilir olabilir olmasıdır) bir tek.

cevap

0

Böyle bir aracı, Azure platformunda AppFabric'in bir parçası olarak var. AppFabric'te, bu tür aktarılan iletişime izin veren Service bus'u kullanabilirsiniz. Ancak bunu kullanırken ücret ödemek zorundasınız.

+0

Azure platformuna sahip olmak bir miktar aşırı sıkıştır. Daha hafif bir şey daha uygun olurdu. – mark

1

herhangi bir esb wold mu? Örneğin, http://www.nservicebus.com/ veya daha hafif: http://www.zeromq.org/

+0

NServiceBus, web sitelerinde hafif olduklarını iddia ediyor. Herhangi biriyle ilk elden deneyiminiz var mı? – mark

+0

İkisiyle de oynadım. Yine de üretimde hiçbir şey yok. nservicebus olduğundan daha hafiftir. ZeroMQ daha kolay. NServiceBus'un bana nasıl yardımcı olduğunu göremediğim halde, bağlantılar için – jgauffin

+0

+1. Tek yönlü mesajlaşma, oysa taleplerime cevap verebilmem gerekiyor. İletilerle simüle edilemez, çünkü eşler üzerine ileti sunucularının yüklenmesine izin verilmez. – mark

1

Herhangi bir HTTPS yığını kullanarak bunu önemsiz (IMO) hale getirebilirsiniz. Brokerinizin mimarisi, işlemek için ihtiyacınız olan hacme ve eşzamanlılığa bağlıdır. Uygulamalarınızın, URI'nin hedef düğümü içerdiği PUT ve GET mesajlarını alıp yanıt adresi için bir parametre ekleyebilecekleri bir kaynak modeli oluşturun. Bir çalışma kaynağı modelini öğrenmek için 1 gün sürmeli, kodlamak için 4 saat. Birime ihtiyacınız varsa, bir zeromq arka ucuna sahip mongrel2 gibi bir sunucu alın. Ya da bunu takdire değer bir şekilde yapması gereken node.js.

ZeroMQ, eşzamanlı uygulamalar oluşturmak için idealdir, ancak bir HTTP/S hizmeti değildir, mongrel2 gibi özel ön uçlar tarafından daha iyi sunulur.

+0

Giriş için teşekkürler. İhtiyacımın bu kadar tuhaf olmadığını ve raf çözümlerinden hazır olduğunu umuyordum. Sanırım hiç yok ve onları kendim uygulamak zorunda kalacağım. – mark

İlgili konular