使用Apache Spark和EVAM构建实时流式解决方案

http://spark.apache.org 是一个基于高速处理的大数据开源框架,具有易用和处理复杂分析的特性。Spark日益流行,支持批量处理及流式处理,图数据,机器学习,Hadoop和map / reduce。这是探索实时事件数据处理的理想平台。

EVAM是实时事件处理方面的领先企业,拥有超过40个解决方案,为全球2亿多终端用户提供实时事件处理。近年来,EVAM开始探索利用AWS Kinesis和RedShift等流行功能用于客户解决方案,在本文中我们将探讨基于Apache Spark和EVAM的事件处理引擎的解决方案体系结构。

实时事件处理要求:

实时客户互动系统提出了一套严格的要求,关注于50毫秒内的“事件到行动”。通过有选择的数据集成实现这种水平的响应是可能的,将技术事件对客户和业务有利的方式进行组合。一般需求包括:

  1. 与任何来源的数据集成,包括点击流,日志,交易系统,物联网,推特等。
  2. 通过Kafka,Kinesis和其他系统实时摄取数据。
  3. 将事件和非事件与时间窗口、客户配置文件数据相结合的事件处理方式,来触发操作。为了本文的书写目的,我们将把每个这样的组合称为“场景”。
  4. 有数以百计的场景,有必要对行为进行约束和优先排序。例如,与客户支持相关的行动可能优先于“新产生”行动。
  5. 执行一个场景的一系列事件应作为其他场景的输入。
  6. “事件到行动”的时间延迟应不超过50毫秒。

实时事件处理的概念模型:

在过去的十年中,我受邀参与了实时事件解决方案,了解到业务抽象层的重要性对于客户实时的需求。业务抽象层根据对业务有意义的术语来定义事件,为业务分析师定义和实现场景创造了条件。

一个模型关注于一个产生事件的“角色”。角色通常是一个人,但也可以是网络上的设备(IOT或CPE)。事件源于技术事件,这些技术事件被组合在一起就构成“商业”事件。例如,新客户的创建可以涉及关系数据库中多表联合创建,每个表格被单独识别为事件,但是组合起来就形成“客户创建”事件。

一个强建的模型不仅包含对非事件的支持,也包括随时间推移聚合事件的支持。非事件可以包括购买在特定时间窗口内未在网络上注册的新设备或服务。认识到事件缺乏对于业务系统来说至关重要。

由此产生的操作上下文,需要如姓名,邮件地址等信息。别的信息可通过电子邮件或其他渠道获得“角色”数据。

图 1

最后,支持场景优先次序和约束很重要。处于“技术支持”场景中的客户可能有别于其他客户处理方式。同等重要的是,客户不会受到多种行为的覆盖,因为在短时间内触发多种操作的情况是相当常见。针对场景有效管理策略并在Spark或其他开源框架之上构建健壮的实时参与解决方案是所面临众多挑战之一。

除对场景的全球约束进行优先级排序和支持外,使用实时仪表板监视场景也很重要。监视场景可以导致增强和优化,如果通过模板可以访问场景,可以轻松实现监视场景的功能,以便轻松更新参数。

把它放在一起:

与企业大数据战略相关的挑战之一就是简单地组织用例范围和技术要求。在本文中,我们专注于支持客户(包括设备)参与的复杂实时事件处理,事件识别组合相应需要,非事件的时间窗口,客户档案数据优先级重叠及对不同场景的限制。

Spark提供了一个理想的框架,为数据集成,技术事件处理和一系列批处理过程提供全行业编程支持。在解决方案体系结构中,Spark为EVAM事件引擎提供了一个有效的前端,它提供了一个业务事件抽象,适用于支持复杂场景。

图 2

EVAM事件处理引擎很容易与基于云的设计集成(在另一篇文章中,我们将概述EVAM如何与AWS Kinesis,RedShift和其他服务一起服务于全球无线运营商)。在本文中,我们着重介绍EVAM如何与Apache Spark集成。

在此体系结构中,EVAM托管实时事件的内存弹性缓存以及用于场景识别的关联业务规则。EVAM设计包括一个可视化场景设计器,它使用Spark技术事件的输入来识别更高级别的业务事件。EVAM的设计考虑到了复杂场景,包括实时事件,非事件,时间窗口以及客户资料数据(客户名称,邮件,地址,付款状态)的混合。EVAM也非常适合充当现有传统事件处理系统的“企业事件中心”,以便集中查看事件和相关操作。

结论:

实时事件处理是一个令人兴奋的领域。它在技术上是有趣的,而且在实际解决方案中,也被证明有真正的商业价值。这些系统并没有收集“一切数据”,而是专注于实时事件的收集,以支持特定的场景。数据收集的重点是,通过相关实时行为的产生对客户行为进行直接洞察。这些系统减少客户流失,降低客户支持,并改善交叉销售和收入。

Apache Spark将继续流行,因为它提供了日益成熟的实时数据收集框架,同时,支持一系列批处理功能,包括Graph,Hadoop等。然而,在Spark上发布一个有效的实时事件管理系统将是一件重要任务。这样的系统需要用于事件识别的逻辑,其包括实时事件,非事件,时间窗口和客户简档数据。在Spark上开发这样一个系统,其中优先和限制场景的灵活性对大多数团队来说都不是一个现实的目标。

一个实际的方法是将Spark和经过验证的企业实时事件处理引擎(如EVAM提供的)一起使用。我公司EVAM是实时事件处理领域的领导者,有超过四十家企业依靠EVAM来支持超过两亿的终端用户。在另一篇文章中,我们将探讨如何在AWS上部署EVAM,使用Kinesis,RedShift和其他服务为全球无线运营商提供实时事件解决方案。

想要了解有关实时事件流解决方案的更多信息,请访问我们的网站,让我们知道我们该如何提供帮助 http://www.evam.com

本文的版权归 AlexanderTan 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏about云

大数据处理分析的六大工具

下面请看详细介绍: Hadoop Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。...

41015
来自专栏Rainbond开源「容器云平台」

【干货下载】谷歌、亚马逊等十大公司精选微服务案例

1396
来自专栏云计算D1net

云计算的安全问题将引起企业的重视

1956
来自专栏跟着阿笨一起玩NET

系统架构师-基础到企业应用架构-客户端/服务器

本文转载:http://www.cnblogs.com/hegezhou_hot/archive/2011/11/07/2238983.html#

411
来自专栏数据和云

时移世易:遵从既往经验致 1.5PB 数据删除,Google SRE是如何应对的?

本文出自《SRE:Google运维解密》,由Google资深SRE 孙宇聪 担任译者,首次深度剖析Google SRE。 Google Music——2012 ...

32512
来自专栏H2Cloud

C++ FFLIB之ffcount:通用数据分析系统

摘要: 数据分析已经变得不可或缺,几乎每个公司都依赖数据分析进行决策。在我从事的网游领域,数据分析是策划新功能、优化游戏体验最重要的手段之一。网游领域的数据分析...

3436
来自专栏Hadoop实操

Impala升级为Apache顶级项目

五年前,Cloudera向全世界分享了一个愿景,将通过一个新的SQL引擎Apache Impala(全球第一个也是Hadoop之上最快的MPP SQL引擎)将数...

3809
来自专栏张善友的专栏

开放源代码与.NET应用程序平台的性能测试

您的企业或组织采用哪一种应用程序平台架构?不论哪一种,应用程序平台基本上至少都包含了服务器操作系统、Web服务器软件、数据库服务器软件、程序开发语言,有些平台还...

1919
来自专栏互联网研发闲思录

线上系统奇怪问题总结,性能问题不能依赖经验

      曾经遇到一个系统,会在一个时间范围内白屏,开发测试程序过程中从来没有遇到过此类问题, 经过线上分析以及查看系统资源使用情况和问题发生环境,发现在入库...

18910
来自专栏EAWorld

DevOps之自动化测试

? 大家好,我是冀博,目前负责新一代数字化企业云平台 “The Platform” 的测试工作,很荣幸有这次机会和大家分享交流,今天向各位分享的主题是《Dev...

2854

扫码关注云+社区