最佳实践/建议 - 执行工作

时间:2016-11-02 09:30:39

标签: apache-flink flink-streaming

我正在尝试使用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. 我是否应该为每个来源创建一个作业,每个作业将有15-20个规则?
  2. 我应该将规则分成多个工作吗?
  3. 其他选择?
  4. 谢谢你,问候,

    佩德罗查韦斯。

1 个答案:

答案 0 :(得分:0)

我是新手。 我认为应该考虑两个主要问题。

  1. 网络流量。多个数据读取器将有多个网络流量。
  2. 计算延迟。将所有逻辑计算放在一个工作中可能会增加延迟。