【发布时间】:2018-11-27 07:10:44
【问题描述】:
我们计划在我们的应用程序中使用 Kafka 进行排队。我在 RabbitMQ 和 Spring 方面有一些经验。
使用 RabbitMQ 和 Spring,我们曾经在启动 spring 服务时管理队列创建。
对于 Kafka,我不确定创建主题的最佳方式是什么?有没有办法用 Spring 管理主题。
或者,我们是否应该编写一个单独的脚本来帮助创建主题?维护一个单独的脚本来创建主题对我来说似乎有点奇怪。
任何建议将不胜感激。
【问题讨论】:
-
kafka 1.1.0 默认将
auto.create.topics.enable设置为true,如果可以满足您的生产要求,您已经设置好了:D -
是否建议在生产环境中启用它?
-
一般来说,我看不到保持启用它的问题,因为 99% 的时间 kafka 被配置为只能通过本地网络访问,除此之外,您可以添加身份验证,因此这取决于您的架构和安全要求
-
是的。它只能通过本地网络访问
-
我宁愿禁用它以防止应用程序意外创建错误/不必要的主题。如果它在本地网络上,pre-prod 应用程序启动可能能够访问集群?取决于您的 NW 设置/安全性,但恕我直言,禁用可能是明智的选择。
标签: java spring-boot apache-kafka rabbitmq spring-kafka