This is a follow-up to our last post, “How to Guarantee Delivery of Messages in Akka.NET.” In that post we introduced the AtLeastOnceDeliveryActor and talked about strategies for retrying deliveries of messages in order to make sure they’re successfully procssed.

In this post we’re going to talk about “At Least Once” delivery’s big brother, “Exactly Once” delivery - and why you should try to avoid it if at all possible.

The video covers:

  • Different state requirements of each messaging guarantee;
  • How to implement “Exactly Once” delivery in Akka.NET using an acknowledgment buffer;
  • Known issues and difficulties with ACK buffers;
  • Using idempotent data structures as ACK buffer alternatives; and
  • Knowing when you don’t need “Exactly Once” message delivery.

Let us know in the comments if you found this to be helpful!

If you liked this post, you can share it with your followers or follow us on Twitter!
Written by Aaron Stannard on March 24, 2016


Upcoming Petabridge Live Akka.NET Webinar Trainings

Get up to speed on the bleeding edge of large-scale .NET development with the Petabridge team. Each training is done remotely via webinar, lasts four hours, and will save you weeks of trial and error.

Get to the cutting edge with Akka.NET

Learn production best practices, operations and deployment approaches for using Akka.NET.