*Sorry, same message with typo correction.*

hank you a lot Kishore.
Your first pointed out option could be appropriate to our requirement.
If the Server A will get up to date routing table from the server group B,
it could be sufficient.

Our requirement is that server A will access one of the members in cluster
B (that is the leader) and this leader will be active for any operation.
After that server will be unavailable other member in the cluster B will
take the place of the leader, *but server A should be updated about this
change.
*
Thanks again,
Erwin

On Sun, May 12, 2013 at 8:44 PM, kishore g <[email protected]> wrote:

> Hi Erwin,
>
> The code i sent basically shows how Server A can send the request directly
> to current Leader in server B group. Note, when leader changes in server B,
> server A dynamically discovers that change and updates it routing table.
>
> But looks like what you want is server A sends request to any one of the
> server in Server B cluster and that server will re-direct the request to
> the leader. In this case, the code i sent you must be included in every
> server in Server B group. To server A you can simply provide list of
> ip:port address and it can randomly select one of server and send the
> request to it.
>
>
> thanks,
> Kishore G
>
>
>
>
> On Sun, May 12, 2013 at 10:27 AM, Erwin Karbasi <[email protected]>wrote:
>
>> Hi Kishroe,
>>
>> Thank for the information.
>> I'll deep dive into the code that you sent tomorrow.
>> Is that code will ensure that I have one cluster that i can send to it
>> requests and one member from that cluster (leader) will grab the request
>> and treat it.
>>
>> Thanks again,
>> Erwin Karbasi
>> AT&T, Senior Software Architect
>>
>>
>> On Sun, May 12, 2013 at 7:57 PM, kishore g <[email protected]> wrote:
>>
>>> Hi Erwin,
>>>
>>> Thanks for looking into Helix. In Helix, most of the time the only
>>> configuration needed is the zookeeper address and cluster name. This is the
>>> code you can use to contact a server.
>>>
>>> //in the server A code at start up
>>> final RoutingTableProvider routingTable = new RoutingTableProvider();
>>> //Default Externalview implementation
>>> manager = HelixManagerFactory.getZKHelixManager(clusterName,
>>> instanceName, InstanceType.SPECTATOR, zkConnectString)
>>> manager.connect();
>>> manager.addExternalViewChangeListener(routingTable)
>>>
>>>
>>>
>>>
>>>
>>>
>>> //Any time you want to talk to servers B
>>> //you can get a instances for a specific resource, partition in specific 
>>> state. e.g getInstances("LockGroup", "lockGroup_0", "LEADER");
>>>
>>>
>>>
>>>
>>> List<InstanceConfig> instances = getInstances(String resourceName, String 
>>> partitionName, String state)
>>>
>>>
>>>
>>>
>>>
>>> //Get all instances in given resource in a specific state e.g 
>>> getInstances("LockGroup", "LEADER");
>>> Set<InstanceConfig> instances = getInstances(String resource, String state)
>>>
>>>
>>>
>>>
>>>
>>>
>>> InstanceConfig can give you all details about the server like host, port
>>> or anything else you want to add.
>>>
>>> Hope this helps. Thanks for bringing this up, we need to add an example
>>> code for this.
>>>
>>> Thanks,
>>> Kishore G
>>>
>>> On Sun, May 12, 2013 at 9:00 AM, Erwin Karbasi <[email protected]>wrote:
>>>
>>>>
>>>>  Hello Masters,
>>>>
>>>> We'd like to use Helix for Leader Election mechanism.
>>>> Following our scenario:
>>>>
>>>> We have one server (server A) that need to connect to group of other
>>>> servers (server B).
>>>> How server A can access the server B's group - cluster.
>>>>
>>>> As I know from other cluster frameworks, we can concatenate multiple
>>>> server ip:port and the cluster will pass the requests to the leader process
>>>> that in the cluster.
>>>>
>>>> How above scenario could be implemented by using Helix leader election
>>>> (Distributed lock manage) as demonstrated here:
>>>> http://helix.incubator.apache.org/recipes/lock_manager.html
>>>>
>>>> Your insight would be highly appreciated.
>>>>
>>>> Thanks,
>>>> Erwin Karbasi <[email protected]>
>>>> AT&T, Senior Software Architect
>>>>
>>>>
>>>
>>
>

Reply via email to