版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rav009/article/details/85792267
前文链接: https://blog.csdn.net/rav009/article/details/85690985
Speed Layer作为实时处理层和离线处理层相辅相成, 当增量数据被离线处理完毕, 实时层就不必继续处理这批数据了, 术语叫作: Expiring Real-Time View
那么问题来了, 怎么通知Speed Layer某一部分数据已经被离线处理完毕, 可以释放了呢?
一种方案是维护两个事实处理层, 轮流作为 主实时层, 备用实时层定期与离线处理层交互, 当得知某增量数据已经处理完成备用实时层删除这批数据, 然后主备切换.
目前实时层比较流行的一个解决方案是 Kafka + Storm + Redis.