Re: [jgroups-users] Multicast UDP without higher level protocols?

Questions/problems related to using JGroups <[email protected]>
Newsgroups gmane.comp.java.javagroups.general
Message-ID <[email protected]>

On 12/02/16 00:37, Questions/problems related to using JGroups wrote:
> Greetings form Oregon!

Greetings from Switzerland!

> I have a question about the higher level protocols when it comes to UDP
> multicast:
>
> I was working on some existing code tracking down some instances of what
> appeared to be possibly a split brain.  Their configuration was only the
> lowest level multicast: (Sorry about the old style, just wanted to
> replicate exactly what they had)
>
> UDP(mcast_addr=228.9.7.9;mcast_port=45599;
> ucast_recv_buf_size=128K;ucast_send_buf_size=128K;mcast_recv_buf_size=128K;mcast_send_buf_size=128K)

This is as if you only used a MulticastSocket for sending and receiving 
of messages; no group membership or retransmission.

> So I created a test where a JChannel was created connecting to
> “Docker-JGroups” cluster and periodically “ping” with
> channel.send(Message)  I’d then watch the channel view and the results
> of who replied for each hosts.
>
> I’d then fire this up in a batch of docker containers (# ranging from 3
> to 20)
>
> I’d then tweak the host iptables to either drop or reject the multicast
> packets coming through the docker “network”  I’d see the individual
> programs cease to find each other and be running in their own instance.
> That’s good
>
> Then I’d delete the iptables rule and I’d see them all join up again
> into a single network cluster? (By single cluster, I mean, all the hosts
> are responding to the JChannel.send() again)
>
> I thought things like FD, MERGE and pbcast.GMS were required for all of
> that to work properly?  In fact the only thing I can tell is that when I
> have only UDP protocol setup, that each node thinks it’s the cluster
> coordinator, and failure detection seems to be a little faster with all
> the other protocols combined, but I can’t tell any difference otherwise?
>
> Obviously I’m missing something basic – would you mind explaining why
> the behavior is so similar despite the fact that there’s only one
> protocol configured with this particular configuration?

With UDP only, the members were not really in a cluster; they each fired 
messages to the multicast address and everyone received them. However, 
this did not
- provide a cluster view (channel.getView() should be null) and notify 
the app when members joined or left
- retransmit dropped packets
- prevent duplicate packets
- provide ordering

etc.

I've seen stacks like UDP:UNICAST3 which means that multicasts are 
unreliable and unicasts are reliable, the use case was audio/video 
transmission where dropped packets are not a problem.

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.