2014-07-14 3 views
2

나는 시스템 트랜잭션이 일정 기간 및 여러 "빌드 업"단계를 통해 발생/완료되는 사용 사례가 있습니다. 프로세스의 각 단계는 하나 이상의 이벤트 (트랜잭션 당 최대 22 개의 이벤트)를 생성합니다. 트랜잭션 내의 모든 이벤트는 공유되고 고유 한 (uuid) 상관 ID를가집니다.wso2/ws02 CEP, ESPER 또는 다른 것?

예제 트랜잭션 X : EventA, EventB, EventC ...의 빌딩 블록이 있으며 고유 한 상관 식별자로 태그가 지정됩니다.

여기서 궁극적 인 목표는 RDBMS에서 모든 개별 이벤트를 지속하지 않고 통합보기 (많은 조인)를 조회하는 것입니다. 다음과 같이해야합니다. 하나의 트랜잭션 레코드 만 지속 시켜서 각 단계의 속성을 통합합니다. 트랜잭션.

나의 연구는 지금까지 Esper (여기의 Java 스택) 및 WSo2/WS02 CEP에 대한 독서로 나를 이끌었습니다. 내 경우에는 각 이벤트가 JMS에 대기/대기열에 포함되며 WS02/WSo2 CEP와 같은 솔루션을 사용하여 JMS 이벤트/메시지 (스트림)를 통합하고 상관 ID (최대 시간 제한 30 분)를 기반으로 생성 할 수 있는지 궁금합니다. 하나의 통합 된 레코드와 그것을 JMS로 전송하여 궁극적으로 DB에 보관하십시오.

저는 아직 연구 모드에 있기 때문에 솔루션에 대한 올바른 길을 가고 있는지 궁금합니다.

누구나 WS02/WSo2 CEP를 사용하여 이러한 것을 달성 했습니까? 다른 추천?

감사 -S

답변

0

보내고 이벤트를 수신 JMS에 그것을 통합하고 Siddhi 락 패턴 쿼리 [1] 동일한 트랜잭션에서 도착하는 이벤트를 통합 사용하여 WSO2 CEP를 사용할 수 있습니다.

30 분은 합리적인 기간이므로 CEP가 상태를 처리 할 수있을만큼 충분한 메모리가 서버에 필요하므로 일부 테스트 데이터 세트를 사용하여 시나리오를 테스트하는 것이 좋습니다. 이것은 이벤트 속도에 크게 의존합니다.

AFAIK AFAIK는 엔터프라이즈 배포에서 지나치게 많은 작업이 아닙니다.

[1] https://docs.wso2.com/display/CEP200/Patterns

0

나는 esper patterns을 시도하는 당신에게 추천 할 것입니다. 특정 정보를 수집해야하는 multievent 기반 시스템의 경우 패턴이 가장 잘 작동합니다.

샘플 예제는 다음과 같습니다 여기

select * from TemperatureEvent 
match_recognize (
measures A as temp1, B as temp2, C as temp3, D as temp4 
pattern (A B C D) 
define 
A as A.temperature > 100, 
B as (A.temperature < B.value), 
C as (B.temperature < C.value), 
D as (C.temperature < D.value) and D.value > 
(A.value * 1.5)) 

, 우리는 4 개 이벤트와 이러한 이벤트를 포함하는 5 조건을 가지고있다. 예 : demo project.