如果其他服务器不可用,Dovecot dsync 复制会发生什么情况?

如果其他服务器不可用,Dovecot dsync 复制会发生什么情况?

我正在考虑使用 Postfix 和 Dovecot 在我们的其他办公室设置另一个邮件服务器。我们有一个第三方垃圾邮件过滤器,可以使用 SMTP 将传入邮件转发到两台服务器,如果其中一台服务器不可用,它会将邮件排队,直到服务器重新上线。

我想知道使用 dsync 同步两个 Dovecot 实例时是否会发生类似的事情。我在网上找不到明确的答案。

如果我使用 dsync 设置主/主复制,我理解用户在一台服务器 (A) 上使用 IMAP 客户端所做的更改将被复制到另一台服务器 (B)。但如果 B 离线,而用户继续在 A 上进行更改,那么当 B 重新上线时,这些更改会自动复制到 B 吗?或者 A 和 B 会不同步,需要某种手动干预?

答案1

dsync 是“幂等的”,将从您当前所处的任何状态进行同步;与 MySQL 复制不同,不存在待处理更改的队列。

这意味着,当服务器 B 恢复时,下次触发 dsync 时,两台服务器将重新同步。无需手动干预,即使 B 上的所有邮件文件系统都被清除,它们也会重新同步(尽管这可能需要一些时间)。

您可能希望用户通常仅通过服务器 A 进行访问,并且如果 A 出现故障且您的代理将其重定向到 B,则从代理池中删除 A,直到您的 dsync 完成并且 A 再次同步。

相关内容