Versions Compared

Key

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

...

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

Follow below steps to enable distributed processing to a bucketan execution plan.

  • Create distributed CEP buckets execution plans with the following properties

    Warning
    titleWarning
    Not following the below conventions will lead to unpredictable results!
    • All bucket execution plans across nodes has to have the same Bucket Execution Plan Name

    • All should use Siddhi CEP back end runtime engine

    • Buckets Execution Plans has to have the following Backend Runtime Configuration

      No Format
      Backend Runtime Configuration
      
      Persistence snapshot time interval in minutes	: 0
      Enable distributed processing			: true
      

      These can be added to the configuration file as below.

      Code Block
      languagehtml/xml
      linenumberstrue
      <bucket name="FraudAnalyzer" xmlns="http://wso2.org/carbon/cep">
          ...
          <engineProviderConfiguration engineProvider="SiddhiCEPRuntime">
              <property name="siddhi.persistence.snapshot.time.interval.minutes">0</property>
              <property name="siddhi.enable.distributed.processing">true</property>
          </engineProviderConfiguration>
          ...
      </bucket>
      
      
    • All buckets should have identical queries (Queries has to use same stream names, same type of events and queries in all the buckets 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 buckets to CEP nodes.

...