Versions Compared

Key

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

...

In WSO2 CEP, distributed processing can be enabled at per execution plan level where by only those identified execution plans will use the distributed cache for processing,

Follow below steps to enable distributed processing to an execution plan.

Create distributed CEP execution plans with the following properties

Warning
titleWarning
Not following the below conventions will lead to unpredictable results!
Info
titleNote

In order to enable distributed deployments, prior to starting up the server, users need to enable hazelcast clustering by setting <CEP_HOME>/repository/conf/axis2/axis2.xml's clustering to true.

<clustering  class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent"  enable="true">

...

Follow below steps to enable distributed processing to an execution plan.

  • Create distributed CEP execution plans with the following properties

    Warning
    titleWarning
    Not following the below conventions will lead to unpredictable results!

    • All execution plans across nodes has to have the same Execution Plan Name

    • Execution Plans has to have the following Backend Runtime Configuration

      No Format
      Siddhi Configurations
      
      Snapshot time interval	  : 0
      Distributed processing	  : true
      

       

      These can be added to the configuration file as below.

      Code Block
      languagehtml/xml
      linenumberstrue
      <executionPlan name="FraudAnalyzer" statistics="enable"
                     trace="enable" xmlns="http://wso2.org/carbon/eventprocessor">
          ...
          <siddhiConfiguration>
              <property name="siddhi.enable.distributed.processing">true</property>
              <property name="siddhi.persistence.snapshot.time.interval.minutes">0</property>
          </siddhiConfiguration>
          ...
      </executionPlan>
      
      
    • All execution plans should have identical query expressions (Queries has to use same stream names, same type of events and query expressions in all the execution plans have to be in the same order)

    • But the input topics need NOT to be the same, by using different input topics users can distribute load when publishing to CEP.

  • Deploy the execution plans to CEP nodes.

...