<div dir="ltr">Hi,<br><br>I am new to spread, and I am trying to understand how the reliable delivery works. Here is what I want to do: A client sends a message to a group of servers (the client is not a member of the Servers group) and one member in the Servers group will process the request based on an internal load balancing function (mod # servers in the group). If the spread client multicasts an AGREED message to the Servers group, the multicast will return with a success as soon as the message is received by one spread daemon.&nbsp; Then the spread daemon will multicast the message to all the members of the group. Since AGREED service type follows causality, if any member in the Servers group dies after client sends the message, and before Spread delivers the message to all group members, the alive servers will receive the membership change before receiving the client&#39;s message, and can rearrange the load balancing function to handle all the requests. The only time that a client&#39;s request might be lost is when all members of the Servers group die, in which case client&#39;s multicast will still return with success, while no server has received it. So can I assume that as long as at least one server is alive, the client can be sure 100%&nbsp; that all alive servers will always receive a client&#39;s request? or am I missing some edge cases where the message might still get lost somewhere in the queues?<br>
<br>The same question for multicasting to private groups. If a client wants to talk to another client, using a central Spread daemon, as soon as the daemon receives the message, multicast will return success for the sender client. the daemon then will send the message to the receiver client reliably. Therefore the only case that the receiver might not receive the message is when it dies before the message is delivered. So can I assume that as long as the receiver client is alive reliable delivery is 100% ? or am I missing some edge cases here?<br>
<br>I also saw some threads about Spread recognizing the membership change (leave) with delay. does this mean that the alive members of a group might receive the membership message after a regular message that was sent after the actual death of a certain member? doesn&#39;t this contradict the causality?<br clear="all">
<br>I would be grateful if someone can explain these cases.<br><br>Thank you;<br>Vina <br><br></div>