|Re: [ecf-dev] help|
On 3/22/2011 5:29 AM, ronen hamias wrote:
<stuff deleted>That's what the discovery mechanism if for.
few questions:i wish to distribute the consumer and provider remotly i dont see how the consumer is aware of its providers location...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).
1. what methods should i use for dynamic discovery of endpoints?
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.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).
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?
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.
ecf-dev mailing list
Description: GIF image