Comparison Between Cluster Multicast Messaging and Unicast Messaging Mode

When servers are in a cluster, these member servers communicate with each other by sending heartbeats and indicating that they are alive. For this communication between the servers, either unicast or multicast messaging is used. This is chosen from the admin console in Cluster -> Configuration -> Messaging -> Messaging Mode.

To use multicast messaging, hardware configuration and support for multicast packets is required. Unicast does not have this requirement, which is why using unicast in latest versions is recommended.

When multicast messaging is used, it is a one-to-many communication, every server sends the notification/heartbeat/multicast packet to each other. This causes a heavy load on the application’s multicast buffer, so if the buffer is full, new multicast messages cannot be written to the buffer and the application is not notified when messages are dropped. So there is a possibility that the server instances miss the messages. This might lead in the cluster throwing out the server instances out of the cluster.

Unicast configuration is much easier because it does not require cross network configuration that multicast requires. Additionally, it reduces potential network errors that can occur from multicast address conflicts.

Mode of Communication:
Multicast – A multicast address and multicast port is used for listening to the messages.

Unicast – A network channel is used for communication between the servers. If no channel is specified, default network channel is used.

=====================

Method of communication between servers:
Multicast – Each server communicates with every member server in the cluster. Which means heartbeats are sent to every server.

Unicast – For the member servers in the cluster, group leaders are chosen and only those group leaders communicate with the servers among the group and these leaders notify each other about the availability of all the other servers.
For example : Suppose there are 6 servers in the cluster. 2 groups are made and there are 2 group leaders. Other 2 servers of the group will notify their leader that they are alive and the group leader will send this information to the leader of other group.

The frequency of communication in unicast mode is similar to the frequency of sending messages on multicast port.

=====================

For new server versions, using unicast is recommended because it is a simplified communication mode. But for backward compatibility with the previous versions, you will need to use multicast if there is a communication requirement between clusters of versions prior to WLS 10.0.

Whenever the messaging mode of the cluster is changed, all the servers in the cluster need a restart because the changes are not dynamic.

If you have any questions regarding unicast and multicast messaging mode, please let us know about it.

Best Regards,
Wonders Team!

39 comments

    1. Hi Ashok,

      Unicast messaging mode has been introduced in WLS versions 10.x and later. It is not available in 9.x..

      Best Regards,
      Divya

  1. Hi Divya,

    can you please explain detailly about the execute queues and workmanager?what is difference?I am waiting for your reply

  2. Hi,

    I am seeing below message in the logs, even though all servers are running.I have run the muticast test and it was successful.

    Any thoughts on this messages.

    Thanks a lot
    Sridhar

    1. Hi Suneel,
      I’m a java developer and I have setup the Wily to our application. This has more advantages, some of them are mentioned below.

      Benefits of Wily:
      1. Determine JVM Heap size like number of active objects, long living objects, short living objects, java threads, hung threads
      2. It is used to monitor all the database related information such as checks the database connection pool usage, check number of database queries, checks the execution time of database queries.
      3. Determine the memory leaks.
      4. Physical server memory usage.
      5. Number of connections for JSP’s and servlets and many more.

      Basically We need to use these 2 jar files “Agent.jar” and “WebAppSupport.jar”. This has to be configured in Appenv.bash file wor weblogic server. On middleware side I dont know how to do it.

  3. Hi Nag,

    There is not feature from weblogic to clean up log file.
    You can only rotate the log files based on certain criteria.

    If you wish to clean up log files you can write shell scripts to do that.

    Hope this answers your query.

    Thanks,
    Faisal

  4. Hi friends,

    Can someone help here?

    I’m using operating system “Ubuntu 10.10” , so i would like install weblogic 10.x version on ubuntu , and start play around.

    Couple of questions / doubts –

    1) Where can i get WebLogic Server 10.x version download link, can i get it from Oracle web site?

    2) If i can get it from Oracle itself means please send me the exact location to download it.

    3) What all other requirements/needs to work/install with along weblogic 10.x version ?

    4) And my laptop configuration goes like this –
    – i3 processor
    – 6GB RAM
    – 500HDD

    Please let me know if need any further additional information from me..

    Thanks
    Kiran

  5. hi divya
    can u tell me about how the servers are know about new server adding in cluster where it is in unicast using

    1. Hi Arzun,

      When a new server is added to the cluster, it becomes a member of the group and starts sharing heartbeats with other servers by default.

      Best Regards,
      Divya

  6. Hi,

    For what purpose we will do multicast test in weblogic.

    Thanks,
    Krishna

  7. Hi Diyya,

    u told Unicast is best.But one server is US,one server is UK and one server is India.this time which one suitable means Unicast or Multicast ?

    Thanks&Regards
    venkatsiva

    1. Hi Venkatsiva,

      Both unicast and multicast are dependent on network. If the network communication between the 3 servers is slow, neither of them will work properly. Oracle suggests to use unicast for better performance. So the recommendation is to go with the suggestion from oracle.

      Best Regards,
      Divya

  8. Hi,

    What is the maximum number of managed servers we can configure in unicast? What about maximum limit of Group leaders?

    Thanks & Regards,
    Mastan Shaik

    1. Hi Mastan,

      Apologoies for the delay in response. There is no documented limit of the maximum managed servers. The number of group leaders is not decided by us, it depends on how many servers are there in the cluster and is calculated internally.

  9. Hello Divya,

    how are the groups and groups leader made ?
    Is there any criteria on how groups and its members are made ?
    also what about the criteria? can we know , which server is the group leader ?

    Regards
    Dinesh

    1. if i remember correctly group leaders are decided at random and users have no control over it.
      Also there is not criteria as such.. group leaders are picked randomly..

  10. What about using unicast on hosts which have many unique WLS Clusters. Do separate unicast channels need to be defined to segregate the unicast messaging between each Clusters’ members?

    1. Yes, if we have multiple clusters within the same network then we have to specify different multicast address..

  11. Thanks a lot Wonders Team for the Post.

    i have a Query regarding Multi-cast Cluster configurations.

    can you please let me know what are the network configurations required for Multi-cast Clustering. and if we use Multi-cast mode in production what the Precautions we need to take?.

    and when we use unicast mode
    is it possible to configure one cluster address, other than specifying each servers IP and PORT every time?

  12. can we route the traffic to Multicast Cluster using Multicast IP and Port???

    if yes let me know what are the configurations we need to do.

    1. Hi Azas,

      I am not sure about this.
      If the servers are able to communicate with each other on the multicast ip and port, that is good enough.
      You can use the multicast utility to test if this will work.

      Thanks,
      Faisal

      1. Hi Faisal

        Actually am testing Multicast Clustering,

        am able to route the traffic with any of managed servers ip and port,

        but when i tried with Multicast IP and Port , the source not able to find the destination.

        i just want to know that can we route the traffic by using multi-cast IP and port,
        if yes, please let me know any more configurations required.

        Thanks
        Mohammed Azas

  13. Hi Divya,

    We have 10 managed servers in a single cluster which is using unicast messaging mode.

    out of 10 we see 1 managed server is in Dropping out of cluster.

    Can you please let me know any suggestions except restarting the server.

    THanks
    kotesh

    1. Hi Kotesh,

      Which machine is that particular managed server located at? Is there any other managed server on the same machine?

      Thanks,
      Divya

Comments are closed.