2016-10-11 6 views
0

"비즈니스"사용자가 입력 스트림에서 처리 된 데이터에 대한 규칙을 만들고 편집 할 수 있도록 허용해야한다는 요구 사항이 있습니다. 규칙은 비즈니스 친화적이어야하며 개발주기가 없어야합니다. 여기에 내가 생각하고 무엇의 예입니다 : 날씨 스테이션과 연결된 차량 데이터 스트리밍으로실시간 규칙 편집 및 KafkaStreams

"if weatherStation.id == 100 and weatherStation.temp < 33 and detectedPctWipersOn = 90% 
then return true 
else return false" 

가 섭취는,이 규칙을 적용해야하지만 규칙 변경, detectedPctWipersOn은 = 75 %, 규칙을 말할 경우 다시 배포하거나 다시 시작하지 않고 실시간으로 적용해야합니다. 데이터 기반이어야합니다.

Siddhi CEP (WSO2 CEP)은 "배포 된"규칙 만 지원하는 것처럼 보입니다. 특히 KafkaStreams와 잘 어울리는 제품을 제공 할 수있는 다른 CEP 제품이 있습니까?

롤 - 내 자신의 경우이 문제에 권장되는 "스트림"디자인 패턴이 있습니까?

+0

카프카 스트림과 관련된 질문입니까? 올바른 태그를 사용하면 확실하지 않습니다. –

+0

나는 Siddhi 꼬리표를 제거했다. 예, 카프카 스트림을 잘 통합 한 비즈니스 친화적 인 규칙 편집기를 찾고 있습니다. 나는이 질문에 대한 나의 요구 사항을 충족시키지 못한다는 것을 보여주기 위해서만 Siddhi를 언급했다. – Jason

+0

Kafka Streams tag가 의도 된 것인지 궁금합니다. 나는 Siddhi를 몰라서 대답을 확신하지 못합니다. 그러나 Kafka Streams의 관점에서 볼 때 새로운 규칙으로 애플리케이션을 업데이트 할 수없는 이유는 없습니다. 수평 확장을 시작하면 동기화 된 방식으로 모든 인스턴스를 업데이트하는 것이 어려울 것이라는 점을 명심하십시오. –

답변

0

이 요구 사항의 경우 Siddhi 엔진을 사용하는 대신 CEP 제품을 사용해보십시오. 여기에는 query templating facility이 포함되어 있으며 사용자가 구성 할 수있는 매개 변수 만있는 사전 정의 된 템플릿을 구성 할 수 있습니다. 예 : WeatherStation 온도. 매개 변수가 변경되면 내부적으로 CEP가 쿼리를 다시 배포하므로 변경 사항이 즉시 적용됩니다.

예제와 같이 필터 같은 상태 비 저장 쿼리의 경우 매우 잘 작동하지만 창, 패턴 등을 사용하면 상태가 손실 될 수 있습니다. 따라서 데이터베이스 기반 테이블/창을 적절히 구현해야 할 수 있습니다 사용 사례.