我正在使用Akka.net(版本=" 1.0.8")。我有两个Actors,一个是从数据库读取输入,另一个是接受该输入并包含一些处理逻辑。演员“A”是输入演员,“B”是演员用于处理输入。 当我们向“演员B”发送大约5万条消息(大小约为30kb)时 对于前。
[1..10000000]
|> List.iter(fun msg ->
actRef.Tell(JsonConvert.SerializeObject(ProcessData (MessageData))))
我收到一些死信的错误:
“[WARNING][4/29/2016 10:08:18 AM][Thread 0009]
[[akka://Pankaj/system/endpointManager/reliableEndpointWriterakka.tcp%3a%2f%2fRemoteFSharp%40***.**.**.**%3a8788-1]]
Association with remote system akka.tcp://RemoteFSharp@***.**.**.**:8788 has failed;
address is now gated for 5000 ms.
Reason is: [Akka.Remote.EndpointDisassociatedException: Disassociated …
[INFO]
[4/29/2016 10:08:18 AM][Thread 0021][akka://Pankaj/deadLetters]
Message String from akka://Pankaj/deadLetters to akka://Pankaj/deadLetters was not delivered.
1 dead letters encountered… “”
但是当我使用Ask方法时,它可以正常工作。
[1..1000000]
|> List.iter(fun msg ->
actRef.Ask(JsonConvert.SerializeObject(ProcessData (MessageData))).Wait())
如果我在每次Tell调用之前延迟10ms,那么在处理了200000条记录之后我会收到一些错误。
我在这里错过了什么? 什么是死信异常以及如何解决它?