/ / jaki wzór zmq można użyć do komunikacji routera? - python-2.7, python-3.x, zeromq, pyzmq

jaki wzór zmq można użyć do komunikacji routera? - python-2.7, python-3.x, zeromq, pyzmq

Chcę połączyć peer-to-peer przez TCP. Z którym wzorem zmq mogę je połączyć? Czy potrzebuję serwera / klienta dla każdej strony?

Odpowiedzi:

0 dla odpowiedzi № 1

Możesz użyć kilku wzorców dla p2p.

Oto funkcje gniazda w skrócie:

  1. REQ-REP zsynchronizuj parę gniazd. plusy: nie usuwa wiadomości kiedy HWM został osiągnięty. Cons: ta para gniazd jest zsynchronizowana i blokowana, oznacza to, że jeśli gniazdo REQ wysłało wiadomość, to będzie czekać na odpowiedź na zawsze i nie będzie odpowiedzi, możesz użyć jej ponownie dopiero po odtworzeniu.
  2. DEALER-ROUTER asynchronizuj parę gniazd. plusy: te gniazda nie blokują i możesz kierować wiadomości, ale Cons: zostanie osiągnięty HWM z gniazda ROUTER, który usunie wiadomości i nie ma interfejsu API, aby poinformować o tym.
  3. PCHAĆ CIĄGNĄĆ asynchronizuj parę gniazd. plusy: brak bloków, brak wiadomości, asynchronizacja, Cons: bez routingu, więc jest idealny do p2p, ale jeśli masz połączenie 1-do-N wszystkie wiadomości będą dystrybuowane przez round robin

Jeśli masz N-do-N lub twoich rówieśników przychodzą i odchodzą i nie masz usługi wykrywania, możesz użyć dowolnego wzorca z brokerem (ale musisz wdrożyć brokera samemu, co nie jest trudne).

Tutaj jest Przewodnikmożna tam znaleźć wiele przykładów na temat Pythona.