Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] multiple service call

Hi Scott
    Thanks a lot for your response.Actually my load balancer needs to handle the following 2 queries

  Query1::  consumer needs to make service calls to all the provider and get the result and combine it.
  Query2::   consumer needs to make service call in round robin fashion

  Following is one of  my abstract ideas

1)i have a cluster service run by jgroup which has info about node type and its state(alive or not).

2)consumer can ask the cluster for list of alive provider nodes

3)for Query1 ,get the alive provider nodes and make service call using ECF generic 

4)for Query2,get any one alive provider node based on round robin and make service call using ECF generic

Could you please  suggest whether i can go ahead with this approach using ECF generic.Whether i need to do some changes to make ECF generic fit into this approach.Or do you suggest to go ahead with JMS.

Thanks and Regards

Abhisek



On Sun, May 16, 2010 at 9:39 PM, Scott Lewis <slewis@xxxxxxxxxxxxx> wrote:
Hi Abhisek,


abhisek saikia wrote:
Hi All
  I was trying to have a  load balancer using ECF.I am using ECF with ECF generic.my provider is distributed across multiple machines.And i want  my consumer to pick any of the provider based on round robin and make the service call..How can i do this?Does ECF have support for this?

The JMS/ActiveMQ has support for what you are describing (i.e. round robin service call handling), by using the semantics of the JMS Queue.  This is described w/src code here:

http://wiki.eclipse.org/Load_Balancing_Remote_Services

None of this logic is part of OSGi 4.2 remote services, however, so it's all specific to individual ECF providers.  Currently, there is *not* support for the round robin choosing/making service call in the ECF generic provider.  It could be added, but it would be a new feature for that provider...essentially duplicating the JMS/ActiveMQ Queue semantics (multiple consumers...i.e. service impls...attached to a single producer...i.e. service consumer/client).  As of right now, the JMS/ActiveMQ provider is the only one that supports this behavior.
A thing to be clear about, however, is that almost *all* of the ActiveMQ provider impl is actually in an abstract plugin:  org.eclipse.ecf.provider.jms...which just uses the JMS spec.  There is very little code that is ActiveMQ-specific.  So in good OSGi fashion :), it's very close to a trivial matter to reuse this abstract plugin to create providers based upon other JMS implementations, if desired.

Scott

_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev


Back to the top