流计算的权衡

Stream computing

本质需要:快速得到结果

为了快速获得结果,每来一个消息都需要及时处理,Storm等架构即是固定long-running的计算逻辑(topology in Storm),将每个消息在各个计算逻辑间传递,Storm负责流计算任务的容错,分配,调度等。

为之服务的消息中间件,如Kafka,Pulsar,DistributedLog,BookKeeper等可以归类为log like存储系统,提供强大的实时数据存储及流转能力。为了快速记录数据,权且以数据的插入顺序作为内置顺序,数据一直append,实时消费时,由计算层处理乱序数据等情况。可以看到这是一个非常精简的设计,因此相对于KV等低延迟系统,具有更好的带宽及吞吐及扩展性。

代价:带宽利用不足

由此带来的问题是资源利用率不足,网络,硬盘均是在较大块传送场景下性能更优,因此实时数据相关的系统对资源的利用率不是特别高。

你可能感兴趣的:(流计算的权衡)