Versions Compared

Key

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

Fabric3 supports two deployment topologies: a single-VM domain where a runtime runs operates in isolation and a distributed domain where a controller manages one or more participant runtimesruntimes operate in unison as part of a domain. For an overview, see The Domain.

...

In addition to single-host deployments, a single-VM configuration can be used to run a shared-nothing Fabric3 cluster.

Distributed Domains

A distributed domain consists of a controller process that receives contributions and is responsible for propagating them to participants that host services and process requests: 

Image Removed

Participants are Fabric3 supports two distributed domain topologies: peer-to-peer node-based and controller-based. The recommended topology for the Fabric3 standalone server and Tomcat host is the node-based configuration. When run in other host environments such as WebLogic, Fabric3 will use the controller-based topology.  

The node topology is zero-configuration: as runtimes are booted they will auto-discover and converge in the domain. Nodes are partitioned into zones which are homogenous clusters. That is, each runtime in a zone has the same configuration and hosts replicas of the same services. Note that a controller is not a single point of failure since it is only needed to deploy a new contribution. Once a contribution has been propagated to an initial participant, new participant runtimes can be instantiated and they will contact a peer for the services they are to run. This makes it possible to shutdown a controller after a deployment and only requires the controller to be reactivated when a new deployment is requiredStarting a node runtime is simple - configure its domain name and zone as described below and execute: java -jar server.jar node.

Configuring the Runtime Mode

...

Code Block
languagexml
<config>
    <runtime mode="controllernode"/>
</config>

Valid values are: vm, node, participant, and controller.

...