欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

建立大容量Web界面的Email系統(tǒng)_Mail服務(wù)器教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
  最近幾年來(lái),基于Web的免費(fèi)Email系統(tǒng)非常流行,當(dāng)前,幾個(gè)著名的免費(fèi)Email網(wǎng)站基本上已經(jīng)成為大多數(shù)人的選擇,建立單純提供免費(fèi)Email服務(wù)的站點(diǎn)不再像以前那樣受到熱烈歡迎,但是提供Web界面的Email服務(wù)已經(jīng)成為了一個(gè)商業(yè)站點(diǎn)為其注冊(cè)成員提供的基本服務(wù)之一。

  一個(gè)Email系統(tǒng)可以分為服務(wù)器端和客戶端,Web界面的Email系統(tǒng)則是將Email客戶放在了Web服務(wù)器端,因此Email系統(tǒng)所需要實(shí)現(xiàn)的是一個(gè)Web界面的Email客戶。然而,由于這個(gè)Email系統(tǒng)要求用戶數(shù)量較大,因此對(duì)于EMail服務(wù)器也有特定的要求。

  1. 操作系統(tǒng)和用戶數(shù)據(jù)庫(kù)

  由于提供Web和Email服務(wù)要求穩(wěn)定性和性能特別高,因此一般都使用Unix作為服務(wù)器的操作系統(tǒng),例如hotmail使用FreeBSD 和Solaris,國(guó)內(nèi)163等站點(diǎn)也是BSD系列。然而, Unix的標(biāo)準(zhǔn)Email系統(tǒng)也不合適用做這種大容量服務(wù)。有的Unix系統(tǒng),例如當(dāng)前版本的Linux,其用戶標(biāo)識(shí)只有16位,因此用戶數(shù)量最多只能有64K,即使Unix系統(tǒng)本身支持32位的用戶標(biāo)識(shí),考慮到性能因素,單臺(tái)服務(wù)器支持的用戶數(shù)量也不要超過(guò)10 萬(wàn)。

  為了具有支持更多用戶的可擴(kuò)展性,一般采用多臺(tái)服務(wù)器同時(shí)提供服務(wù),雖然此時(shí)仍然可以使用標(biāo)準(zhǔn)Unix用戶作為Email用戶,但考慮到安全性、性能以及可管理性,一般采用非Unix系統(tǒng)用戶來(lái)作為Email用戶。而保存用戶數(shù)據(jù)通常采用支持網(wǎng)絡(luò)訪問(wèn)的數(shù)據(jù)庫(kù)形式,一般常用的有LDAP、標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)、以及Email系統(tǒng)自己實(shí)現(xiàn)的用戶數(shù)據(jù)庫(kù)。其中,LDAP由于是提供目錄服務(wù)的標(biāo)準(zhǔn),因此應(yīng)該為最佳的選擇,其常用的開(kāi)放源代碼實(shí)現(xiàn)為OpenLDAP;而標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)由于實(shí)現(xiàn)方便、可擴(kuò)展性強(qiáng),其中在Int ernet上最常用的為MySQL;此外,也有使用其他方式的實(shí)現(xiàn)。

  2. 郵件的保存

  由于用戶數(shù)量較大,如何保存用戶的郵件就是一個(gè)非常重要的問(wèn)題。傳統(tǒng)Unix使用一個(gè)單一目錄來(lái)保存所有用戶的郵件,在用戶數(shù)量較多時(shí)就極大的降低了文件系統(tǒng)的性能。只有使用多級(jí)目錄,每個(gè)目錄下的文件數(shù)量有限,才能降低打開(kāi)文件時(shí)的系統(tǒng)消耗,或者不再使用簡(jiǎn)單的文件來(lái)保存郵件,而采用某一種封裝形式。完全采取數(shù)據(jù)庫(kù)形式來(lái)保存郵件,由于用戶郵件操作多為文件操作,且大小變化較大,因此會(huì)造成性能和存儲(chǔ)空間上較大的浪費(fèi)。

  由于用戶數(shù)量巨大,并且也要求能被多臺(tái)服務(wù)器同時(shí)訪問(wèn),必須采用存儲(chǔ)空間較大的服務(wù)器或服務(wù)器集群來(lái)保存,通過(guò)光纖通道或者網(wǎng)絡(luò)文件系統(tǒng)NFS來(lái)共享存儲(chǔ)空間,使得每個(gè)用戶的郵件存儲(chǔ)路徑對(duì)于每個(gè)服務(wù)器都是一致的。光纖通道是一種非常昂貴的解決方法,更為常用的是使用NFS,可以使用專用的NFS服務(wù)器,如NetApp,或者使用帶有RAID能力的PC Unix服務(wù)器。

  當(dāng)使用NFS共享存儲(chǔ)空間的時(shí)候,一個(gè)非常重要的問(wèn)題必須注意。由于NFS缺乏文件鎖定機(jī)制,因此使用傳統(tǒng)的用戶郵件存儲(chǔ)格式mailbox時(shí),因?yàn)樗械泥]件都保存在同一個(gè)文件中,因此進(jìn)行郵件操作就必須加鎖,以保證沒(méi)有訪問(wèn)沖突,這就使得它不適合NFS存儲(chǔ)方式。為了解決這個(gè)問(wèn)題,qmail提出了Maildir存儲(chǔ)方式,每個(gè)郵件作為單獨(dú)的一個(gè)文件保存在用戶個(gè)人的郵件目錄下,就避免了加鎖。因此,常見(jiàn)的免費(fèi)郵件服務(wù)器,一般都采用Maildir方式來(lái)保存用戶的郵件。

  如果不打算使用共享文件系統(tǒng)的方式來(lái)保存用戶的郵件,而打算讓每個(gè)服務(wù)器只訪問(wèn)其自己硬盤存儲(chǔ)空間上的用戶郵件,那么EMail服務(wù)器和客戶端都需要進(jìn)行定制,使它們能通過(guò)用戶名來(lái)找到用戶屬于的真正服務(wù)器,將訪問(wèn)任務(wù)交給這個(gè)服務(wù)器完成。這種方法的缺點(diǎn)除了所需要的改動(dòng)較大之外,系統(tǒng)結(jié)構(gòu)復(fù)雜之外,還由于服務(wù)器是按用戶進(jìn)行分割的,不利于分擔(dān)負(fù)載。其優(yōu)點(diǎn)也是由于它不通過(guò)網(wǎng)絡(luò)訪問(wèn)其他服務(wù)器,因此可以采用任意的郵件存儲(chǔ)格式,包括采用強(qiáng)大的cyrus系統(tǒng)來(lái)保存郵件和提供服務(wù)。

  3. 郵件服務(wù)器軟件

  標(biāo)準(zhǔn)的Email軟件,例如sendmail,雖然也提供了一些包括aliases等方法,來(lái)支持非Unix系統(tǒng)用戶,但是這些能力對(duì)于實(shí)現(xiàn)這種Email系統(tǒng)是不夠的。為了支持這些Email用戶,必須使用自己的EMail服務(wù)器軟件。一般由于現(xiàn)有的Email軟件都相當(dāng)成熟,而且也都是開(kāi)放源代碼的軟件,因此一般都是改動(dòng)原有的Email軟件,如sendmail、qmail等,使其支持特定的Email用戶。完全重寫(xiě)一個(gè)Email服務(wù)軟件,從成熟性、穩(wěn)定性來(lái)看并不可取。

  不管從性能上,安全性上考慮,sendmail并不是理想的選擇,而且由于qmail本身就支持Maildir,因此就成為了常用的Email 軟件的基礎(chǔ)開(kāi)發(fā)平臺(tái)。然而需要注意的是,qmail使用GPL許可進(jìn)行保護(hù),因此基于qmail進(jìn)行的任何改動(dòng),原則上必須公開(kāi)源代碼,這對(duì)開(kāi)發(fā)商業(yè)系統(tǒng)有一定障礙。當(dāng)然可以通過(guò)不改動(dòng)qmail,而改動(dòng)相關(guān)的系統(tǒng)庫(kù)函數(shù),或者采用外掛的方式來(lái)繞過(guò)這個(gè)問(wèn)題。另一個(gè)可選的基礎(chǔ)Email軟件是postfix,其本身就具備與LDAP、MySQL的接口,幾乎不需要改動(dòng)就能作為郵件系統(tǒng)的一部分。

  4. Web客戶端

  Web界面Email系統(tǒng)的另一個(gè)重要的部分就是Web客戶端,這一部分的功能將如同個(gè)人計(jì)算機(jī)中的outlook,負(fù)責(zé)給用戶提供訪問(wèn)自己郵件的能力。由于Web訪問(wèn)本身是無(wú)連接的,因此必須保證用戶的安全性。基本上,安全性可以通過(guò)登錄后建立的會(huì)話標(biāo)識(shí)、臨時(shí)目錄,并在程序中進(jìn)行驗(yàn)證來(lái)保證。

  Web客戶端必須以統(tǒng)一的方式來(lái)訪問(wèn)服務(wù)器,可以通過(guò)直接文件訪問(wèn)的方式來(lái)獲得用戶的郵件,或者通過(guò)POP3、IMAP等標(biāo)準(zhǔn)協(xié)議來(lái)訪問(wèn)。對(duì)于使用網(wǎng)絡(luò)文件系統(tǒng)來(lái)共享用戶郵件的系統(tǒng),通過(guò)直接文件訪問(wèn)的方法最為直接和便利,也不需要額外的消耗。而通過(guò)POP3、IMAP協(xié)議來(lái)訪問(wèn)服務(wù)器,其直接的好處就是Web客戶端和EMail服務(wù)器相分離,提高了系統(tǒng)安全性。

  當(dāng)前,已經(jīng)有一些相當(dāng)成熟的開(kāi)放源代碼的Web客戶端軟件,其中IMP是采用PHP來(lái)實(shí)現(xiàn)的,通過(guò)IMAP協(xié)議訪問(wèn)服務(wù)器的Web郵件客戶端軟件。而WING則是采用Perl來(lái)實(shí)現(xiàn)的另一個(gè)Web客戶端軟件。這些開(kāi)放源代碼軟件都相當(dāng)不錯(cuò),然而,將這些軟件與自己的系統(tǒng)相集成,還會(huì)需要進(jìn)行一定改動(dòng)。此外,還應(yīng)該遵循其許可要求,將改動(dòng)的代碼對(duì)外公開(kāi)。

  5. 實(shí)現(xiàn)負(fù)載均衡

  由于需要提供給大量的用戶進(jìn)行訪問(wèn),因此單臺(tái)服務(wù)器不能滿足這個(gè)需要,而必須要使用多服務(wù)器的方式。除了按照功能性進(jìn)行分割之外,如Web服務(wù)器、EMail服務(wù)器以及文件服務(wù)器相分離,還需要對(duì)一些資源緊張的服務(wù)使用多服務(wù)器進(jìn)行負(fù)載均衡。雖然當(dāng)前一些商業(yè)廠家也提出了一些服務(wù)器集群的方案,但常用的簡(jiǎn)單而有效的方法還是DNS循環(huán)解析,Web服務(wù)器重定位和NAT負(fù)載均衡等幾種。

  DNS循環(huán)解析是為同一個(gè)名字分配多個(gè)IP地址,它用在Yahoo等相當(dāng)大的站點(diǎn)上,實(shí)際效果也相當(dāng)不錯(cuò)。而Web服務(wù)器重定位則是由Web服務(wù)器隨機(jī)產(chǎn)生位于不同服務(wù)器上的真實(shí)頁(yè)面URL,使不同的瀏覽器載入不同服務(wù)器上的頁(yè)面,使用它只能實(shí)現(xiàn)Web客戶端的負(fù)載均衡。而NAT負(fù)載均衡則利用第四層交換機(jī),使同樣的請(qǐng)求轉(zhuǎn)向不同的服務(wù)器,除了昂貴的交換機(jī)之外,也有一些軟件能完成NAT功能,我曾對(duì)FreeBSD的natd進(jìn)行了改動(dòng),使其能支持負(fù)載均衡,對(duì)于因?yàn)榻粨Q機(jī)價(jià)格問(wèn)題而不得不降低性能要求的使用者來(lái)講,也是一種選擇。

  6. 實(shí)例分析

  當(dāng)前在國(guó)內(nèi)最流行的Web界面Email系統(tǒng)為網(wǎng)易公司的系統(tǒng),它是采用qmail作為基本服務(wù)器軟件,再加以改動(dòng)的系統(tǒng)。它采用 NFS網(wǎng)絡(luò)文件系統(tǒng)作為用戶郵件存儲(chǔ)空間,使用Maildir作為郵件存儲(chǔ)格式,提供多級(jí)目錄以支持大量用戶。其Web客戶端為他們自己實(shí)現(xiàn)的,通過(guò)直接訪問(wèn)用戶郵件的方式為用戶提供服務(wù)。不考慮其軟件的小問(wèn)題,這種實(shí)現(xiàn)方式是非常流行且成熟的方式,大部分免費(fèi)郵件服務(wù)系統(tǒng)都是采用的這種模式。

  另一種方式是盡量利用已有的開(kāi)放源代碼軟件,一種可行的方案是使用Postfix、OpenLDAP、cyrus和IMP來(lái)實(shí)現(xiàn)大容量Email 系統(tǒng),其中,主郵件服務(wù)器使用Postfix查詢LDAP服務(wù)器,決定用戶的真實(shí)郵箱地址,然后轉(zhuǎn)發(fā)到真實(shí)郵件主機(jī)上,該主機(jī)通過(guò)LDAP查詢確認(rèn),將郵件放入cyrus服務(wù)器中,而IMP通過(guò)登錄cyrus,使用IMAP訪問(wèn)用戶郵件。當(dāng)用戶增多,一臺(tái)cyrus服務(wù)器不夠時(shí),可以將新添加的用戶放置到新增加的服務(wù)器上,只需要在LDAP服務(wù)器設(shè)置相應(yīng)的屬性就可以了。在這種方式下,由于用戶是嚴(yán)格按服務(wù)器分割造成了管理等困難之外,這種結(jié)構(gòu)本身較為復(fù)雜。然而,如果用戶數(shù)量不是很多,那么就不需要使用多臺(tái)cyrus服務(wù)器和LDAP服務(wù)器,復(fù)雜程度就大大降低,比較適合中小型站點(diǎn)使用。

來(lái)源:網(wǎng)絡(luò)搜集//所屬分類:Mail服務(wù)器教程/更新時(shí)間:2013-04-14
相關(guān)Mail服務(wù)器教程