博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kafka 发布消息时如何选择 Partition
阅读量:7014 次
发布时间:2019-06-28

本文共 685 字,大约阅读时间需要 2 分钟。

本文旨在了解 Kafka 发送消息到有多个 Partition 的 Topic 时如何选择 Partition。或许多数人已经知道 Kafka 默认(当 key 为 null) 时采用  策略,也就是雨露均沾,风水轮流转,实现类是 。但我们实际应用中为保持相关消息按序到,就必须送到指定的 Partition,方法可以有

  1. 指定 Partition 编号
  2. 指定 Key
  3. 自定义 Partitioner - 实现 org.apache.kafka.clients.producer.Partitioner, 并通过属性注册

还应考究当指定了 Key 或 Partition 编号发送消息后,后续消息 key 为 null 会选用哪个 Partition。最后再思考一个问题,Consumer 每次  poll 时是获得的消息列表是否只包含一个 Partition 源还是可以多个 Partiton 源。

为完成本次实验,可以本地搭建一个 Kafka 环境,参考 。待 Zookeeper 和 Kafka 正常启动后,我们用下面的命令创建一个 Partition 数量为 3 的 Topic partition-test

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic partition-test

验证一下该 Topic 的信息 

转载于:https://my.oschina.net/u/2791/blog/1925349

你可能感兴趣的文章
Win10 64bit GTX950 Anaconda3 环境下安装配置TensorFlow
查看>>
【EASYDOM系列教程】之复制节点
查看>>
React 服务端渲染如此轻松 从零开始构建前后端应用
查看>>
gradle 打包不同资源
查看>>
react-native创建android原生模块
查看>>
分享一个基于Node的名片设计网站
查看>>
Express + Ejs实现一个简单的WebServer
查看>>
40 行代码内实现一个 React.js
查看>>
关于5G被激烈讨论的那些争端和冲突
查看>>
中台之上(三):战略和组织结构,业务架构设计中不应被忽视的关键因素
查看>>
AlphaZero进化论:从零开始,制霸所有棋类游戏
查看>>
期待已久的Firefox 39最终顺利发布
查看>>
跨境互联网券商架构最佳实践\n
查看>>
又拍云专注场景化CDN 云CDN加速行业全面演进
查看>>
.NET仓储模式高级用例
查看>>
Netty消息接收类故障案例分析
查看>>
如何理解 Laravel 的 Ioc 容器
查看>>
如何用Uber JVM Profiler等可视化工具监控Spark应用程序?
查看>>
Checkly如何借助Terraform实现零宕机部署
查看>>
为什么已有Elasticsearch,我们还要重造实时分析引擎AresDB?
查看>>