Java 如何在一段时间内禁用拓扑,然后在该时间结束时自动启动拓扑

Java 如何在一段时间内禁用拓扑,然后在该时间结束时自动启动拓扑,java,apache-kafka,apache-storm,Java,Apache Kafka,Apache Storm,我有一个拓扑结构,它收集某个主题的修改,对数据进行一些修改,然后将它们发布到API上,我们发布的API有一些维护期(我们无法在那里发布任何内容的时间),我们已经有一些服务返回维护期,但是我们想知道如何在一段时间内禁用拓扑,然后在该时间结束时自动启动它 我们正在使用以下技术: SpringBootRESTAPI 阿帕奇风暴 阿帕奇·卡夫卡 卡夫卡风暴 我不知道是否有办法停止阅读卡夫卡的作品 感谢您的帮助您可以在Storm上这样做:在您的维护开始时间(使用TimerTask等),请致电 最后,调

我有一个拓扑结构,它收集某个主题的修改,对数据进行一些修改,然后将它们发布到API上,我们发布的API有一些维护期(我们无法在那里发布任何内容的时间),我们已经有一些服务返回维护期,但是我们想知道如何在一段时间内禁用拓扑,然后在该时间结束时自动启动它

我们正在使用以下技术:

  • SpringBootRESTAPI
  • 阿帕奇风暴
  • 阿帕奇·卡夫卡
  • 卡夫卡风暴
我不知道是否有办法停止阅读卡夫卡的作品


感谢您的帮助

您可以在Storm上这样做:在您的维护开始时间(使用TimerTask等),请致电


最后,调用
client.activate。

如果您愿意,您也可以通过Storm CLI停用拓扑。如果在处理消息时禁用拓扑,我们会丢失来自Kafka的消息吗?关于CLI,正确,我只选择了允许编程时间的方法,而不必在脚本(如cron)中进行编程。对于数据丢失,我的用例是analytics,其中允许分析丢失(总体而言,系统比停机时更活跃,因此收集的统计数据应该非常精确)。
Nimbus.Client client = NimbusClient.getConfiguredClient(Utils.readStormConfig()).getClient();
..
client.deactivate("topologyName");