[Date Prev][Date Next]
syncrepl multicast MMR
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.
(Currently I envision using a small circular array in the provider to
remember the last N messages for potential retransmit.)
Config: both consumer and provider will need to be configured with a
particular multicast group ID. It should be possible to participate in
more than 1 group at a time (in which case, an update must be explicitly
sent to each active group) but in general, I expect a cluster of
cooperating MMR servers to all use a single multicast group, and so any
update will only need to be forwarded to the network once.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/