2016-11-02 2 views
0

Flink와 함께 스트림 이벤트 상관 관계 엔진을 구축하려고하는데 작업 실행과 관련하여 몇 가지 질문이 있습니다. 모범 사례/조언 - 작업 실행

firewallStream= environment.addSource([FirewalLogsSource]); 
proxyStream = environment.addSource([ProxyLogsSource]); 

이러한 소스의 각

, 나는 일련의 규칙을 적용 할 필요가 : 내 아키텍처에서

내가 다른 데이터 소스가 필요 예를 들어 말할 수 있습니다.

//Abnormal Request Method 
stream.[RuleLogic].addSink([output]) 
//Web Service on Non-Typical Port 
stream.[RuleLogic].addSink([output]) 
//Possible Brute Force 
stream.[RuleLogic].addSink([output]) 

이 규칙은 아마 15 ~ 20 규칙의 순서로 확장됩니다 그래서 나는 소스로 다음과 같은 규칙에 프록시 스트림 데이터가있는 직업을 가지고 말할 수 있습니다.

이 경우 가장 좋은 방법은 무엇입니까 :

  1. 나는 2 일 각 소스에 대해 하나를 작성해야하고 각 작업은 15 ~ 20 개 규칙을 것?
  2. 규칙을 여러 작업으로 분할해야합니까?
  3. 다른 옵션은?

페드로 차베스를 당신과 감사를드립니다.

답변

0

나는 초보자입니다. 나는 고려해야 할 2 가지 주요 관심사가 있다고 생각한다.

  1. 네트워크 트래픽. 다중 데이터 판독기는 다중 네트워크 트래픽을 제공합니다.
  2. 컴퓨팅 대기 시간. 모든 논리 컴퓨팅을 하나의 작업으로두면 대기 시간이 늘어날 수 있습니다.
+0

질문에 대한 정확한 답변을 말할 수 없습니다. 특정 상황과 시스템의 주요 관심사에 달려 있습니다. –

+0

규칙을 여러 작업으로 분할하면 네트워크 트래픽이 문제가 될 수 있습니다. 모든 규칙을 하나의 작업에 넣으면 계산 지연이 문제가 될 수 있습니다. 모호한 답변을 드려서 죄송합니다. –

+0

답변 해 주셔서 감사합니다. 많은 구현 된 구현을 찾지 못해서 일반적인 경험 법칙을 찾기가 어렵습니다. 나는이 포스트 https://techblog.king.com/rbea-scalable-real-time-analytics-king/을 읽었습니다. 이들은 단일 작업에서 모든 프로세스를 실행합니다 (고정 토폴로지에서). 더 좋은 예를 알고 있다면 알려주십시오. 고맙습니다. –