[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] help

On 3/22/2011 5:29 AM, ronen hamias wrote:

<stuff deleted>
few questions:
i wish to distributeÂthe consumerÂand providerÂremotly i dont see how the consumer is aware of its providers location...

That's what the discovery mechanism if for.

1. what methods should i use for dynamic discovery of endpoints?

ECF has a discovery API that is used for Endpoint Discovery, and this API supports multiple providers. There are examples in the hello world consumer (and host) of using zeroconf, apache zookeeper, edef (file-based discovery). And there are also ECF discovery providers which use dnssd and slp (Service Locator Protocol).

The selection of a discovery provider should be based upon your use case...i.e. how is your service going to be discovered by clients? (i.e. statically...via edef files, or dynamically (via one of the network protocols)...on LAN, WAN, or both?...with a server to coordinateservice discovery (e.g. zookeeper) or serverless, etc.


2. what happen if i have 3 instances of my service on 3 diffrent nodes how the consumer will locate these 3 instances and which of them will he invoke?

This is what the network discovery is for...for communicating the meta-information about the remote services (i.e. EndpointDescriptions) to the consumers of those services (through some means of discovery).Â

If your application needs to make some application-level decisions about which services (or which remote services) to import or invoke then you can implement that in several ways...e.g. by having your own service properties, by having/using multiple service interfaces (i.e. different service types). You can also control the actual remote service import...if you wish...by creating your own topology manager...in order to decide (for example), when to import a discovered remote service, and when to ignore it.

Scott