Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In the above example, if TestService uses non-blocking operations (i.e. uses operations annotated with @OneWay), a ZeroMQ PUSH/PULL socket will be established between the reference and service. If the operations are blocking, XREQ/XREP will be used instead.

Cluster Operation

Note that the binding configuration in the previous figure did not specify an IP address and port combination to connect/bind to. If one is not specified, Fabric3 will allocate a port from the block reserved for each runtime. Addressing information will then be propagated by Fabric3 to required runtimes in the domain. For example, if TestServiceClient is hosted on a different machine than TestService, Fabric3 will transparently propagate the latter's address so that TestServiceClient can connect to the service.

...

Further, if TestService is deployed to a clustered zone, all endpoint addresses will be propagated to TestServiceClient, which in turn will round-robin requests to cluster instances.

Port Allocation

The ZeroMQ binding attempts to acquire ports for sockets from the block configured for a particular runtime or zone. For information on how to configure a port block, see Port Allocation.