Le 09/02/15 05:15, Howard Chu a écrit :
Emmanuel Lécharny wrote:
Le 08/02/15 13:52, Howard Chu a écrit :
Been thinking this would be worth trying for a while now. Set a config option for syncprov to send Persist messages to a multicast group instead of the original TCP session. All the consumers would also join the group and listen for updates. This would also exercise the cldap:// support in libldap.
Implementation details: since datagrams are unreliable, we need to include sequence numbers on each message, which the consumer can check to make sure it hasn't missed an update. Moreover, it should be able to send a request to the provider to resend (over the TCP session) the message corresponding to a given sequence number.
Ok but how do you detect that a consumer has missed an update, if no other update occurs ? You may have some desunchronized server for quite a long period of time if you don't have a mechinism for the consumer to regularly check if it is up to date.
Good point, but easily solved with a periodic keepalive msg.
One more thing : you will have to deal with TLS at some point. There is a RFC draft (https://tools.ietf.org/html/draft-keoh-tls-multicast-security-00) that proposes something, it seems to be 3 years old, and not active anymore.