Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why use Unicast versus Multicast in Weblogic Clusters

Tags:

It's unclear from the documentation why you should use Unicast rather than Multicast in a WebLogic cluster. Anyone have experience using either and the benefits of moving to Unicast?

like image 333
BestPractices Avatar asked Dec 02 '10 18:12

BestPractices


People also ask

What is difference between Unicast and Multicast in WebLogic?

Unicast uses TCP communications and this usually requires no additional network configuration. Multicast uses UDP communication and Multicast addresses and this may require some network configuration and an additional effort in selecting the address to be used.

What three types of communication are cluster networks primarily used for?

What three types of communication are cluster networks primarily used for? client access, cluster communication, and storage network.

How many types of clusters are there in WebLogic?

A domain includes one or more WebLogic Server instances, which can be clustered, non-clustered, or a combination of clustered and non-clustered instances.

What is the use of cluster in WebLogic?

A WebLogic Server cluster consists of multiple WebLogic Server server instances running simultaneously and working together to provide increased scalability and reliability. A cluster appears to clients to be a single WebLogic Server instance.


2 Answers

The main difference between Unicast and Multicast is as follows

Unicast:

Say you have three servers (MS-1,MS-2,MS-3) in a cluster. If they have to communicate with each other, then they have to ping (i.e. heartbeats ) the cluster master for informing it that they are alive.

If MS-1 is the master then MS-2 and MS-3 would send the ping to MS-1

Multicast:

In Multicast, there is no cluster master. Instead each server has to ping each other to inform everyone that they are alive.

So MS-1 would send the ping to MS-2 & MS-3 and at the same time MS-2 would send the ping to MS-1 & MS-3 and MS-3 would ping MS-1 & MS-3.

Thus, in multicast there are more pings sent which makes the congestion in sending the pings much heavier compared to unicast. Because of this, WLS recommends using Unicast instead for less congestion in the network: Oracle Docs: Communications In a Cluster

like image 159
Ravish Mody Avatar answered Sep 20 '22 07:09

Ravish Mody


The principle behind Multicast is that any message is received by all subscribers to the Multicast address. So MS-1 only needs to send 1 network packet to alert all other cluster members of its status. This means a status or JNDI update requires only 1 packet per Cluster for Muticast vs 1 packet per Server (approximately) for Unicast. Multicast also requires no "master" election. Multicast is thus far simpler to code and creates less network traffic.

So, Multicast is great? Not necessarily. It uses UDP datagrams which are inherently unreliable and un-acknowledged, so given the unreliable bearer protocol - Etherent - your message might never turn up (interpret: you fall out of the cluster). The whole concept of Multicast is based on subscription, it is not a 'routable' protocol in the normal sense, so by default routers must discard Multicast packets or risk a network storm. Hence the historical requirement for all cluster members to reside on the same network segment.

These shortcomings of Multicast mean Unicast is the way to go if your cluster spans networks or you're losing too many multicast packets.

like image 45
Eric Lee Avatar answered Sep 20 '22 07:09

Eric Lee