A Snaplex is a runtime environment to run customer pipelines. One or more nodes can belong to a Snaplex, with pipeline execution requests automatically load balanced across the nodes. The algorithm is a least loaded (based on active threads) - randomized; if there are equivalent loaded nodes it will randomize the execution across them. You can see the number of active threads from within the "Additional information" option on the Snaplex node drop-down in the Snaplex Health Wall of Dashboard.
The Snaplex can be in the cloud (Cloudplex) or on premise (Groundplex). Snaplex instances are configured by SnapLogic when the customer is provisioned. For Cloudplex instances, SnapLogic will install and maintain the Snaplex nodes. For Groundplex instances, the customer has to install the Snaplex software on nodes in the customer data center.
Every Snaplex has a name, for example ground-dev or ground-prod. In the SnapLogic Designer, the user can choose which Snaplex pipelines are executed on. The Snaplex configuration will have an environment associated with it, for example dev or prod. When the nodes are configured for the Snaplex, the jcc.environment has to be set to the environment value as configured for the Snaplex.
The hostname of the system used by a Groundplex can not use an underscore (_) in its name as per DNS standards. Avoid special characters as well.
After the Snaplex service is started on a node, the service connects to the SnapLogic cloud service. Runtime logs from the Snaplex are written to the /opt/snaplogic/run/log (or c:\opt\snaplogic\run\log) directory. The Dashboard shows the nodes that are currently connected for each Snaplex.
Best Practices for Setting Up JCC Node Communication within a Groundplex
We recommend that JCC nodes in a Snaplex are setup within the same network and data center. Communication between JCC nodes in the same Snaplex is required for the following reasons:
The Pipeline Execute Snap communicates directly with neighboring JCC nodes in a Snaplex to start child Pipeline executions and send documents between parent and child Pipelines.
The data displayed in Data Preview is written to and read from neighboring JCC nodes in the Snaplex.
The requests and responses made in Ultra Pipelines are exchanged between a FeedMaster node and all of the JCC nodes in a Snaplex.
A Ground Triggered Task (invoked from a Groundplex) can be executed on a neighboring JCC node due to load-balancing—in which case, the prepare request and the bodies of the request and response are transferred between nodes.
Therefore, any extra latency or network hops between neighboring JCC nodes can introduce performance and reliability problems.