美文网首页
流系统--事件流

流系统--事件流

作者: MontyOak | 来源:发表于2018-11-03 21:28 被阅读10次

    在流系统中,常常把数据记录叫做事件(event)。实质上是一条包含信息的数据。
    批处理系统(batch process)的行为是:周期性去数据存储中拉取数据,由一个或多个worker来进行数据的处理、聚合结果(参见mapreduce)。而流处理系统则由producer将数据放到broker,由若干consumer负责实时或者准实时处理数据,也就是所谓的发布-订阅模式
    这里有两个问题是流系统设计时需要面对的:

    1. 当生产者发送数据的速度超过消费者处理的速度时应该怎么做?a.生产者简单丢弃无法及时处理的数据,即对事件本身加过期时间,在时间段内没有被消费者处理就丢弃;b.将消息放在队列中,这也是很多消息队列的实现方式;c.在生产者端做流量控制,协调生产者产生数据的速度。
      2.节点故障时的行为,是否会导致消息丢失。是否需要做消息的磁盘持久化。
      消息在broker的存储类似于日志的数据特点:只有追加不可变数据和顺序读取的操作:


      类似日志的存储

    通过创建不同的partition来实现水平扩展增加数据吞吐能力,通过partition的备份来实现高可用和故障转移。

    相关文章

      网友评论

          本文标题:流系统--事件流

          本文链接:https://www.haomeiwen.com/subject/vjflxqtx.html