A FeedMaster is a specialized type of Snaplex node that controls the distribution of Ultra task requests across the JCC nodes inside the Snaplex. It is a Java Virtual Machine (JVM) that acts as an interface between the JCC nodes, which execute the Pipelines, and the client. Because FeedMaster nodes in a Cloudplex are deployed by SnapLogic, this article addresses FeedMasters in a Groundplex (self-managed Snaplex), which your organization sets up.
If other resources are using the specified ports, you can change the port number to the component on the Node Properties tab.
For details about server requirements, see Snaplex Installation on Linux for Groundplex installation and Groundplex Deployment Planning for specific configurations.
You can configure more than one FeedMaster. In that configuration, you put a load balancer in front of the FeedMasters so that the requests are automatically distributed. The /healthz URL can be used by the load balancer to check for the health status of the FeedMaster. |
To deploy a FeedMaster:
From the Server type drop-down list, select FeedMaster.
Alternatively, you can create the Snaplex node first, then specify the Snaplex node-type in the SnapLogic global.properties
file by setting server_type=feed_master
.
If specifying a DNS host server name or other custom host name, then enter the hostname in the Snaplex properties to define FeedMaster node. The actual host name is the same one returned by the |
In the SnapLogic Dashboard, the FeedMaster Node is designated by the icon.
Because the FeedMaster node has to queue up requests, a certain amount of storage is required. The requests stay in the queue and take up space on disk until the message has been processed by the Pipeline.
Rate limit exceeded
.jcc.broker.disk_limit
property specifies the maximum space used to store queued messages on disk when the message is being processed. The default value is 10GB.If your Snaplex uses the slpropz configuration method, you can configure this value in Snaplex > Node Properties tab in Manager by specifying the limit in bytes in the Global properties field set:jcc.broker.disk_limit=
20971520
If your Snaplex does not use the slpropz configuration method, you must add the jcc.broker.disk_limit
value as an entry in the global.properties configuration file.
You can also change the storage location for the broker files using the following properties:jcc.broker_data_dir=
/mnt/datajcc.broker_sched_dir=
/mnt/datajcc.broker_tmp_dir
=/mnt/data
The default location is $SL_ROOT/run/broker
. Ensure that the mount you use for the broker files has sufficient disk space as per the disk_limit
configuration. The snapuser
user should have full access to the data location.
When running multiple Tasks on one Snaplex/FeedMaster, consider the following:
In some cases, in the latter scenario, all Tasks may be affected, even though some isolation between Task performance is maintained by the FeedMaster. To ensure complete isolation, we recommend that you use separate Snaplex instances for different workloads and to configure sufficient space. Thus making it easier to meet your SLA (Service Level Agreements). |
The timeout between the FeedMaster and client triggering requests to Ultra Pipeline Task is user configurable. You can configure the timeout on a per-request basis by passing an X-SL-RequestTimeout
header with the timeout value stated as the number of milliseconds (the default is 900000). You can also configure the timeout for the FeedMaster as a whole with the jcc.llfeed.request_timeout
global property.
Ultra requests are guaranteed to run at least once before the timeout. |