[quote="AliKevin"]
本系列文章不涉及过多的S4的理论内容,因为s4论文中描述相当清楚(我认为我实在是说的不会比论文中更清楚了:)呵呵),论文信息请看论文[url]http://dl.iteye.com/topics/download/704e5924-0dd8-34df-b44f-2efbc91de071[/url][/quote]
[b]一、S4最简单的介绍[/b]
S4(简单可扩展流系统的首字母简称:Simple Scalable Streaming System)是一个受Map-Reduce模式启发的分布式的,可扩展的,分区容错的,可插拔的流处理引擎,开发者可以很容易的在其上开发面向无界不间断流数据处理的应用。且S4能够运行在构筑于普通硬件之上的大规模集群中。
[b]二、要解决的问题[/b]
s4用于解决"cost-per-click“(点击数付费)广告,通过实时计算预测用户对广告的可能的点击行为。
[b]三、s4适用的场景[/b]
s4适用于业务允许部分容错性的实时性分布式计算。(s4没有严格的failover机制,运行节点突然crash时,会导致当前节点中的数据丢失。后续的请求会failover到其他的节点上,但crash时的状态已经丢失)
[b]四、s4架构图[/b]
[img]http://dl.iteye.com/upload/attachment/573276/8305e70e-5c38-3f1f-93f9-b81b35af3dbf.png[/img]
如上图所示:
在S4中所有事件流由client触发,经由Adapter到达S4集群进行分步式计算处理, 关键的数据事件被分类路由到处理单元(Processing Elements,PEs),处理单元消费这些事件,做如下事情之一或全部:
a.发出一个或多个可能被其他PE处理的事件。
b.发布结果。
这种架构类似提供了封装和地址透明语义的Actor模式,因此允许应用在大规模并发的同时暴露简单的编程接口给应用开发者。
本系列文章不涉及过多的S4的理论内容,因为s4论文中描述相当清楚(我认为我实在是说的不会比论文中更清楚了:)呵呵),论文信息请看论文[url]http://dl.iteye.com/topics/download/704e5924-0dd8-34df-b44f-2efbc91de071[/url][/quote]
[b]一、S4最简单的介绍[/b]
S4(简单可扩展流系统的首字母简称:Simple Scalable Streaming System)是一个受Map-Reduce模式启发的分布式的,可扩展的,分区容错的,可插拔的流处理引擎,开发者可以很容易的在其上开发面向无界不间断流数据处理的应用。且S4能够运行在构筑于普通硬件之上的大规模集群中。
[b]二、要解决的问题[/b]
s4用于解决"cost-per-click“(点击数付费)广告,通过实时计算预测用户对广告的可能的点击行为。
[b]三、s4适用的场景[/b]
s4适用于业务允许部分容错性的实时性分布式计算。(s4没有严格的failover机制,运行节点突然crash时,会导致当前节点中的数据丢失。后续的请求会failover到其他的节点上,但crash时的状态已经丢失)
[b]四、s4架构图[/b]
[img]http://dl.iteye.com/upload/attachment/573276/8305e70e-5c38-3f1f-93f9-b81b35af3dbf.png[/img]
如上图所示:
在S4中所有事件流由client触发,经由Adapter到达S4集群进行分步式计算处理, 关键的数据事件被分类路由到处理单元(Processing Elements,PEs),处理单元消费这些事件,做如下事情之一或全部:
a.发出一个或多个可能被其他PE处理的事件。
b.发布结果。
这种架构类似提供了封装和地址透明语义的Actor模式,因此允许应用在大规模并发的同时暴露简单的编程接口给应用开发者。