高性能 POP3 解决方案,可处理拥有数百万封电子邮件的少数账户

高性能 POP3 解决方案,可处理拥有数百万封电子邮件的少数账户

由于规定,我们必须创建仅通过 smtp/pop3(基本上是通过 SMTP/POP3 的 RPC)进行通信的解决方案。

消息从一个使用 SMTP 的应用程序发送,传递到邮箱,并由另一个使用 POP3 的应用程序接收,然后它使用 SMTP 传递答复,如此循环往复。

预计平均邮件大小为 40kB,预计每日邮件数量为 1200-1500 万。这些邮件将分发给少量用户帐户,大约 10 个。邮件不应长时间存储,只需发送、提取、删除即可。

我们计划使用带有 fusionio 存储的硬件,并使用 postfix 作为 SMTP 部分,但正在寻找最好是可以处理这些卷的开源 POP3 软件。

我一直在研究 Dovecot,它可能是最好的解决方案,但我担心由于它主要关注 IMAP 会对 POP3 造成一些性能劣势。

答案1

我认为,如果您满足 2 个条件,则可以使用 Dovecot 作为有效的 POP3 服务器。首先,除非目录有索引,否则 POP3 的最大开销是获取文件大小。请确保使用 Dovecot LDA,因为它每次更新目录时都会对邮件大小和数量进行非常有效的计数,这意味着连接到 maildir 的 POP3 进程不必先扫描整个目录。其次,如果您使用多个服务器,请仔细查看 Director,因为它将确保用户始终连接到同一台服务器,从而将索引和非邮件检索操作保持在最低限度。

您还可能会发现索引是无用的,如果客户端连接频率足够高以至于 maildir/mbox 中的消息数量仍然很少(我确信在扫描目录的成本和更新索引的较小增量成本之间存在一个最佳点,但我不敢猜测在哪里..)

答案2

Dovecot 就很好。

如果单个邮箱中堆积了大量邮件,性能才会变差(我的意思是不会那么好)。如果您尽快删除它们,那就没问题了。

另一件事是使用 maildir。避免使用 mbox,因为它存在并发访问问题。

相关内容