<HTML dir=ltr><HEAD><TITLE>Re: [esb-java-user] Loadbalancing with clusteraware stickiness(session affinity)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.16640" name=GENERATOR></HEAD>
<BODY>
<DIV id=idOWAReplyText94215 dir=ltr>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2>
<DIV dir=ltr><FONT face=Arial color=#000000 size=2>Hi Azeez,</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>yes, many thanks also from my side! Now this looks as expected and is more or less fully self explaning. :-)</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>Did you have to change the code in the Axis2 clustering module to read these parameters from the config or were they just missing in the axis2.xml?</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>I'm afraid that the first applies. I then would further guess that this change went to Axis2 trunk, as Axis2 1.4 is already out of the door. </FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>I would love to see this change in the Synapse 1.2/WSO2 ESB 1.7 version. The only way to achieve this would be a patch local to synapse, right? Hopefully the change in Axis2 only affects a single class which reads and sets the properties. Then at least this simple and straightforward backward possibility would allow for a simple patch. If all the assumptions above apply I would like to call for your vote for such a patch. Without having the possibility to configure these setting I'm quite sure that&nbsp;we won't get the ESB in our production environment with activated clustering (which we need for clustering and throttling). </FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>My apologies that I didn't notice this earlier. I was to sure that there is a way to configure this.</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT face=Arial size=2>Regards,</FONT></DIV>
<DIV dir=ltr><FONT face=Arial size=2>&nbsp;&nbsp; Eric</FONT></DIV></FONT></DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>Von:</B> Paul Fremantle [mailto:paul@wso2.com]<BR><B>Gesendet:</B> So 11.05.2008 09:27<BR><B>An:</B> esb-java-user@wso2.org<BR><B>Cc:</B> Hubert, Eric<BR><B>Betreff:</B> Re: [esb-java-user] Loadbalancing with clusteraware stickiness(session affinity)<BR></FONT><BR></DIV>
<DIV>
<P><FONT size=2>Azeez<BR><BR>Thanks!! This makes it much clearer.<BR><BR>Paul<BR><BR>Afkham Azeez wrote:<BR>&gt; 1. The default multicast address used is 228.0.0.4<BR>&gt; 2. The default multicast port is 45564<BR>&gt; 3. The default multicast frequency is 500ms<BR>&gt; 4. You can have multiple cluster groups using the same multicast address<BR>&gt; and port. In this case, you will need to specify unique domains.<BR>&gt; 5. The TCP port listening for replication messages is the first<BR>&gt; available server socket in range 4000-4100<BR>&gt; 6. You can have your HTTP/S, TCP etc. transports bound to one NW<BR>&gt; interface and use a different interface to handle clustering messages.<BR>&gt;<BR>&gt; I have added more parameters in the cluster configuration section of the<BR>&gt; axis2.xml file.<BR>&gt;<BR>&gt; &lt;parameter name="multicastAddress"&gt;228.0.0.4&lt;/parameter&gt;<BR>&gt; &lt;parameter name="multicastPort"&gt;45564&lt;/parameter&gt;<BR>&gt; &lt;parameter name="multicastFrequency"&gt;500&lt;/parameter&gt;<BR>&gt; &lt;parameter name="multicastMemberDropTime"&gt;3000&lt;/parameter&gt;<BR>&gt;<BR>&gt; &lt;parameter name="tcpListenHost"&gt;127.0.0.1&lt;/parameter&gt;<BR>&gt; &lt;parameter name="tcpListenPort"&gt;4000&lt;/parameter&gt;<BR>&gt;<BR>&gt; multicastAddress &amp; multicastPort are used for membership management<BR>&gt; through multicasts.<BR>&gt; tcpListenHost &amp; tcpListenPort are the parameters used for specifying the<BR>&gt; IP and port used for member-to-member communications.<BR>&gt;<BR>&gt; HTH<BR>&gt; Azeez<BR>&gt;<BR>&gt; Hubert, Eric wrote:<BR>&gt;&gt; Hello Azees,<BR>&gt;&gt;<BR>&gt;&gt; thanks for your reply which answers some of our questions. Please see my<BR>&gt;&gt; comments below!<BR>&gt;&gt;<BR>&gt;&gt;&gt; Please see <A href="http://wso2.org/project/wsas/java/2.2.1/docs/wsas-">http://wso2.org/project/wsas/java/2.2.1/docs/wsas-</A><BR>&gt;&gt;&gt; clustering.html<BR>&gt;&gt; Thanks, I will review this documentation as well.<BR>&gt;&gt;<BR>&gt;&gt;&nbsp;<BR>&gt;&gt;&gt;&gt; What shall I do to activate clustering support for WSO2 ESB? Is it<BR>&gt;&gt;&gt;&gt; sufficient to uncomment the configuration section about clustering<BR>&gt;&gt; in<BR>&gt;&gt;&gt;&gt; Axis2.xml of all nodes? This is what we actually did.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt; Generally this is sufficient provided that multicasting is enabled on<BR>&gt;&gt;&gt; your network.<BR>&gt;&gt; Ok, multicasting was enabled on our test environment. We also used the<BR>&gt;&gt; same environment for a clustered JMS test with JBoss using JGroups.<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;&gt;&gt; How does clustering work internally? I could not see any multicast<BR>&gt;&gt;&gt;&gt; configuration or something like that.<BR>&gt;&gt;<BR>&gt;&gt;&gt; You do not have to configure the multicast address. Tribes will figure<BR>&gt;&gt; it<BR>&gt;&gt;&gt; out. In order to have multiple groups, you need to provide different<BR>&gt;&gt;&gt; "domain" entries in the axis2.xml file for the nodes belonging to the<BR>&gt;&gt;&gt; different groups.<BR>&gt;&gt; Sorry, but I don't understand how an implementation can figure out the<BR>&gt;&gt; multicast address/port I have to use? In a production environment we<BR>&gt;&gt; can't use random or framework specific values. We are forced to<BR>&gt;&gt; configure the values we get assigned by the operations team.<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;&gt; When it comes to sending messages to the cluster, TCP connections are<BR>&gt;&gt;&gt; used.<BR>&gt;&gt; Which port(s) will be used for that communication?<BR>&gt;&gt;<BR>&gt;&gt;&nbsp;<BR>&gt;&gt;&gt; The NW interface to which the clustered node should be bound to can be<BR>&gt;&gt;&gt; provided by specifying the "axis2.local.ip.address" System property.<BR>&gt;&gt;&gt; e.g. if you have two interfaces with IPs 192.168.1.23 &amp; 192.168.1.50,<BR>&gt;&gt;&gt; and want to bind the node to the first interface, you can point the<BR>&gt;&gt;&gt; axis2.local.ip.address system property to 192.168.1.23. There is<BR>&gt;&gt; another<BR>&gt;&gt;&gt; way the same thing can be achieved; edit the /etc/hosts file and point<BR>&gt;&gt;&gt; the entry with you machines name to the required IP address.<BR>&gt;&gt; The second option will not work for us. We have no influence on that.<BR>&gt;&gt; Does this affect the whole binding, or only the multicast binding? Maybe<BR>&gt;&gt; I would like to bind the normal http listener to more than one IP<BR>&gt;&gt; address but handle the multicast traffic over a specific interface. How<BR>&gt;&gt; to achieve this?<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;&gt;&gt; According to the comments in the JIRA our configuration should work,<BR>&gt;&gt; as<BR>&gt;&gt;&gt;&gt; we use named endpoints. Please find attached our synapse<BR>&gt;&gt; configuration<BR>&gt;&gt;&gt;&gt; file.<BR>&gt;&gt;&gt;&gt; If we don't miss any configuration step, I will open a new JIRA<BR>&gt;&gt; issue.<BR>&gt;&gt;&gt;&gt; Please let me know how to proceed with this!<BR>&gt;&gt; So it seems as if we didn't miss any configuration in order to get our<BR>&gt;&gt; example working. As proposed we will wait for the new snapshot build<BR>&gt;&gt; from the release branch to test this again, before we will raise an<BR>&gt;&gt; issue on that.<BR>&gt;&gt; Regards,<BR>&gt;&gt;&nbsp;&nbsp;&nbsp; Eric<BR>&gt;&gt;<BR>&gt;<BR>&gt;<BR>&gt; _______________________________________________<BR>&gt; Esb-java-user mailing list<BR>&gt; Esb-java-user@wso2.org<BR>&gt; <A href="http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user">http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user</A><BR>&gt;<BR><BR>--<BR>Paul Fremantle<BR>CTO and Co-Founder, WSO2<BR>OASIS WS-RX TC Co-chair<BR>VP, Apache Synapse<BR><BR>Office: +44 844 484 8143<BR>Cell: +44 798 447 4618<BR><BR>blog: <A href="http://pzf.fremantle.org/">http://pzf.fremantle.org</A><BR>paul@wso2.com<BR><BR>"Oxygenating the Web Service Platform", www.wso2.com<BR></FONT></P></DIV></BODY></HTML>