I am developing an application that uses Akka, in which Actors are designed to avoid the Request-Response pattern. Using the Extra or the Cameo pattern is possible to model interactions among actors as a "stream" of messages.

The figure below summarizes the architecture of such actors.

The Cameo pattern is implemented to handle the responses coming from SK actors.

Now, imagine that I want to guarantee the at-least-once semantic between SF and SK actors. How can I do that? The implementation of ato semantic using Akka persistence needs the implementation of a Request-Response Pattern between those actors.

How can I ensure an at-least-once semantic between actors that use a Cameo to handle responses?

Thanks a lot