急急急Kafka Topic 资源权限紧张怎么办
我们都知道 Kafka 的 topic 资源比较“贵”,所以一般会给项目 topic 权限限制,按需申请。Milvus 会在建新表时自动申请 kafka topic 资源,这时候自动申请不到怎么办?手动配置 topic 要符合什么规范才能被 Milvus 使用?
通过本文的小实践,大家可以了解 Milvus 如何为 Kafka Topic 命名、使用 Topic 的机制,以及用户在 Kafka Topic 资源权限紧张情况下,对 Kafka Topic 的预设及使用。希望能给大家启发的同时增加对 Milvus 消息系统的了解。
Topic 在 Milvus 中的作用
Kafka 是一个分布式流处理系统,流处理系统使它可以像消息队列一样 publish 或者 subscribe 消息。Topic 用于建立 Producer 和 Consumer 之间的订阅关系。生产者发送消息到指定的 Topic,消息者从这个 Topic 下面消费消息(Kafka 把消息存在 topic 中,每一条消息包含 key、value、timestamp)。
在Milvus 2.x 中,流式消息经过 Proxy 生产到 Kafka topic 中,再由 Data Node 节点消费到对象存储中。
参考链接:https://milvus.io/docs/data_processing.md
Milvus Kafka Topic 命名规则
命名规则
-
配置文件中的 chanNamePrefix:
# Channel name generation rule: ${namePrefix}-${ChannelIdx}
common:
chanNamePrefix:
cluster: "by-dev"
rootCoordDml: "rootcoord-dml"
rootCoordDelta: "rootcoord-delta"
dataCoordTimeTick: "datacoord-timetick-channel"
-
Milvus 会创建三种类型的 Topic:
Datacoord-timetick-channel——chanNamePrefix.cluster-chanNamePrefix.dataCoordTimeTick
by-dev-datacoord-timetick-channel
Dml channel--chanNamePrefix.cluster-chanNamePrefix.rootCoordDml
1 by-dev-rootcoord-dml_0
2 ...
3 by-dev-rootcoord-dml_255
Delta channel--chanNamePrefix.cluster-chanNamePrefix.rootCoordDelta
1 by-dev-rootcoord-delta_0
2 ...
3 by-dev-rootcoord-delta_255
机制
-
在启动 Milvus 集群时,会创建唯一的 dataCoordTimeTick:
by-dev-datacoord-timetick-channel
。 -
当创建一个新的 Collection 时,系统会创建对应的 rootCoordDml 和 rootCoordDelta 。由于一个表默认有 2 个 shard number ,共创建 22 共 4 个 topic(若shard number 为 4 ,则创建 42 个 topic,以此类推),名称如下:
1 by-dev-rootcoord-dml_0
2 by-dev-rootcoord-dml_1
3 by-dev-rootcoord-delta_0
4 by-dev-rootcoord-delta_1
默认 rootCoord.dmlChannelNum
是 256(需要注意的是在新版本中我们调低了默认值),意思是最多创建 dml-channel topic 256 个,如果 collection 数量所需 topic 超过该值,则会对 topic 进行复用。所以我们可以通过控制 rootCoord.dmlChannelNum
来控制 topic 的复用。
Milvus Kafka Topic 预设方案
在了解了 Milvus 对 Topic 的命名和复用规则之后,我们可以按规则预设 Kafka Topic。
-
根据命名规则预设对应的 rootCoordDml 和 rootCoordDelta 相关 Topic。
1 by-dev-rootcoord-dml_2
2 by-dev-rootcoord-dml_3
3 by-dev-rootcoord-delta_2
4 by-dev-rootcoord-delta_3
-
修改
rootCoord.dmlChannelNum
参数为4,控制 dml-channel topic 的使用数量。 -
在系统读取到预设 topic 时直接使用,不再重新申请。
(本文作者张翔系 Zilliz 客户工程师;曾杰系 Zilliz 主任工程师)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghfccg
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13