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

Liferay 6.1 vs Liferay 6.2



In  6.2 new features
============
ADTs  , Target Audience , New UI , Trash concept




company algorithm

in 6.1,company.encryption.algorithm=DES
in 6.2 ,company.encryption.algorithm=AES


in 6.1,
 company.encryption.key.size=56
 company.encryption.key.size=128
 
in 6.1,
  passwords.encryption.algorithm=SHA
in 6.2,
   passwords.encryption.algorithm=PBKDF2WithHmacSHA1/160/128000
 
 
 
  in 6.2, Liferay spell check in lucene search
 
 #
    # Set this to true to enable spell checking the query.
    #
    index.search.collated.spell.check.result.enabled=true

    #
    # Set the limit for considering the returned results as valid.
    # When this threshold is not met, the most relevant spell checked
    # query will be displayed.
    #
    index.search.collated.spell.check.result.scores.threshold=50




in 6.2 , some new concept Intraband

in 6.2, we have a property to contril http only cookies
 cookie.http.only.names.excludes=



In 6.2, Portal Resilency


in 6.1,     dl.file.max.size=3072000
   6.2  dl.file.max.size=0
 

 in 6.2, more lanagues support in translator portlet

   


in 6.1 by default these are true
 #
    # Set other Hibernate cache settings.
    #
    hibernate.cache.use_query_cache=false
    hibernate.cache.use_second_level_cache=false
 
 
 
In 6.2 , custom sql wildcards escapte enabled

    #
    # Set this property to true to automatically escape wildcards to literal
    # values.
    #
    custom.sql.auto.escape.wildcards.enabled=false

    #