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
|