系统可扩展性可靠性安全性功能扩展性系统表现平台兼容开发周期基于java的大容量电子邮件系统技术架构一
背景Hotmail
com,263
net,sina
com大型电子邮件系统虽然规模大、市场占有率高、硬件及网络设备优良,但是他们都遇到过类似的问题:2001年末,hotmail
com系统一度瘫痪,许多用户邮件永久丢失
net随着邮件用户不断增加,系统硬件和维护急剧增加,最终无法扩展,不得不启用新的域名,x263
net和263
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管