eYou大容量邮件系统解决方案 www.eYou.net
二 eYou邮件系统介绍
1 系统设计
1.1 采用冗余分布式系统设计
eYou电子邮件系统采用冗余分布式系统设计,系统的所有模块均可以进行冗余分布式配置,这种全分布式体系结构可以将每个功能模块都安装在单独的主机上,并将系统的整体性能大幅提高,尤其是在系统对并发处理的能力方面更是单一服务器所望尘莫及的。
冗余分布式设计为系统的扩容打下了坚实的基础,对于系统扩容只需要将可能出现负载瓶颈的模块进行增加即可,并且不会影响系统的运行,扩容是平滑进行的。
冗余分布式设计更为系统对系统灾难的抵抗能力和恢复能力提供了保证。当系统服务器集群中的一台服务器发生问题导致无法继续提供服务的时候,其他服务器首先能够保持独立的正常工作,并能检测到故障服务器出现问题,接管故障服务器的工作,直到故障排除再将工作返回给故障服务器。在系统集群中,凡是安装相同模块的主机之间均可以互相做为备份,系统的每一个模块都具备容错能力,当一个模块发生故障时,系统会自动将其切换到备份主机上,而且其他模块的进程可以即时获得切换信息。比如当一台用户认证服务器出现故障时,备份的用户认证服务器就会接管它的工作向用户提供服务,同时其他模块也可以即时知道服务已经切换,并将响应请求转发到新的服务器上。
邮件系统实现冗余分布式设计是通过多模块分离共享分布式存储结构的技术来实现的。在此设计中,系统的所有功能被分离为多个模块。每个模块完成单一的工作,例如POP3模块仅负责对用户信箱的POP3方式访问。各模块之间实行严格的隔离。任一模块都不依赖于与之处于同一层次的模块运行。
系统的建立严格遵循软件工程规范。每个功能模块都由具有多年经验的UNIX高级程序员
精心编写并经过长时间的严格测试以保证模块的稳定性。系统的稳定性通过两个方面得到保证:首先,多模块分离保证了系统不会因为任一单一模块的问题而出现全局故障。其次,单一模块
2 亿中邮信息技术有限公司
eYou大容量邮件系统解决方案 www.eYou.net
的问题可以迅速被隔离并得到解决。实际上,经过eYou多年来在大量用户中的实践证明,系统的多模块分离设计对于保障系统稳定性极为有效。邮件系统实际达到了操作系统级别的稳定性。完全能够满足电信系统对于邮件服务器的可靠性,稳定性需求。
当前系统的主要功能模块包括:
? 用户认证模块(User Authentication Module) ? 邮件存储模块(Mail Storage Module) ? WWW模块(WWW) ? SMTP模块(SMTP) ? POP3模块(POP3)
? 反垃圾邮件模块(Anti SPAM) ? 管理模块(Administration) 图1为邮件系统各模块关系示意图。
3
亿中邮信息技术有限公司 eYou大容量邮件系统解决方案 www.eYou.net
InternetMTAMTASMTPSMTPPOP3POP3Web MailWeb MailAntiSPAMAntiSPAMMSSMSSAdminAdmineYou Mail System 图 1 邮件系统软件模块图
1.2 分布式高速访问存储子系统
一个大容量邮件系统的最底层,也是最影响系统扩展性的模块是存储管理模块。一个大容量邮件系统需要管理一个超过百G,文件数超过千万,同时读写请求超过万次的数据量。一个好的设计必须考虑到如此大的数据量以及访问量,并且能够保证效率,可靠性以及分布式和备份的需求。
邮件系统的存储模块是一个基于文件系统的HASH树状结构。所有的用户数据通过一个高
速HASH算法被散列存放在一个结构化的目录树中。这样的设计可以保证对单个用户的信息访问不会因为系统用户数的增长而减慢。同时该树状结构的所有节点均为逻辑节点,这样的节点可以挂接在任何物理存储设备上,完成存储模块的分布。一个存储模块的分布配置示例如图2
4 亿中邮信息技术有限公司
eYou大容量邮件系统解决方案 www.eYou.net
所示:
根节点物理存储设备 1物理存储设备 N用户数据用户数据 图 2 邮件系统存储分布示意图
系统的分布式散列算法可以保证用户的数据平均分布在树状结构的最终节点之上,当物理存储设备空间不够时,可以安装新的设备并通过eYou提供的数据迁移工具平滑的将用户数据迁移,在此过程中系统服务不需要停止。
1.3 采用PreFork技术的邮件引擎
Pre Fork是在传统进程基础上进行的针对大并发情况的革新技术。它的工作原理是,系统通过一个请求调度器,将用户按照一定算法分配给预先生成的多个守候进程/线程。相对于传统进程技术,Pre Fork避免了系统生成/结束进程时消耗的大量调度时间。多守候进程可以充分利用系统的CPU,内存资源。即能在最短时间内响应大量的突发用户请求,又能充分的利用进程间隔离保护特性达到多并发下的稳定可靠性。
Pre Fork技术应用的范例之一是Apache Web Server。采用了该技术的Apache以其稳定,高
速著称于世。eYou率先将该项技术应用于邮件系统并获得了极大成功。经过众多从中小企业到
5 亿中邮信息技术有限公司
eYou大容量邮件系统解决方案 www.eYou.net
电信运营商的多年实践,该技术可保证系统在大量并发下的超稳定,可靠运行。Pre Fork的工作原理见下图3:
用户请求调度模块守护进程守护进程守护进程进程池图 3 进程池示意图
2 eYou邮件系统遵循的技术标准
RFC 821 - Simple Mail Transfer Protocol
RFC 822 - Standard For The Format Of Arpa Internet Text Messages RFC 1730 - Internet Message Access Protocol - Version 4 RFC 974 - Mail Routing And The Domain System
RFC 1123 - Requirements for Internet Hosts -- Application and Support
6 亿中邮信息技术有限公司