Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 事件处理时扩充事件_Architecture_Complex Event Processing_Bigdata - Fatal编程技术网

Architecture 事件处理时扩充事件

Architecture 事件处理时扩充事件,architecture,complex-event-processing,bigdata,Architecture,Complex Event Processing,Bigdata,需要一个事件处理应用程序来实时或接近实时地处理事件。预计每分钟将收到5000-10000条消息。要处理传入事件,需要获取额外的数据元素 以实例为例,考虑金融领域。因此,传入事件是事务,处理通过许多业务规则进行验证来表示。其他数据元素多种多样,包括(但不限于)账户信息、客户信息和该特定账户的以前交易(重要!)。假设要处理一些事务,我们需要回顾历史100天。另外值得一提的是,事件的处理是一个相当复杂的过程,其中一个要求是要有一个强大的查询语言来支持不同的模式来获取数据 问题是选择什么解决方案/产品来

需要一个事件处理应用程序来实时或接近实时地处理事件。预计每分钟将收到5000-10000条消息。要处理传入事件,需要获取额外的数据元素

以实例为例,考虑金融领域。因此,传入事件是事务,处理通过许多业务规则进行验证来表示。其他数据元素多种多样,包括(但不限于)账户信息、客户信息和该特定账户的以前交易(重要!)。假设要处理一些事务,我们需要回顾历史100天。另外值得一提的是,事件的处理是一个相当复杂的过程,其中一个要求是要有一个强大的查询语言来支持不同的模式来获取数据

问题是选择什么解决方案/产品来存储和获取用于处理此类事件的数据

让我们假设数据量很大,因此关系数据库根本不是一个选项。因此,解决方案应易于扩展

我目前的想法是:

  • HDFS+Spark
  • HDFS/HBase+Spark
  • 卡桑德拉+火花

  • 对此有何想法?

    每秒100-200个事件的规模不是很大,但您没有提到数据大小和其他问题,如获取多个需要相同或至少公共数据的事件的概率,数据的分片程度等

    这些类型的问题极大地影响了相关的解决方案,也就是说HBase和Cassandra都可以快速获取数据以满足您的需要。Spark和HDFS只有在您可以将所有需要的数据加载到内存中时才适合(在这种情况下,您可能根本不需要HDFS)

    如果您可以将所有或大部分相关数据放入内存中,您可能希望查看内存中的数据网格,如ApacheIgnite或ApacheGeode