开发者社区> 问答> 正文

kafka作为消息调度程序进行flink - 分区

我有一个进程需要将一些数据发送到flink集群(通过kafka),由3个节点组成。据我所知,总共会有两个不同的主题。所有消息都将加上时间戳。消息顺序必须保持不变。

我无法理解消息分区(密钥)背后的机制。如果我希望有一个如上所述的简单消息调度程序,消息分区是否重要?如果是这样,根据我应该选择什么?

展开
收起
flink小助手 2018-12-10 13:10:16 1946 0
1 条回答
写回答
取消 提交回答
  • flink小助手会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关flink的问题及回答。

    目前尚不清楚您需要什么样的订单(通过一些UUID,生成数据的服务器,其他一些事件类型等),但Kafka消息排序仅保证在任何主题的分区内,并且任何Kafka消费者(包括Flink)都保证读取其分配按顺序分区。

    如果您指定了密钥,生产者的默认Kafka分区将使用Murmur2哈希算法。如果您有一个空键,那么它将均匀地循环所有分区。

    Flink生产商上次检查时会覆盖此行为。见FLINK-9610。如果您仅将Flink用作消费者,那么您无需担心这一点。

    默认情况下,消息在Kafka中加上时间戳

    2019-07-17 23:19:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载