大数据频道 频道

Spark与EVAM组CP,应对实时流式事件处理

  【IT168 评论】Apache Spark是一个开源大数据处理框架,其速度快并具有很好的易用性,并且可用来应对复杂分析。Spark可以支持流式处理,图表数据,机器学习,以及Hadoop和map/reduce。它是探索建立实时事件处理的理想平台。

Spark与EVAM组CP,应对实时流式事件处理

  EVAM是一个实时事件处理方面的领跑者,有超过40种解决方案可以支持全球超两亿用户的实时事件处理。最近几年,EVAM已经建立了多种客户解决方案,比较流行的几个比如AWS Kinesis和RedShift。既然Apache Spark和EVAM都如此受欢迎,在Apache Spark上结合EVAM事件处理引擎的解决方案架构是否会是个不错的探索呢?这对CP实力如何呢?

  构建之前,先来了解实时事件处理要求

  实时用户响应系统有一套严格的要求,最重要的一条就是事件集中在50毫秒以内响应完毕。看似苛刻,但实现该响应要求其实是可能的,只要仔细挑选数据集合,结合有技巧的事件响应方法就OK了。其他具体要求还有如下几条:

  1、所有渠道的数据都要集成在内,包括点击流,日志,事务系统,物联网,Twitter和其他数据。

  2、通过Kafka,Kinesis和其他系统实时获取数据。

  3、在一个窗口时间内,结合有效与无效事件以及用户配置文件数据的事件处理。

  4、随着数百个场景的出现,用户事件驱动和优先响应是必要的。比如,与用户相关的响应要优先处理。

  5、满足同一个场景的一系列事件应该可作为其他场景的输入,事件延迟应该不超过50毫秒。

  实时事件处理概念模型

  对于实时事件解决方案,稍有经验的人士都不会否认实时用户参与的业务抽象层存在的重要性。一个定义了业务事件的业务抽象层是很有意义的,并且创造了定义和实现业务场景的商业分析机会。

  模型主要集中在生成事件的因素上,通常生成事件的是人,但也有可能是一个网络设备(物联网或CPE)。起初可能只有一个事件,随着事件不断增多,将所有事件结合起来就构成了一个业务事件。例如,创建一个新客户可能就需要在一个关系型数据库里创建多个表,每个表都被认为是一个事件,多个表结合起来就形成了用户事件。

  一个健壮的模型包含了对无效事件的筛选,并且随着时间的推移,事件会不断聚合。无效事件可能包含购买新设备或服务,或者未在特定的窗口时间内进行网络注册。对一个商业系统来说,任何一个事件缺失都是至关重要的。

  由此产生的响应需要联系上下文例如名字,电子邮件和其他通过电子邮件响应的数据。

Spark与EVAM组CP,应对实时流式事件处理

  最后,优先级支持和场景约束也是十分重要的。处于技术支持场景的用户可以与其他用户差别对待。同样重要的是,客户不会接受被淹没在多个操作之后,因为多场景同时触发是很正常的事情,如果等待时间过长,用户体验会十分差劲。有效的管理策略是在Spark或其他开源框架之上构建健壮的实时解决方案所必需的。

  除了优先级和场景约束之外,实时仪表盘监控也很重要。通过监控数据可以对业务进行优化,如果场景数据可以很容易地通过仪表盘获得,就会很容易实现业务优化。

  另外,一个与大数据策略相关的挑战是组织测试用例的范围和技术要求。Spark提供了一个理想的框架,为数据集成、技术事件处理、批处理提供有关的编程支持。在解决方案框架Spark里,提供了一个有效的EVAM事件引擎前端,可以进行业务事件抽象以及复杂场景支持。

Spark与EVAM组CP,应对实时流式事件处理

  EVAM事件处理引擎容易在云端设计集成,在该体系结构中,EVAM主机内存中有实时弹性缓存事件,场景识别和相关的业务规则。EVAM的设计包括一个Visual Scenario,以及使用Spark识别更高级别的业务事件。EVAM允许复杂场景设计,有时间窗口的,有客户配置文件数据(客户姓名,电子邮件,地址,付款状态)的都可以。EVAM也很适合用于存放遗留事件处理系统路由,对企业事件和相关动作提供视图。

  总结

  实时事件处理是很多人关注的事情。技术上来讲是很有趣的,从商业价值上看,也是一个实用的解决方案。不是盲目地收集所有信息,这些系统集中在支持某些特定场景的实时事件处理数据的收集。数据收集集中于客户行为,与实时动作相关的数据上。

  Apache Spark未来可能会更受欢迎,因为它提供了一个日益成熟的实时数据收集框架,支持一系列批处理包括Graph,Hadoop和其他。然而,在Spark上提供一个有效的实时事件管理系统将是一个不小的挑战。这种系统需要逻辑事件识别,无效事件识别,窗口时间设置和客户配置文件数据识别。在Spark上开发这样一个系统,灵活的优先级和场景约束对大多数团队来说并不是一个现实的目标,但从技术角度来看,可以尝试一下。

2
相关文章