Flink Exactly-Once 投递的实现浅析是怎样的


这期内容当中小编将会给大家带来有关Flink Exactly-Once 投递的实现浅析是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。进程状态需要持续化到可靠的分布式存储,以防止节点丢失带来状态的丢失。由于发送消息是一个两阶段的操作(即发送消息和收到对方的确认),重启之后的进程没有办法判断崩溃前是否已经使用当前序列号发送过消息,因此可能会导致重复使用序列号的问题。被认为崩溃的进程有可能并没有退出,随后再次连上来变为 zombie 进程继续发送数据。beginTransaction: 初始化一个事务。在有新数据到达并且当前事务为空时调用。preCommit: 预提交数据,即不再写入当前事务并准好提交当前事务。在 sink 算子进行快照的时候调用。commit: 正式提交数据,将准备好的事务提交。在作业的 checkpoint 完成时调用。abort: 放弃事务。在作业 checkpoint 失败的时候调用。在 sink 端缓存未 commit 数据,等 checkpoint 完成以后将缓存的数据 flush 到下游。这种方式可以提供 read-committed 的事务隔离级别,但同时由于未 commit 的数据不会发往下游(与 checkpoint 同步),sink 端缓存会带来一定的延迟,相当于退化为与 checkpoint 同 香港云主机步的 micro-batching 模式。在下游系统缓存未 commit 数据,等 checkpoint 完成后通知下游 commit。这样的好处是数据是流式发往下游的,不会在每次 checkpoint 完成后出现网络 IO 的高峰,并且事务隔离级别可以由下游设置,下游可以选择低延迟弱一致性的 read-uncommitted 或高延迟强一致性的 read-committed。上述就是小编为大家分享的Flink Exactly-Once 投递的实现浅析是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注开发云行业资讯频道。

相关推荐: 如何解决CDN等高并发的问题

这篇文章给大家介绍如何解决CDN等高并发的问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。(一)集群与分布式 集群和分布式都是使用多台服务器进行处理的。集群中的每台服务器具有相同的功能,处理请求时调用哪台服务器都可以,主要起分流的作用。…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/15 12:22
Next 08/15 12:22

相关推荐