Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kafka-client 创建 topic 原理 #2

Open
snipercy opened this issue Mar 2, 2017 · 0 comments
Open

kafka-client 创建 topic 原理 #2

snipercy opened this issue Mar 2, 2017 · 0 comments

Comments

@snipercy
Copy link
Owner

snipercy commented Mar 2, 2017

一般都是用kafka-client来使用kafka,来消费/生产消息。那么可不可以用kafka-client 来管理kafka呢?
其实,可以使用yahoo开源的kafka-manager,但是语言是scala,可能需要自己维护,功能也较多,调研了一下可能不太符合我的需求。
我的需求只是按租户管理topic:限制topc的大小(可以参考 Issuer 1),创建/删除 topic即可。
其实,感觉为了满足此需求最简单的做法是写个脚本,简单封装下kafka提供的命令行管理工具即可。

kafka-client中如何创建topic

produce这样的一个功能:向一个不存在的topic中发消息时,kafka会先创建该topic,当然这个功能是可选的。
所以,kafka-client 肯定是可以创建topic的,但是它并没有直接提供相关接口。

kafka 提供的shell客户端可以创建topic和一些高级管理接口,看了它提供的shell脚本,也是调用了一些class文件来实现的,故可以依赖kafka server端的jar包,调用相关类实现topic的创建,只不过没有api文档,自己去看源码,最终需要调用的函数为: TopicCommand.createTopic(zkUtils, opt);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant