These are chat archives for akkadotnet/akka.net

29th
Sep 2016
dmcconnell86
@dmcconnell86
Sep 29 2016 05:18
Hey guys, is there a way to do a distributed publish to other systems in the cluster with a reliable acknowledgement? I saw this article that is talking about the same thing: akkadotnet/akka.net#2115
Is there a built in way to do this at the moment or will we need to roll our own solution?
Thanks for any help guys, if there is any doco I may have missed then a point in the right direction would be great
Arjen Smits
@Danthar
Sep 29 2016 06:39
@ayoung no. The pool router a mechanism to add concurrency to your actor system. Its not meant to be manually resized. You can use an Resizer to supply an upper and lower bound. But thats it.
Bartosz Sypytkowski
@Horusiath
Sep 29 2016 09:32

@dmcconnell86 there is a lot of things to take into consideration:

  • When do you consider messages as successfully acknowledged? When one of the subscribers received message? When all of them had? When majority did?
  • Should messages be published sequentially instead of in parallel? (it means ack every subscriber before sending a message to another one until completed or first subscriber will fail)
  • What about time constraints? If subscriber took 5 min to ACK the message? Will you wait for it so long?
  • If subscriber won't receive a message within provided timeout - what will you do? Consider it as a NACKed? Try to resend a message? If so, how many times or for how long until you give up?
  • If you will resend the messages, it may turn out, that the one of the subscribers got the same message twice (or more). Will you require it to be idempotent? Will you try to provide some deduplication mechanism? If so, how many messages can be received between two duplicates to still be able to recognize them?
  • What if publisher node has gone down before getting all ACKs? When it will get up, do you consider published message as failed? What if all subscribers have ACKed but published didn't get an ACK?

Those are questions, that need an answer and for every person reliable distributed delivery may mean something else.

TonyLo1
@TonyLo1
Sep 29 2016 17:01
Hi, is there API access to sending system level messages, I need to make sure that timer generated messages get processed immediately?
Daniel Söderberg
@raskolnikoov
Sep 29 2016 20:20
@Aaronontheweb is it possible to schedule the actorsystem scheduler to call an actor at random times every day?