Sunday, July 12, 2015

Liferay Clustering nodes communication

In Liferay clustering, Nodes communicate each other with  JGroups software.
Jgroups is Reliable and Multicast.

We use   UDP - Multicast 



##
## Multicast
##

    #
    # Consolidate multicast address and port settings in one location for easier
    # maintenance. These settings must correlate to your physical network
    # configuration (i.e. firewall, switch, and other network hardware matter)
    # to ensure speedy and accurate communication across a cluster.
    #
    # Each address and port combination represent a conversation that is made
    # between different nodes. If they are not unique or correctly set, there
    # will be a potential of unnecessary network traffic that may cause slower
    # updates or inaccurate updates.
    #

    #
    # See the property "cluster.link.channel.properties.control".
    #
    multicast.group.address["cluster-link-control"]=239.255.0.1
    multicast.group.port["cluster-link-control"]=23301

    #
    # See the properties "cluster.link.channel.properties.transport.0" and
    # "cluster.link.channel.system.properties".
    #
    multicast.group.address["cluster-link-udp"]=239.255.0.2
    multicast.group.port["cluster-link-udp"]=23302

    #
    # See the property "cluster.link.channel.system.properties".
    #
    multicast.group.address["cluster-link-mping"]=239.255.0.3
    multicast.group.port["cluster-link-mping"]=23303

    #
    # See the properties "net.sf.ehcache.configurationResourceName" and
    # "net.sf.ehcache.configurationResourceName.peerProviderProperties".
    #
    multicast.group.address["hibernate"]=239.255.0.4
    multicast.group.port["hibernate"]=23304

    #
    # See the properties "ehcache.multi.vm.config.location" and
    # "ehcache.multi.vm.config.location.peerProviderProperties".
    #
    multicast.group.address["multi-vm"]=239.255.0.5
    multicast.group.port["multi-vm"]=23305






##
## Cluster Link
##

    #
    # Set the cluster node bootup response timeout in milliseconds.
    #
    cluster.link.node.bootup.response.timeout=10000

    #
    # Set this to true to enable the cluster link. This is required if you want
    # to cluster indexing and other features that depend the cluster link.
    #
    cluster.link.enabled=false

    #
    # Set the JGroups properties for each channel, we support up to 10 transport
    # channels and 1 single required control channel. Use as few transport
    # channels as possible for best performance. By default, only one UDP
    # control channel and one UDP transport channel are enabled. Channels can be
    # configured by XML files that are located in the class path or by inline
    # properties.
    #
    cluster.link.channel.properties.control=UDP(bind_addr=localhost;mcast_group_addr=${multicast.group.address["cluster-link-control"]};mcast_port=${multicast.group.port["cluster-link-control"]}):PING:MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:FD_ALL:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096):pbcast.GMS(join_timeout=5000;print_local_addr=true)
    cluster.link.channel.properties.transport.0=UDP(bind_addr=localhost;mcast_group_addr=${multicast.group.address["cluster-link-udp"]};mcast_port=${multicast.group.port["cluster-link-udp"]}):PING:MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:FD_ALL:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096):pbcast.GMS(join_timeout=5000;print_local_addr=true)
    #cluster.link.channel.properties.transport.1=udp.xml
    #cluster.link.channel.properties.transport.2=mping.xml

    #
    # Set JGroups' system properties. System properties have higher priority
    # than individual properties given to each channel. That means system
    # properties will override individual properties.
    #
    cluster.link.channel.system.properties=\
        #
        # Common
        #
        \
        jgroups.bind_addr:localhost,\
        #jgroups.bind_interface:eth0,\
        \
        #
        # Multicast
        #
        \
        jgroups.mping.mcast_addr:${multicast.group.address["cluster-link-mping"]},\
        jgroups.mping.mcast_port:${multicast.group.port["cluster-link-mping"]},\
        jgroups.mping.ip_ttl:8

    #
    # Set this property to autodetect the default outgoing IP address so that
    # JGroups can bind to it. The property must point to an address that is
    # accessible to the portal server, www.google.com or your local gateway.
    #
    cluster.link.autodetect.address=www.google.com:80

##
## Cluster Executor
##

    #
    # Set this to true to enable the cluster executor debugging. This will
    # attach a debugging listener which will log every cluster event it
    # receives.
    #
    cluster.executor.debug.enabled=false

1 comment:

  1. My experience on Dumpspass4sure left an impressive expression on my mind. I downloaded Pass4sure Cisco dumps for what they demanded very low price. But before that I downloaded free demo questions. This demo version made up my mind to download Cisco original PDF file. Everyone can have such experience on this platform.

    ReplyDelete