我正在寻找构建CRM,我需要同步多个用户的电子邮件。所以,我的问题是如何管理多个连接。我看到我们可以使用IMAP IDLE为单个用户在电子邮件到达时收到通知但是我需要有数百个连接,只是在不同线程中有数百个连接工作?此外,我怀疑电子邮件服务器将允许来自单个IP的多个连接。此外,关于GMAIL,它们提供REST API,但它们也允许最大连接数限制。那么,我如何为所有用户同步电子邮件?
如果你能指出我正确的方向,那将是很棒的。谢谢。
来自单个IP地址的数百个IMAP连接并不罕见;有许多办公室,整个办公室网络的出站网关看起来(实际上)是来自外部的单个IP地址。
挑战主要是跟踪代码中的这些连接。
IDLE在这里可能是一个好主意,但是为了使您的代码能够抵御网络中断,您必须为IDLE会话间歇性断开做好准备。因此,只需构建您的程序以在必要时重新连接。然后,如果您发现连接的数量超过了服务器可以处理的数量,那么将代码更改为始终或定期断开连接将是一个相对简单的更改。
为了进行比较,请考虑繁忙的Web服务器必须管理的连接数。那些是忙碌的联系;你的大部分时间都会睡觉。 (但是,如果你希望扩展到成千上万的并发连接,你可能必须要小心;操作系统有一个限制,可能会被调整,但不是无限的。)