咨询电话:023-88959644    24小时服务热线:400-023-8809
NEWS CENTER ·
新闻动态
关注中技互联 关注前沿

如何打造大容量Web界面的Email系统?

发表日期:2012-07-20    文章编辑:山城阿修    浏览次数:8    标签:

  近些年,根据Web的免费Email系统十分盛行,当时,几个闻名的免费Email网站根本上已经成为大多数人的挑选,树立单纯供给免费Email效劳的站点不再像曾经那样遭到热烈欢迎,可是供给Web界面的Email效劳已经成为了一个商业站点为其注册成员供给的根本效劳之一。

  一个Email系统可以分为效劳器端和客户端,Web界面的Email系统则是将Email客户放在了Web效劳器端,因而Email系统所需求完结的是一个Web界面的Email客户。可是,由于这个Email系统恳求用户数量较大,因而关于Email效劳器也有特定的恳求。

  1、操作系统和用户数据库

  由于供给Web和Email效劳恳求稳定性和功用特别高,因而普通都运用Unix作为效劳器的操作系统,例如hotmail运用FreeBSD和Solaris,国内163等站点也是BSD系列。可是,Unix的规范Email系统也不合适用做这种大容量效劳。有的Unix系统,例如当时版别的Linux,其用户标识只要16位,因而用户数量最多只能有64K,即便Unix系统自身撑持32位的用户标识,思索到功用要素,单台效劳器撑持的用户数量也不要超越10万。

  为了具有撑持更多用户的可扩展性,普通选用多台效劳器还供给效劳,固然此刻依然可以运用规范Unix用户作为Email用户,但思索到安全性、功用以及可办理性,普通选用非Unix系统用户来作为Email用户。而保管用户数据普通选用撑持网络拜访的数据库办法,普普通用的有LDAP、规范数据库、以及Email系统本人完结的用户数据库。其间,LDAP由所以供给目录效劳的规范,因而应该为最佳的挑选,其常用的开放源代码完结为OpenLDAP;而规范数据库由于完结便当、可扩展性强,其间在Internet上最常用的为MySQL;此外,也有运用其他办法的完结。

  2、邮件的保管

  由于用户数量较大,如何保管用户的邮件就是一个十分重要的问题。传统Unix运用一个单一目录来保管一切用户的邮件,在用户数量较多时就极大的下降了文件系统的功用。只要运用多级目录,每个目录下的文件数量有限,才干下降翻开文件时的系统耗费,或许不再运用简略的文件来保管邮件,而选用某一种封装办法。彻底采纳数据库办法来保管邮件,由于用户邮件操作多为文件操作,且巨细变化较大,因而会形成功用和存储空间上较大的糟蹋。

  由于用户数量宏大,并且也恳求能被多台效劳器还拜访,必须选用存储空间较大的效劳器或效劳器集群来保管,经过光纤通道或许网络文件系统NFS来同享存储空间,使得每个用户的邮件存储途径关于每个效劳器都是一致的。光纤通道是一种十分贵重的处理办法,更为常用的是运用NFS,可以运用专用的NFS效劳器,如NetApp,或许运用带有RAID才能的PCUnix效劳器。

  当运用NFS同享存储空间的时分,一个十分重要的问题必须注重。由于NFS缺少文件确定机制,因而运用传统的用户邮件存储格局mailbox时,由于一切的邮件都保管在同一个文件中,因而进行邮件操作就必须加锁,以包管没有拜访抵触,这就使得它不合适NFS存储办法。为了处理这个问题,qmail提出了Maildir存储办法,每个邮件作为独自的一个文件保管在用户小我的邮件目录下,就避免了加锁。因而,常见的免费邮件效劳器,普通都选用Maildir办法来保管用户的邮件。

  若是不计划运用同享文件系统的办法来保管用户的邮件,而计划让每个效劳器只拜访其本人硬盘存储空间上的用户邮件,那么Email效劳器和客户端都需求进行定制,使它们能经过用户名来找到用户归于的实在效劳器,将拜访使命交给这个效劳器完结。这种办法的缺陷除了所需求的改动较大之外,系统布局杂乱之外,还由于效劳器是按用户进行切割的,不利于分管负载。其长处也是由于它不经过网络拜访其他效劳器,因而可以选用恣意的邮件存储格局,包罗选用强壮的cyrus系统来保管邮件和供给效劳。

  3、邮件效劳器软件

  规范的Email软件,例如sendmail,固然也供给了一些包罗aliases等办法,来撑持非Unix系统用户,可是这些才能关于完结这种Email系统是不敷的。为了撑持这些Email用户,必须运用本人的Email效劳器软件。普通由于现有的Email软件都适当老练,并且也都是开放源代码的软件,因而普通都是改动原有的Email软件,如sendmail、qmail等,使其撑持特定的Email用户。彻底重写一个Email效劳软件,从老练性、稳定性来看并不可取。

  不论从功用上,安全性上思索,sendmail并不是抱负的挑选,并且由于qmail自身就撑持Maildir,因而就成为了常用的Email软件的根底开发平台。可是需求注重的是,qmail运用GPL答应进行维护,因而根据qmail进行的任何改动,原则上必须揭露源代码,这对开发商业系统有必定妨碍。当然可以经过不改动qmail,而改动关联的系统库函数,或许选用外挂的办法来绕过这个问题。另一个可选的根底Email软件是postfix,其自身就具有与LDAP、MySQL的接口,简直不需求改动就能作为邮件系统的一局部。

  4、Web客户端

  Web界面Email系统的另一个重要的局部就是Web客户端,这一局部的功用将好像小我计算机中的OutLook,担任给用户供给拜访本人邮件的才能。由于Web拜访自身是无衔接的,因而必须包管用户的安全性。根本上,安全性可以经过登录后树立的会话标识、暂时目录,并在顺序中进行验证来包管。

  Web客户端必须以一致的办法来拜访效劳器,可以经过直接文件拜访的办法来取得用户的邮件,或许经过POP3、IMAP等规范协议来拜访。关于运用网络文件系统来同享用户邮件的系统,经过直接文件拜访的办法最为直接和便当,也不需求额定的耗费。而经过POP3、IMAP协议来拜访效劳器,其直接的优点就是Web客户端和Email效劳器相别离,提高了系统安全性。

  当时,已经有一些适当老练的开放源代码的Web客户端软件,其间IMP是选用PHP来完结的,经过IMAP协议拜访效劳器的Web邮件客户端软件。而WING则是选用Perl来完结的另一个Web客户端软件。这些开放源代码软件都适当不错,可是,将这些软件与本人的系统相集成,还会需求进行必定改动。此外,还应该遵从其答应恳求,将改动的代码对外揭露。

  5、完结负载均衡

  由于需求供给给许多的用户进行拜访,因而单台效劳器不能满意这个需求,而必需求运用多效劳器的办法。除了依照功用性进行切割之外,如Web效劳器、Email效劳器以及文件效劳器相别离,还需求对一些资源严重的效劳运用多效劳器进行负载均衡。固然当时一些商业厂家也提出了一些效劳器集群的计划,但常用的简略而有用的办法仍是DNS循环解析,Web效劳器重定位和NAT负载均衡等几种。

  DNS循环解析是为同一个姓名分配多个IP地址,它用在Yahoo等适当大的站点上,实际效果也适当不错。而Web效劳器重定位则是由Web效劳器随机发生坐落不同效劳器上的实在页面URL,使不同的浏览器载入不同效劳器上的页面,运用它只能完结Web客户端的负载均衡。而NAT负载均衡则运用第四层交换机,使相同的恳求转向不同的效劳器,除了贵重的交换机之外,也有一些软件能完结NAT功用,我曾对FreeBSD的natd进行了改动,使其能撑持负载均衡,关于由于交换机价钱问题而不得不下降功用恳求的运用者来讲,也是一种挑选。

  6、实例剖析

  当时在国内最盛行的Web界面Email系统为网易公司的系统,它是选用qmail作为根本效劳器软件,再加以改动的系统。它选用NFS网络文件系统作为用户邮件存储空间,运用Maildir作为邮件存储格局,供给多级目录以撑持许多用户。其Web客户端为他们本人完结的,经过直接拜访用户邮件的办法为用户供给效劳。不思索其软件的小问题,这种完结办法是十分盛行且老练的办法,大局部免费邮件效劳系统都是选用的这种形式。

  另一种办法是尽量运用已有的开放源代码软件,一种可行的计划是运用Postfix、OpenLDAP、cyrus和IMP来完结大容量Email系统,其间,主邮件效劳器运用Postfix查询LDAP效劳器,决议用户的实在邮箱地址,然后转发到实在邮件主机上,该主机经过LDAP查询承认,将邮件放入cyrus效劳器中,而IMP经过登录cyrus,运用IMAP拜访用户邮件。当用户增多,一台cyrus效劳器不敷时,可以将新添加的用户放置到新添加的效劳器上,只需求在LDAP效劳器设置相应的特点就可以了。在这种办法下,由于用户是严厉按效劳器切割形成了办理等艰难之外,这种布局自身较为杂乱。可是,若是用户数量不是许多,那么就不需求运用多台cyrus效劳器和LDAP效劳器,杂乱程度就大大下降,比拟合适中小型站点运用。

如没特殊注明,文章均为中技互联原创,转载请注明来自www.zjcoo.com
上一篇:web服务器安全设置配置-超全攻略,超详细~ 下一篇:已经是最后一篇了
相关新闻

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 备11003429号

  • qq客服
  • 公众号
  • 手机版
  • 新浪微博