纽约证券交易所的实时Map/Reduce大数据分析
Streaming Map/Reduce on Wall Street | Concurrent M
我们在纽约证券交易所NYSE建立的事件处理系统到现在已经超过20年了。 在过去的十年中,我们侧重于复杂事件处理(CEP),在2005年首次建立了第一个CEP引擎,并随后与许多顶级供应商及产品一起工作。
当我开始使用Darkstar时,大部分这些早于2009年的产品的最大问题是:CEP引擎无法伸缩扩展。 我想突破这种限制 - 我想可以通过整个互联网实时过筛。 我的案例是为证券进行综合审计跟踪,这是实时处理,整天都需要。
我想建立一个系统可以每秒处理数百万个事件/消息,扫描那些数据流模式,将数据保存,并立即将数据可用于后续的查询。 那个时候在市场上并没有这样的事物。 大多数人说,这不可能做到。 我需要做的是愿意相信我和我的团队以及业务伙伴。
纽交所技术想提供交易后的监控系统,但不想为每个客户端组建独立的机器/系统。 他们想节约支出,提高收入增长 - 似乎是建立一个集群解决方案,然后只需要增加硬件规模的绝佳机会。 其他许多系统的问题是,为了扩大可扩展伸缩,他们都要重新设计架构。 这是我想避免的。
答案就在混合CEP和Hadoop。 我们需要一种方法来分发请求到群集,然后重新组装结果 - 似乎是一个完美的map / reduce用例。
该系统从2010年开始运行,Darkstar暗星在Mahwah部署到生产环境...
应该指出在下面图中的一个变化 - 我们不再使用MySQL作为存储库。 我们把数据变成一个分布式列族的Cassandra。
..
概述
Darkstar是一种通过云事件处理设计的多用途的高度分布式处理平台,体系结构是基于云的原则,这意味着它被设计成在一个高度分布式环境中执行,以在该系统中可以包括的节点的数量没有实际限制。 Darkstar™不是只是应用程序,它是一个平台,它提供:开发应用程序无需了解底层架构的分布式特性。 Darkstar暗星™提供了一个潜在的事件处理引擎,动态地接受由Darkstar暗星™应用程序注入的查询和报表,并结合基于进入系统的事件和查询注入到系统中。
Darkstar暗星™是专为在多个物理和/或虚拟节点上运行设计,使用的消息传递协议进行通信。 这种方法允许Darkstar暗星™灵活地对进入系统的事件流实现动态即时反应。 事件处理引擎的工作量会在集群中的节点之间分配,让暗星™有效无限的可扩展性。
暗星™使用RabbitMQ作为协议对输入查询动态注入到下层CEP引擎,用消息发送回应用程序查询的结果集。
DataStar使用下面产品:
Cassandra是,其目的是在集群环境中运行一个分布式数据库。 由暗星™集群收到的消息被写入Cassandra并可能在以后的时间观看。
RabbitMQ的 -是一个开源消息代理软件,该软件使用AMQP标准。 该RabbitMQ服务器是用Erlang编写的,是建立在开放电信平台架构,集群和故障转移。 暗星™使用RabbitMQ消息代理软件实现应用程序之间的通信。
MySQL的 -暗星™使用MySQL来存储接收到消息的元数据。 暗星™使用此信息来创建可通过注射查询到暗星™支持的各种信息流。 由这个元数据定义消息流是允许暗星™灵活简单地支持许多不同的消息类型或新的消息类型定义的存储。
如下图:
[该贴被banq于2013-11-25 07:02修改过]
[该贴被admin于2013-11-25 09:12修改过]