Fanouts are a mechanism for distributing files among different locations and optimize the disk usage. If a machine does not have enough disk storage, fanouts can be enabled to link other partitions mounted on the machine. Fanouts are mapped into directories by GobyWeb. If you specify or add new fanouts, you must create the fanout directories under the parent directory  BEFORE starting the Web Application.

GobyWeb supports fanouts both for the webserver machine and the cluster.

For the webserver machine:

  • fanouts are defined in gobyweb.fanouts.FRONTEND_RESULTS in the WebAppConfig-production.groovy file and are expected to exist under the gobyweb.webResultsDir directory. For example, if you want to add 2 fanouts to the webserver machine, you can assign the value  ([ “hostname” : [“FAN1”, “FAN2”]] as Map)  to such setting and create on the file system two directories or links named FAN1 and FAN2 under gobyweb.webResultsDir, and results will be spread between those two directories. This enables to store the results on multiple disks.

For the cluster:

  • fanouts are defined in gobyweb.fanouts.BACKEND_FILES in the ClusterNodeConfig.groovy file and are expected to exist under the gobyweb.centralFilesDir directory.

The name of a fanout is completely arbitrary as long as it matches the name of the link or the folder under the “fanouted” directory.

If you specify no fanout values (by assigning null to the above settings), no fanout will be performed.