基于java的大容量电子邮件系统技术架构一.背景Hotmail.com,263.net,sina.com大型电子邮件系统虽然规模大、市场占有率高、硬件及网络设备优良,但是他们都遇到过类似的问题:2001年末,hotmail.com系统一度瘫痪,许多用户邮件永久丢失。263.net随着邮件用户不断增加,系统硬件和维护急剧增加,最终无法扩展,不得不启用新的域名,x263.net和263.net.cn。sina.com经常有丢信和信发不出去现象,经过数次升级改造,现在好多了,但硬件及维护开支巨大,已不提供免费服务。为什么要用java开发邮件系统?Java和cgi相比,有许多优势:面向对象的网络编程语言,支持跨平台应用硬件性能提升,使java运行速度不再成为关键要素开放的技术架构,100多家大型IT厂商支持跨平台,支持异构网络连接安全性、可靠性好对XML,WebService支持较好与基于cgi的邮件系统相比有更优异的特性安全性好开发周期短最好的ObjectOriented语言:重用性,功能延展性丰富的标准应用库可靠性高面对国内巨大的用户群体,邮件系统的高可用性、高可扩展性是极其重要的。Java在跨平台、开放性、扩展性方面具有先天优势,因此,基于J2EE构建大容量的邮件应用系统也就成为很好的技术选择。二.技术架构1.邮件系统架构设计时需要考虑的问题:2.典型的邮件系统架构系统可扩展性可靠性安全性功能扩展性系统表现平台兼容开发周期如上图所示,用Java开发前端(MUA)和后端(MSA),构成整个邮件系统的核心。客户端开发(MUA):JavaMail是sun公司的消息开发框架,并提供一组JavaMailAPI,但是这些API只是实现了邮件的部分功能,需要在此基础上进行深入的应用开发。增加邮件连接池管理、Store、Folder、Message等对象的Cache管理,以适应大容量并发用户访问的要求。服务器端开发(MSA):为了提高邮件处理的速度,邮件服务器的核心MTA一般用c开发,服务器端的应用扩展可以通过一个开发接口Jindi-MailetSDK来扩展邮件到短消息Mail2SMS、邮件到传真Mail2Fax、邮件到即时通讯Mail2ICQ等应用。三.结论目前采用java技术开发电子邮件提供的厂商越来越多,其中金笛电子邮件系统在国家经贸委、外经贸部、国家烟草专卖局、潍坊国税局、国家气象局、中科院中科科仪等有一大批用户。实践表明,用java开发大容量电子邮件系统技术上是完全可行的。关于金笛电子邮件系统的详细介绍可以登陆。