带有Sparking Streaming的订单保证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有Sparking Streaming的订单保证相关的知识,希望对你有一定的参考价值。
我试图从kafka获得一些我希望在另一个系统中向下游传播的更改事件。然而,Change
命令很重要。因此,我想知道在中间进行一些Spark转换的合适方法是什么。我唯一看到的是放松并行性并在一个分区上创建DStream。也许有一种方法可以并行执行操作并将所有内容放回一个分区,然后将其发送到外部系统或返回Kafka,然后使用Kafka Sink。
我相信有些人已经这样做了,如果你能分享你的经验和方法,那就太好了。谢谢。
答案
在分布式环境中,在最多层具有某种形式的兑现/缓冲,从同一台机器生成的消息可以以不同的顺序到达后端。秩序的定义也是主观的。实施订单的全局定义对于整个数据将是限制性的(可能不正确)。
因此,Kafka的目的是按照put的顺序保持数据的顺序,但分区是一个问题!分区定义了每个主题的并行度。
通常,保留kafka的抽象级别,它不应该打扰订单。它应该针对最大吞吐量进行优化,分区将会派上用场!考虑只订购支持流媒体的副作用!!!
现在,逻辑确保将数据按顺序放入kafka,这在您的应用程序中更有意义(火花作业)。
以上是关于带有Sparking Streaming的订单保证的主要内容,如果未能解决你的问题,请参考以下文章
Spark Streaming和Kafka整合保证数据零丢失
NSLer vlog鍏ㄨ褰曪紝EUREKA鍥㈤槦鐢ㄧ儹鐖变紶鎵胯禌杞︽枃鍖栵綔Sparking lives