2015-06-05 13 views
5

Akka doc görüşmelerini çatışan:Akka kümeleme aralarında çok ayırt etmeden görünüşte birbiriyle ilişkili Akka teknolojilerinin çeşitli yaklaşık

  • Akka Ağ
  • Akka Remoting
  • Akka Kümeleme
  • Akka ZeroMQ modülü

Benim anlayışım bu "Akka Networking", Akka'ya TCP üzerinden uzak aktör sistemlerini konuşma yeteneği veren bir modüldür. Akka Remoting, Akka'ya Gossip protokollerinin kullanılmasını sağlayan başka bir modül/lib (çekirdek Akka JAR'da bulunmaz). Ve Akka Kümeleme, daha sonra, bu aktör sistemlerini bir araya getirmek ve bir viral/"hizmet keşfi" --esque şeklinde değişiklikleri paylaşmak için bu Gossip protokollerini kullanan bir başka modül/lib'dir. Ve Akka ZeroMQ'nun numaralı anlayışım, ZeroMQ'nun ağ bağlantıları ve protokolleri (Gossip yerine) temelinde kullanılması dışında Akka Kümeleme ile aynı şeyi gerçekleştirmesidir.

İlk olarak, eğer bu farklı modüller/kütüphaneler hakkındaki bilgilerim yanlışsa, lütfen beni düzelterek başlayın!

Burada az ya da çok hedef olduğumu varsayalım, o zaman benim temel endişem Uzaktan Aktarım Sistemi 2 (RAS2) ile iletişim kurmaya çalışan Akka Kümeleme (ve dolayısıyla Gossip) kullanarak Uzaktan Aktör Sistemi 1 (RAS1) sahibi olabileceğimizdir. hangi Akka ZeroMQ kullanır. Bu durumda, tamamen farklı iki kümeleme teknolojisi ve protokolleri kullanıyoruz, bu nedenle bu iki uzak sistem 'un birbirleriyle konuşamaması anlamına geliyor. birbirleriyle konuşamıyorlar veya birbirleriyle uyumlu olacak şekilde özel olarak dikkat edilmesi gerekiyor ?

cevap

1

Akka Remoting, bir oyuncunun farklı bir makinede başka bir oyuncuyla konuşmasına izin veren şeydir. Akka Remoting çalışması için size konuşmak istiyorum aktörün belirli bir IP adresini (veya ana bilgisayar adını), ActorSystem adı ve Aktör yolunu bilmemiz gerekir. ActorSystem adı 2 makinede farklı olabilir.

Akka Kümeleme konuştuğunuz belirli makineyi bilmek zorunda sorununu ortadan kaldıran (Cluster-farkında Yönlendirme yoluyla veya makineler katılırken veya kümeden ayrılıyor dinleyen bir resepsiyonist üzerinden). Kümelenme Farkında Yönlendirme ayrıca kümedeki herhangi bir makinede çalışan bir aktörün en az X örneğine sahip olmak gibi şeylere izin verir. Akka Kümeleme, kümelenme üyelerinin listesini tutmak için Gossip protokolünü kullanır. Küme etkinleştirilmiş bir uygulama, kümeye katılabilmek için her zaman koşması gereken en az bir ana bilgisayarın adresini bilmelidir. 2, 3 veya daha fazla olabilir, ama fikir şu ki en az birinin her zaman kalkması gerekiyor. Akka Kümeleme, Akka Remoting'in üstüne kurulmuştur.

Akka ZeroMQ ile çalışmamam rağmen, Akka AMQP'ye benzer şekilde çalıştığını farz ediyorum. Ben farklı makinelerde aktörler aktörlerin hiçbiri aktörleri çalışan diğer makineler hakkında herhangi bir özellikleri bilmek gerekir avantajla, birbirleriyle konuşmak sağlayan anlamda daha Remoting'den alternatif olarak görüyoruz. Ancak, Remoting olduğu gibi, (doğru şekilde Yönlendiriciler yapılandırana sürece) manuel Kümelemeli küme bunu halleder, oysa mesaj almak aktörleri oluşturmanız gerekir. En son sorunuzla ilgili olarak

. Bir küme olacağını Akka ZeroMQ konuşmak için düşünebildiğim en kolay yolu bir tane (veya birkaç?) ZeroMQ aktörler (yani aslında mix ve maç) konuşmak Kümede aktörleri. Küme içinde kuyruğu dinleyen ve iletiyi kuyruğa yayımlayan başka bir oyuncuya sahip bir aktörünüz olsun. Bir Bağdaştırıcı modelinin türü.