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.
A heart-beat would be good to have : the producer would periodically
multi-cast the latest CSN, allowing desynchronized servers to catch up.
Another pb iw that Datagram are limited in size, which means big entries
will have to be split in many parts.