我正在配置电子邮件平台,我想消除一些疑虑。
构建此系统时我有两个选择:
- 正在
PHP
与我的外部服务器建立连接SMTP
(它是一台仅用于交付的服务器)。这是我目前的网络配置,我感觉这会给服务器带来很大的负担。 - 已
PHP
连接到我的本地MTA
,并让本地MTA
(Postfix
)连接SMTP
到我的外部交付服务器
我认为选项 2 是更好的选择,原因如下:
- 从电子邮件平台发送速度更快
PHP
流程将更快完成PHP
交付本身将由 Postfix(本地 MTA)负责,从而在交付数据流上创建一个新的层,在平台上提供更多的抽象- 交付规则可以具体定义在
Postfix
所以,问题 1 是这是最好的解决方案吗或者我是否应该保留选项 1?
下面是我在第 2 点中所提到的一些简要说明:
+------------+
| |
+---> smtp external backend a ----->| |
| | |
platform -------> local MTA lb ---> smtp external backend b ----->| Delivery |
| | |
+---> smtp external backend c ----->| |
| |
+------------+
问题2:
如果这是最佳情况,我该如何创建负载平衡Postfix
解决方案?
我需要能够轻松地添加和删除SMTP
服务器。
答案1
首先。两个问题合在一起问是不对的!
1)由于您没有找到选项 2 的反面论据,因此您应该选择选项 2。
2) 您不需要 Postfix 负载平衡器。最近的机器上的 Postfix 每秒能够发送 100 封邮件。如果硬盘好并且有一点队列管理功能,那么发送速度会更快。我不知道为什么要扩展它?如果您真的非常需要它,那么您应该拥有一个内部 DNS 服务器,TTL 值低,并且为本地 MTA 使用多个 A 记录 (1b)。然后 DNS 会为您执行循环负载平衡。