Adding Execution and Analytics Engines

An initial Appian installation installs three execution engines and three analytics engines.

It is possible to add up to a total of 32 execution and 32 analytics engines by defining them in appian-topology.xml. This spreads the process execution load over a larger number of CPUs and allows for increased process throughput and system scale.

Appian does NOT support the removal of execution engines.

When an execution engine is added, it is added to the list of engines that are used to start new processes. Processes are distributed across all available execution engines (so long as they have not reached the MAX_EXEC_ENGINE_LOAD threshold). Subprocesses start on the same engine as their parent.

The number of process analytics engines and process execution engines in your instance must be the same.

Whenever you add a process execution engine, you must also add a process analytics engine.

You can add a pair of analytics and process execution engines to your existing configuration by simply listing the engine names in your topology file.

For example, if you have a standard topology where the engine servers all exist on the localhost machine, complete the following:

  1. Open the topology example file found at <APPIAN_HOME>/conf/appian-topology.xml.example.

  2. Locate the NEW DEFAULT TOPOLOGY section, which lists the following engine topology:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
     <topology port="5000">
       <server host="localhost">
         <engine name="forums"/>
         <engine name="notify"/>
         <engine name="notify-email"/>
         <engine name="channels"/>
         <engine name="content"/>
         <engine name="collaboration-statistics"/>
         <engine name="personalization"/>
         <engine name="portal"/>
         <engine name="process-design"/>
         <engine name="process-analytics0"/>
         <engine name="process-analytics1"/>
         <engine name="process-analytics2"/>
         <engine name="process-execution0"/>
         <engine name="process-execution1"/>
         <engine name="process-execution2"/>
       </server>
       <search-cluster port="9300">
         <search-server/>
       </search-cluster>
       <kafkaCluster>
         <broker host="localhost" port="9092"/>
       </kafkaCluster>
       <zookeeperCluster>
         <zookeeper host="localhost" port="2181"/>
       </zookeeperCluster>
       <data-server-cluster>
         <data-server host="server.domain.tld" port="5400" rts-count="2"/>
       </data-server-cluster>
     </topology>
    
  3. Add an execution engine by listing the following definition after the <engine name="process-execution2"/> attribute of the <server> element.

    1
    
     <engine name="process-execution3"/>
    
  4. Add an analytics engine for each execution engine using the same number that you assign to the execution engine. For example, when adding an engine named process-execution3, you must also add the following analytics engine.

    1
    
     <engine name="process-analytics3"/>
    
  5. Add any subsequent engines using the following numbered engine definitions, replacing # with a contiguously numbered engine. NOTE: The highest numbered engine definition you can add is process-execution31 and process-analytics31.

    1
    2
    
     <engine name="process-execution#"/>
     <engine name="process-analytics#"/>
    
  6. Save the file as appian-topology.xml.

Open in Github
FEEDBACK