表1就上述3个流式系统做个分类比较,比较项基于DEBS2011会议上IFPSurvey中涉及的各种Models。Processing Model描述流元组进行计算时的选择策略、消费策略及负载降级处理。Interaction Model描述输入组件和计算系统、计算系统内部及计算系统和输出组件的交互方式。Time Model描述事件流是否按照时间约束。Rules Model描述流式计算规则是显示还是隐式。Data Model描述流中的数据组成、格式等。Function Model描述流式计算系统的功能模型。Language Model描述语言层面的各种算子。
表1 3种流式系统的模型对比
小结
本文介绍了业界主流的3个流式计算系统,希望从这些系统的设计中领悟到不同场景下流式计算所要解决的关键问题。
Yahoo! S4的***版本是Alpha version v0.3.0,动态负载均衡和在线服务迁移等重要功能都尚未实现,不过其代表性的3个特点值得学习,Actor模式、非中心化的对称结构及可插入式的架构。
StreamBase是有着功能强大的IDE并且支持控件式的方法来搭建应用程序,同时还提供了高级语言来搭建应用程序的方法。由于是商业产品,其用户接口的精彩设计值得借鉴,同时其可组合的HA方案也是亮点之一。
Borealis是学术界研究的重要产出,它对新一代的流式系统涉及的诸多方面,如系数据模型、负载管理、高可用性、可扩展性都作了全面和翔实的研究,一方面系统变得强大、先进,另一方面使得系统也变得臃肿、复杂。这套系统的许多策略都值得我们学习,可以应用于不同的流式计算场景。
【编辑推荐】