[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 如何设计邮件系统做到没有单点故障,而且对用户透明?




shell909090 写道:
> Ding Honghui 写道:
>> Yingbo Qiu wrote:
>>  
>>> 关于 mx 的 HA.
>>>
>>> 一个主mx,一个备份mx.  主 mx 有更高的优先级
>>>
>>> 备份 mx 接受下来后,缺省路由是主 mx
>>>
>>> 两个 mx 完全可以在不同的机房
>>>
>>> 如果备份 mx 暂时连接不上主 mx,就在队列里等待
>>>       
>> 有没有可能做到对用户完全透明?
>>
>>
>>   
> 如果要用户完全透明,必须是多个机器接管同一个IP。当这个时候,多个机器必
> 须在同一个子网中,这样才能绕过路由器实现自主接管管理。这多数意味着机器
> 无法 放到两个机房里面。
> 如果不是同一个IP,还有一个办法就是一个DNS解析出多个IP,用户随机选用。
> 不 过这个不算完全透明吧?
一般情况下,用户发信不会与 mx 服务器打交道的,而是发信给 smtp 服务器,然
后 smtp 服务器再投递到目的域(通过mx路由)。

与用户打交道的只有 smtp 服务器和 pop3/imap/webmail 服务器,把这些服务器
的单点解决了,一般来讲就没啥大问题了。

MTA 服务器的单点相对来讲要容易解决,比如上面说的备份mx就是一个方法。

另外,用户连接到 smtp 服务器发信,以及smtp 服务器向外投递邮件,都是通过
SMTP 协议进行,但是这两种情况下,Client 对服务器的响应处理是有很大不同的。


Reply to: