Hi Sinthuja,

I tested with two BAM servers pointing to its own cassandra (not
clustered). I was not able to see the load balancing scenario where nearly
equal amount of events are published into respective BAM nodes.

Following is the code that I have used. Please correct me if I have done
something wrong.

Urls defined in appfactory.xml

*            tcp://192.168.16.2:7614
<http://192.168.16.2:7614>,tcp://192.168.16.2:7624
<http://192.168.16.2:7624>*

code for preparing receiver groups





























* AppFactoryConfiguration config = AppFactoryUtil
.getAppfactoryConfiguration();            String EnableStatPublishing =
config
.getFirstProperty("BAM.EnableStatPublishing");            String
bamServerURL = config.getFirstProperty("BAM.BAMServerURL");
String bamServerUserName = config
.getFirstProperty("BAM.BAMUserName");            String bamServerPassword =
config                    .getFirstProperty("BAM.BAMPassword");
AgentConfiguration agentConfiguration = new
AgentConfiguration();            Agent agent = new
Agent(agentConfiguration);            ArrayList<ReceiverGroup>
allReceiverGroups = new ArrayList<ReceiverGroup>();
ArrayList<String> receiverGroupUrls =
DataPublisherUtil.getReceiverGroups(bamServerURL);            for (String
aReceiverGroupURL : receiverGroupUrls) {
ArrayList<DataPublisherHolder> dataPublisherHolders = new
ArrayList<DataPublisherHolder>();                String[] urls =
aReceiverGroupURL.split(",");                for (String aUrl : urls)
{                    DataPublisherHolder aNode = new
DataPublisherHolder(null, aUrl.trim(), bamServerUserName,
bamServerPassword);
dataPublisherHolders.add(aNode);                }
ReceiverGroup group = new ReceiverGroup(dataPublisherHolders,
true);                allReceiverGroups.add(group);            }
           loadBalancingDataPublisher = new
LoadBalancingDataPublisher(allReceiverGroups, agent);*

Method for event publishing




*public void publishEvents(Event event, String Stream, String
version)            throws AgentException, InterruptedException
{                loadBalancingDataPublisher.publish(Stream, version,
event);           }*

Thanks
GayanD



On Wed, Oct 22, 2014 at 7:32 PM, Sinthuja Ragendran <sinth...@wso2.com>
wrote:

> Hi gayan,
>
> In order to verify the loadbalancing of events in a round robin manner,
> you can have two BAM nodes pointing to its own cassandra instance (not
> clustered), and send the events to those BAM nodes. If your client is
> configured correctly for load balancing scenario, then you will see each
> bam nodes will have nearly equal amount of events stored in its respective
> BAM nodes. This is just for testing purpose to verify, but of course in
> real case cassandra will be clustered, hence finally even though the load
> is balanced within receiver nodes it stores in the same cassandra cluster,
> hence it's not observable from outside.
>
> Thanks,
> Sinthuja.
>
> On Wed, Oct 22, 2014 at 4:53 AM, Gayan Dhanushka <gay...@wso2.com> wrote:
>
>> Hi all,
>>
>> I have been trying to move the AsyncDataPublisher used in App Factory to
>> LoadBalancingDataPublisher to cater load balancing and failover. Even
>> though [1] describes that it sends data to available receiver nodes in a
>> round robin manner, I was only able to observe the failover scenario.
>>
>> Can somebody please explain ?
>>
>> [1]
>> https://docs.wso2.com/display/BAM240/Setting+up+Multi+Receiver+and+Load+Balancing+Data+Agent#SettingupMultiReceiverandLoadBalancingDataAgent-Loadbalancingconfigurations
>>
>> Thanks
>> GayanD
>>
>> --
>> Gayan Dhanuska
>> Software Engineer
>> http://wso2.com/
>> Lean Enterprise Middleware
>>
>> Mobile
>> 071 666 2327
>>
>> Office
>> Tel   : 94 11 214 5345
>> Fax  : 94 11 214 5300
>>
>> Twitter : https://twitter.com/gayanlggd
>>
>
>
>
> --
> *Sinthuja Rajendran*
> Senior Software Engineer <http://wso2.com/>
> WSO2, Inc.:http://wso2.com
>
> Blog: http://sinthu-rajan.blogspot.com/
> Mobile: +94774273955
>
>
>


-- 
Gayan Dhanuska
Software Engineer
http://wso2.com/
Lean Enterprise Middleware

Mobile
071 666 2327

Office
Tel   : 94 11 214 5345
Fax  : 94 11 214 5300

Twitter : https://twitter.com/gayanlggd
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to