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