我正在使用reactive-kafka连接器使用 Kafka 和 Akka Streams 的项目。我们发现 reactive-kafka 使用它自己的调度程序(akka.kafka.default-dispatcher),但如果我们使用默认的 akka 调度程序,一切都会更快(reactive-kafka 调度程序 ~300 消息/秒,默认调度程序~1300 条消息/秒)
我想知道使用默认调度程序是否安全。
提前致谢。
我正在使用reactive-kafka连接器使用 Kafka 和 Akka Streams 的项目。我们发现 reactive-kafka 使用它自己的调度程序(akka.kafka.default-dispatcher),但如果我们使用默认的 akka 调度程序,一切都会更快(reactive-kafka 调度程序 ~300 消息/秒,默认调度程序~1300 条消息/秒)
我想知道使用默认调度程序是否安全。
提前致谢。
不,您不应该使用 Akka 的默认调度程序。由于底层 Kafka 客户端使用阻塞,它可能会阻止整个参与者系统运行。
相反,您可以重新配置akka.kafka.default-dispatcher
(例如,通过添加akka.kafka.default-dispatcher.thread-pool-executor.fixed-pool-size = 32
到您的设置)甚至更好地配置您自己的调度程序并将其用于需要它的 Alpakka Kafka 连接器消费者。
有关如何配置调度程序的信息,请参阅Akka 调度程序。