0
votes

I developed 4 proxy services using WSO2 Enterprise Integrator 6.5.0.

So i need to implement clustering with load balancer on these services to test of their Performance (Stress)

Note : I'm implementing on my localhost (Windows 10)

I followed below guide : 

https://medium.com/@snsavithrik1/wso2-ei-worker-manager-clustering-on-a-single-machine-dae1161bcb78

But it seems not working, gives me, no response

enter image description here

it is my management node axis.xml config :

 <parameter name="localMemberHost">mgt.esb.wso2.com</parameter>
  <parameter name="localMemberPort">4100</parameter>
  <member>
    <hostName>esb.wso2.com</hostName>
    <port>4200</port>
  </member>

carbon.xml (Management node - First node) :

   <!--HostName>www.wso2.org</HostName-->
    <HostName>esb.wso2.com</HostName>
    <MgtHostName>mgt.esb.wso2.com</MgtHostName>

Worker node : Axis.XML

<parameter name="localMemberHost">esb.wso2.com</parameter>
<parameter name="localMemberPort">4200</parameter>
  <member>
    <hostName>mgt.esb.wso2.com</hostName>
    <port>4100</port>
  </member>

carbon.xml - Worker node (second node) :

<HostName>esb.wso2.com</HostName>

system32/driver/hosts config :

    127.0.0.1          esb.wso2.com
    127.0.0.1          mgt.esb.wso2.com
#   127.0.0.1          esb.wso2.com
#   127.0.0.1          mgt.esb.wso2.com
#   ::1                esb.wso2.com

Help me please! Regards, Thanks

1
you need no cluster for stress / performance tests. The cluster is used only for managing singleton tasks, such as message processors, scheduled tasks, ..gusto2
got you, but i need toIderkhangai.A

1 Answers

0
votes

Your hostnames are resolved resulting to the same localhost IP address, so no new member is detected

Some things to improve / fix:

  1. Use IP addresses for clustering (and not 127.0.0.1), it is so as well in the blog you've linked
  2. you can set the members sections to contain all member hosts

example of axis2.xml

<parameter name="localMemberHost">192.168.100.12</parameter> <parameter name="localMemberPort">4100</parameter> <members> <member> <hostName>192.168.100.12</hostName> <port>4100</port> </member> <member> <hostName>192.168.100.13</hostName> <port>4100</port> </member> <members>

I have very bad feeling that each cluster member is recognized based on its IP address so you may have an issue to set it on a single 'localhost'. Test it and see.

Note - personally I use Docker to test / deploy / manage multiple instances, you will get cleaner separation.