原 Kafka解析之topic创建(3)——合法性验证https://blog.youkuaiyun.com/u013256816/article/details/79996208版权声明:本文为博主原创文章,未经博主朱小厮允许不得转载。 https://blog.youkuaiyun.com/u013256816/article/details/79996208
欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。
前文摘要
在《Kafka解析之Topic创建(1)》这篇文章中,我们讲述了创建Topic的方式有两种:
如果kafka broker中的config/server.properties配置文件中配置了auto.create.topics.enable参数为true(默认值就是true),那么当生产者向一个尚未创建的topic发送消息时,会自动创建一个num.partitions(默认值为1)个分区和default.replication.factor(默认值为1)个副本的对应topic。
通过kafka提供的kafka-topics.sh脚本来创建,或者相关的变种方式(比如在zookeeper中的/config/topics/路径下直接创建)。
在学习了KafkaAdminClient之后我们发现它也可以用来创建Topic,即通过发送CreateTopicsRequest请求的方式来创建。KafkaAdminClient的详细内容可以参考:《集群管理工具KafkaAdminClient——原理与示例》和《集群管理工具KafkaAdminClient——改造》。
一般情况下,Kafka生产环境中的 auto.create.topics.enable参数会被修改为false,即自动创建Topic这条路会被堵住。kafka-topics.sh脚本创建的方式一般由运维人员操作,普通用户无权过问。那么KafkaAdminClient就为普通用户提供了一个口子,或者将其集成到公司内部的资源申请、审核系统中更加的方便。普通用户在创建Topic的时候,有可能由于误操作或者其他原因而创建了不符合运维规范的Topic,比如命名不规范,副本因子数太低等,
Kafka解析之topic创建(3)合法性验证
最新推荐文章于 2025-06-25 00:10:29 发布
本文介绍了Kafka中如何通过create.topic.policy.class.name参数自定义Topic创建的合法性验证策略,以防止创建不符合规范的Topic。在Kafka服务端实现CreateTopicPolicy接口并配置后,可在创建Topic时检查分区数和副本因子,避免影响系统运维。此外,通过KafkaAdminClient创建Topic时,不合规的请求将被PolicyViolationException捕获。

最低0.47元/天 解锁文章
1490

被折叠的 条评论
为什么被折叠?



