Thursday, February 4, 2010

Cluster Unicast messaging mode

UNICAST messaging mode

WLS10.x onwards there are 2 messaging modes of cluster: Unicast and Multicast. According to the following document Unicast is the recommended messaging mode though there have been many issues reported.

http://download-llnw.oracle.com/docs/cd/E11035_01/wls100/cluster/features.html

a) In Unicast messaging mode, cluster members are split into groups and every group has a group leader. Cluster members communicate to the group leader when they need to send a broadcast message which is usually the heartbeat message. When the cluster members detect the failure of a group leader, the next oldest member becomes the group leader. All group leaders are connected to each other.

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

Unicast messaging mode Model:












Unicast Configuration:

Default Network Channel:

While creating a cluster choose Unicast as the messaging mode. If we leave the ‘Unicast broadcast channel’ blank then default listening port of the server is used if no channel is configured.

Config.xml looks like follows when default network channel is in use:







In the standard out of managed servers we will get the following message:





This means that the default channel will listen all the protocols.

Custom Network Channel:

For customer Network channels to be used with Unicast we need to create Network Channel by the same name under each server in cluster from Protocol > Channels

We can create custom network channels for different protocols. Protocol used by unicast is cluster-broadcast for communication. Use this custom channel name in the Unicast broadcast channel.

NOTE: For example, If you are configuring Network channel for different protocols say http, t3,iiop etc then cluster-broadcast will be one of the common protocol which will be default be configured along with other protocols. Hence, custom channel created for http, t3, iiop can be used as unicat broadcast channel.

Config.xml will have the following information where Channel-0 is the custom Network channel.






Here I configured Channel-0 for http protocol which is used as Unicast broadcast channel and I get the following message in the standard out of managed server:




While configuring channels other things that have that have to be taken care:

1) Listen Address, Listen port: If this is left blank then the server’s listen address will be taken as default address and port
2) External Address, External port: This is the address of firewall or loadbalancer if there is any.
3) HTTP enabled for this protocol: If you want that all http requests should be listen by the protocol for which network channel is configured then we need to keep this checked
4) Outbound Enabled: If this channel is going to listen to outbound traffic then this has to be checked

Refer: http://download.oracle.com/docs/cd/E15051_01/wls/docs103/config_wls/network.html#wp1058979

Unicast Debug Flag:
-Dweblogic.debug.DebugUnicastMessaging

Testing Unicast connectivity

In Unicast, we do not have any utility check network issues. We can suggest the customer to change the messaging mode to Multicast and check for network issues if there are any using the multicast utility

Multicast or IP multicast is a simple broadcast technology that enables multiple applications to subscribe to a given IP address and port number and listen for messages. The IP/port combination is setup when the cluster is defined and server instances uses multicast for JNDI updates andcluster heartbeats. So using java utils.MulticastTest -n server1 -a 224.x.x.x –p 9001 We just check whether all the Nodes
available in the Cluster is able to communicate or not. It is actually testing at the N/W level.

3 comments:

  1. thanks for this excellent post, it puts in one place information which is scattered around.

    I am trying to find out a way to test for Unicast connectivity. If you have any thought please let me know. thanks.

    ReplyDelete
  2. how to define in unicast first two servers can act as a group leader and other are group members and where to define

    ReplyDelete
  3. Nice and good article. It is very useful for me to learn and understand easily. Thanks for sharing your valuable information and time. Please keep updatingHadoop Admin Online Training Bangalore

    ReplyDelete