我正在使用 Akka 集群(服务器)并每 5 秒使用 Akka TCP 与客户端交换 HeartBeat 消息。
HeartBeat 工作正常,直到我不使用调度程序。但是当我启动 4-5 个调度程序时,服务器没有从客户端(tcp 连接)接收到心跳缓冲区消息。调度程序处理后,我同时收到 4-5 条心跳消息。
Akka 调度程序正在阻止 Actor 的其他处理(缓冲区读取等)。
我已经在下面尝试过,但仍然面临同样的问题。
- 不同的 2 调度程序
- 创建了新的演员并在单独的演员中添加了调度程序调用。
- 使用8核机
- 试过
fork-join-executor
了thread-pool-executor
- 已经尝试更改
Tcp-SO-ReceivedBufferSize
为Tcp-SO-SendBufferSize
1024 或 2048,但没有成功。 - 已经尝试过
Tcp-SO-TcpNoDelay
请帮忙。