Hi

Can anyone tell me how to Implement temporal based event correlation using drools fusion in a load balancing environment.
What is the best practice in a situation like this??

Use case : To correlate  events which comes into the system with in a time window.

Scenario1:
Single System Scenario: that is One working memory

1.All the events come into the system,
2.Temporal based rules are written using Drools-Fusion.
3.Correlations takes place if all the events come with in the time window, else the rule expires.
Note: All these takes place with in a single working memory ( Single System)


Scenario2:
Two System Scenario in active/active: that is two working memories

1.All the events come into the system,
2.Temporal based rules are written using Drools-Fusion.
3. Same rules are deployed in both the systems (active/active)
4.Both systems are load-balanced,
5. Event1 goes to System1,  Event2 goes to System2 and again Event3 goes system1. ( load -balanced)

As a result,   System1 recieves 2 events out of 3 events, and System2 the other 1 event. 

Correlation never happens since I dont recieve all the events in a single working memory.

How do we handle this kinda scenario??

Do we have any best practise that is followed in a clustered or load-balanced environment??

Pls help me.. I am stuck.

Regds
Chetan







In a single system, Fusion/temporal based correlation works completely fine.

Use case:
I have a situation, where events flow into two active components (both running simultaneosly)