I want to create an Akka Cluster with 1000s of actors. Each actor receives a message, does some calculations and writes the result into a dedicated Kafka topic.
It should be deployed in a cluster, for example Kubernetes.
My understanding is that - if what whatever reason the actor is terminated (JVM crash, redeployment or anything else), then the content of its mailbox - along with the message being currently processed - is lost!
This is completely unacceptable in my case, hence I want to implement a way to have persistent mailboxes. Note that the actors themselves are stateless, they don't need to replay messages or reconstruct a state. All I need is to not lose messages if the actor is terminated.
The question is: what's the recommended way to do this? Here and here they recommend to implement persistent actors. But like I said, I don't need to persist and recover any state of the actor. Should I implement a custom mailbox that's based on a persistent storage (like a SQL database)?
I also saw that before some version Akka supported "durable" mailboxes, which seems to be what I need. But for some reason they removed it, which is confusing...