論計(jì)算機(jī)網(wǎng)絡(luò)中服務(wù)的概念論文
“網(wǎng)絡(luò)服務(wù)”,是指一些在網(wǎng)絡(luò)上運(yùn)行的、面向服務(wù)的、基于分布式程序的軟件模塊,網(wǎng)絡(luò)服務(wù)采用HTTP和XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)等互聯(lián)網(wǎng)通用標(biāo)準(zhǔn),使人們可以在不同的地方通過不同的終端設(shè)備訪問WEB上的數(shù)據(jù),如網(wǎng)上訂票,查看訂座情況。網(wǎng)絡(luò)服務(wù)在電子商務(wù)、電子政務(wù)、公司業(yè)務(wù)流程電子化等應(yīng)用領(lǐng)域有廣泛的應(yīng)用,被業(yè)內(nèi)人士奉為互聯(lián)網(wǎng)的下一個(gè)重點(diǎn)。以下是學(xué)習(xí)啦小編為大家精心準(zhǔn)備的:論計(jì)算機(jī)網(wǎng)絡(luò)中服務(wù)的概念相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!
論計(jì)算機(jī)網(wǎng)絡(luò)中服務(wù)的概念全文如下:
摘要:
由系統(tǒng)管理員管理的結(jié)構(gòu)化計(jì)算機(jī)環(huán)境和只有一臺(tái)或幾臺(tái)孤立計(jì)算機(jī)組成的計(jì)算機(jī)環(huán)境的主要區(qū)別是什么呢――服務(wù)!這種只有幾臺(tái)孤立計(jì)算機(jī)的典型環(huán)境是家庭和那些很小的非技術(shù)性的辦公室,而典型的結(jié)構(gòu)化計(jì)算機(jī)環(huán)境則是由技術(shù)人員操作大量的計(jì)算機(jī),通過共享方便的通信、優(yōu)化的資源等服務(wù)來互相聯(lián)結(jié)在一起。當(dāng)一臺(tái)家用電腦通過互聯(lián)網(wǎng)或通過ISP連接到因特網(wǎng)上,他就是使用了ISP或其他人提供的服務(wù)才進(jìn)入網(wǎng)絡(luò)的。
由系統(tǒng)管理員管理的結(jié)構(gòu)化計(jì)算機(jī)環(huán)境和只有一臺(tái)或幾臺(tái)孤立計(jì)算機(jī)組成的計(jì)算機(jī)環(huán)境的主要區(qū)別是什么呢――服務(wù)!這種只有幾臺(tái)孤立計(jì)算機(jī)的典型環(huán)境是家庭和那些很小的非技術(shù)性的辦公室,而典型的結(jié)構(gòu)化計(jì)算機(jī)環(huán)境則是由技術(shù)人員操作大量的計(jì)算機(jī),通過共享方便的通信、優(yōu)化的資源等服務(wù)來互相聯(lián)結(jié)在一起。當(dāng)一臺(tái)家用電腦通過互聯(lián)網(wǎng)或通過ISP連接到因特網(wǎng)上,他就是使用了ISP或其他人提供的服務(wù)才進(jìn)入網(wǎng)絡(luò)的。辦公室環(huán)境也能提供同樣甚至更多的服務(wù)。
典型的辦公室環(huán)境包含很多服務(wù),主要有DNS、電子郵件、認(rèn)證服務(wù)、聯(lián)網(wǎng)以及打印等等。這些服務(wù)非常重要,一旦沒有了這些服務(wù)會(huì)對(duì)你產(chǎn)生很大的影響。其它典型的服務(wù)還包括各種遠(yuǎn)程接入方法、網(wǎng)絡(luò)證書服務(wù)、軟件倉(cāng)庫(kù)、備份服務(wù)、連接因特網(wǎng)、DHCP、文件服務(wù)等等。如此多的服務(wù)確實(shí)令人厭倦,但這也證明了系統(tǒng)管理員團(tuán)隊(duì)所創(chuàng)造并維護(hù)的服務(wù)是如此之多。你給用戶的每一個(gè)技術(shù)支持都包含了系統(tǒng)管理員團(tuán)隊(duì)提供的服務(wù)在里面。
提供一個(gè)服務(wù)絕不僅僅是簡(jiǎn)單的把硬件和軟件累加在一起,它包括了服務(wù)的可靠性、服務(wù)的標(biāo)準(zhǔn)化、以及對(duì)服務(wù)的監(jiān)控、維護(hù)、技術(shù)支持等。只有在這幾個(gè)方面都符合要求的服務(wù)才是真正的服務(wù)。
系統(tǒng)管理員的主要職責(zé)之一就是為用戶提供他們所需要的服務(wù),這是一項(xiàng)持續(xù)性的工作。隨著技術(shù)的進(jìn)步和用戶工作的開展,用戶的要求也會(huì)越來越高,結(jié)果系統(tǒng)管理員就必須花費(fèi)大量的時(shí)間來設(shè)計(jì)并創(chuàng)建新的服務(wù),創(chuàng)建的新服務(wù)的質(zhì)量決定了以后系統(tǒng)管理員們對(duì)它們提供技術(shù)支持時(shí)所花費(fèi)時(shí)間和精力的多少,同時(shí)也決定了用戶的滿意程度。
一、 服務(wù)的基本問題
創(chuàng)建一個(gè)穩(wěn)定、可靠的服務(wù)是一個(gè)系統(tǒng)管理員的重要工作。在進(jìn)行這項(xiàng)工作時(shí)系統(tǒng)管理員必須考慮許多基本要素,其中最重要的就是在設(shè)計(jì)和開發(fā)的各個(gè)階段都要考慮到用戶的需求。要和用戶進(jìn)行交流,去發(fā)現(xiàn)用戶對(duì)服務(wù)的要求和預(yù)期,然后把其它的要求如管理要求等列一個(gè)清單,這樣的清單只能讓系統(tǒng)管理員團(tuán)隊(duì)的人看到。在這樣一個(gè)過程中"是什么"比"怎么樣"更重要,否則在具體執(zhí)行時(shí)很容易就會(huì)陷入泥潭而失去目標(biāo)。
服務(wù)應(yīng)該建立在服務(wù)器級(jí)的機(jī)器上而且機(jī)器應(yīng)該放在合適的環(huán)境中,作為服務(wù)器的機(jī)器應(yīng)當(dāng)具備適當(dāng)?shù)目煽啃院托阅?。服?wù)和服務(wù)所依賴的機(jī)器應(yīng)該受到監(jiān)控,一旦發(fā)生故障就發(fā)出警報(bào)或產(chǎn)生故障記錄清單。
大多數(shù)服務(wù)都依賴其它服務(wù),通過進(jìn)一步理解服務(wù)是如何進(jìn)行的,會(huì)使你洞悉這個(gè)服務(wù)所依賴的其它的服務(wù)。例如,幾乎所有的服務(wù)都依靠域名服務(wù)(DNS)。要給一個(gè)服務(wù)配置機(jī)器名或域名,要靠DNS;要想在日志文件中包含所使用服務(wù)或服務(wù)訪問過的主機(jī)名,要用到DNS;如果你進(jìn)入一臺(tái)主機(jī)通過它的服務(wù)聯(lián)系別的機(jī)器,也要用到DNS。同樣,幾乎所有的服務(wù)都依靠網(wǎng)絡(luò),其實(shí)網(wǎng)絡(luò)也是一種服務(wù)。DNS是依靠網(wǎng)絡(luò)的,所以所有依賴DNS的服務(wù)也依靠網(wǎng)絡(luò)。有一些服務(wù)是依靠email的(而email是依賴DNS和網(wǎng)絡(luò)的),還有別的服務(wù)依靠訪問其它計(jì)算機(jī)上的共享文件,也有許多服務(wù)也依靠身份認(rèn)證和授權(quán)服務(wù)來對(duì)人們進(jìn)行區(qū)分,特別是在那些基于認(rèn)證機(jī)制而又具有不同級(jí)別服務(wù)權(quán)限的環(huán)境中。某些服務(wù)如DNS的故障,會(huì)引起所有依賴DNS的其它服務(wù)的一連串的失敗。所以在構(gòu)建一個(gè)服務(wù)時(shí),了解它所依賴的其它服務(wù)是非常重要的。
作為服務(wù)一部分的機(jī)器和軟件應(yīng)當(dāng)依賴那些建立在相同或更高標(biāo)準(zhǔn)上的主機(jī)和軟件,一個(gè)服務(wù)的可靠性和它所依賴的服務(wù)鏈中最薄弱環(huán)節(jié)的可靠性是相當(dāng)?shù)?。一個(gè)服務(wù)不應(yīng)該無故的去依賴那些不是服務(wù)一部分的主機(jī)。
為了可靠性和安全性,對(duì)服務(wù)器的訪問權(quán)限應(yīng)當(dāng)進(jìn)行限制,只有系統(tǒng)管理員才能具有訪問權(quán)限。使用機(jī)器的人和機(jī)器上運(yùn)行的程序越多,發(fā)生內(nèi)存溢出或突然出現(xiàn)其它故障、服務(wù)中斷的機(jī)會(huì)就越大。用戶使用計(jì)算機(jī)時(shí)總喜歡多裝點(diǎn)東西,這樣他們就能方便的存取自己需要的數(shù)據(jù)和使用其它的服務(wù)。但是服務(wù)器應(yīng)該是盡可能的簡(jiǎn)單,簡(jiǎn)單化可以讓機(jī)器更加可靠,發(fā)生問題時(shí)更容易調(diào)試。服務(wù)器在滿足服務(wù)運(yùn)轉(zhuǎn)正常的前提下應(yīng)當(dāng)安裝最少的東西,只有系統(tǒng)管理員們具有安裝權(quán)限,而且系統(tǒng)管理員們登錄服務(wù)器時(shí)應(yīng)該也只是為了維護(hù)。從安全的角度來看,服務(wù)器比普通的臺(tái)式機(jī)更敏感。入侵者一旦獲得了服務(wù)器的管理員權(quán)限,他所能做的破壞比獲得臺(tái)式機(jī)管理員權(quán)限所能做的破壞大的多!越少的人具有管理員權(quán)限,服務(wù)器運(yùn)行的東西就越少,入侵者獲得權(quán)限的機(jī)會(huì)就越小,入侵者被發(fā)現(xiàn)的機(jī)會(huì)就越大。
系統(tǒng)管理員在構(gòu)建一個(gè)服務(wù)時(shí)必須要作幾個(gè)決策,比如從哪個(gè)廠家買設(shè)備、對(duì)于一個(gè)復(fù)雜的服務(wù)用一臺(tái)還是多臺(tái)服務(wù)器、構(gòu)建服務(wù)時(shí)要留多大的冗余度。一個(gè)服務(wù)應(yīng)該盡可能的簡(jiǎn)單,盡可能小的依賴性,這樣才能提高可靠性和易維護(hù)性。
另一個(gè)使服務(wù)易于維護(hù)的方法是使用標(biāo)準(zhǔn)硬件、標(biāo)準(zhǔn)軟件、標(biāo)準(zhǔn)配置以及把文件放在標(biāo)準(zhǔn)位置,對(duì)服務(wù)進(jìn)行集中管理。例如,在一個(gè)公司中,用一個(gè)或兩個(gè)大的主要的打印服務(wù)器比零星分布的幾百個(gè)小服務(wù)器使服務(wù)更容易得到支持。最后,也是非常重要的是在執(zhí)行一些新服務(wù)時(shí),服務(wù)所在的機(jī)器在用戶端配置時(shí)最好使用基于服務(wù)的名字,而不是用真實(shí)的主機(jī)名,這樣服務(wù)才會(huì)不依賴于機(jī)器。如果你的操作系統(tǒng)不支持這個(gè)功能,那就去告訴你的操作系統(tǒng)銷售商這對(duì)你很重要,同時(shí)要考慮是否使用別的具有這個(gè)功能的操作系統(tǒng)。
一旦服務(wù)建好并完成了測(cè)試,就要逐漸轉(zhuǎn)到用戶的角度來進(jìn)行進(jìn)一步的測(cè)試和調(diào)試。
1. 用戶的要求
建立一個(gè)新服務(wù)應(yīng)該從用戶的要求開始,用戶才是你建立服務(wù)的根本原因。如果建立的服務(wù)不合乎用戶的需要,那簡(jiǎn)直就是在浪費(fèi)精力。
很少有服務(wù)不是為了滿足用戶的需求而建立的,DNS就是其中之一。其它的如郵件服務(wù)和網(wǎng)絡(luò)服務(wù)都是明顯為了用戶的需求建立的。用戶需要他們的郵件用戶端具備某些功能,而且不同的用戶想要在網(wǎng)絡(luò)上作不同是事情,這些都依靠提供服務(wù)的系統(tǒng)設(shè)置情況。其它的服務(wù)如電子購(gòu)物系統(tǒng)則更是以用戶為導(dǎo)向的了。系統(tǒng)管理員們需要理解服務(wù)怎樣影響用戶,以及用戶的需求又如何反過來對(duì)服務(wù)的設(shè)計(jì)產(chǎn)生影響。
搜集用戶的需求應(yīng)該包括下面這些內(nèi)容:他們想怎樣使用這些新服務(wù)、需要哪些功能、喜歡哪些功能、這些服務(wù)對(duì)他們有多重要,以及對(duì)于這些服務(wù)他們需要什么級(jí)別的可用性和技術(shù)支持。如果可能的話,讓用戶試用一下服務(wù)的試用版本。不要讓用戶使用那些很麻煩或是不成功的系統(tǒng)和項(xiàng)目。盡量計(jì)算出使用這個(gè)服務(wù)的用戶群有多大以及他們需要和希望獲得什么樣的性能,這樣才能正確的計(jì)算。
2. 操作上的要求
對(duì)于系統(tǒng)管理員來說,新服務(wù)的有些要求不是用戶直接可見的。比如系統(tǒng)管理員要考慮到新服務(wù)的管理界面、是否可以與已有的服務(wù)協(xié)同操作,以及新服務(wù)是否能與核心服務(wù)如認(rèn)證服務(wù)和目錄服務(wù)等集成到一起。
系統(tǒng)管理員們還要考慮怎樣規(guī)劃一個(gè)服務(wù),因?yàn)殡S著公司規(guī)模的增長(zhǎng),所需要的服務(wù)當(dāng)然也會(huì)比當(dāng)初預(yù)期的有所增長(zhǎng),所以系統(tǒng)管理員們還得想辦法在增長(zhǎng)服務(wù)規(guī)模的同時(shí)不中斷現(xiàn)存的服務(wù)。
一個(gè)相對(duì)成熟的方法是升級(jí)服務(wù)的路徑。一旦有了新版本,如何進(jìn)行升級(jí)呢?是否得中斷現(xiàn)在的服務(wù)呢?是否要觸及桌面呢?能不能慢慢地逐漸升級(jí),在整個(gè)公司發(fā)生沖突之前先在一些人中進(jìn)行測(cè)試呢?所以要盡量把服務(wù)設(shè)計(jì)得容易升級(jí),不用中斷現(xiàn)有的服務(wù)就能升級(jí),不要觸及桌面而且能慢慢地逐漸升級(jí)。
從用戶期望的可靠性水平以及系統(tǒng)管理員們對(duì)系統(tǒng)將來要求的可靠性的預(yù)期,系統(tǒng)管理員們就能建立一個(gè)用戶期望的功能列表,其內(nèi)容包括群集、從屬設(shè)備、備份服務(wù)器或具有高可用性的硬件和操作系統(tǒng)。
系統(tǒng)管理員們需要考慮到由服務(wù)主機(jī)位置和用戶位置而引起的網(wǎng)絡(luò)性能問題。如果遠(yuǎn)程用戶通過低帶寬、高等待時(shí)間連接,那這樣的服務(wù)該怎么完成呢?有沒有一種方法可以讓各個(gè)地方的用戶都獲得好的或比較好的服務(wù)呢?銷售商很少測(cè)試用他們的產(chǎn)品連接時(shí)是否高等待時(shí)間的――即RTT值是否比較大――每個(gè)人從程序員到銷售員都忽略了這個(gè)問題。人們只是確信內(nèi)部測(cè)試的結(jié)果。
3. 開放的體系結(jié)構(gòu)
一個(gè)新服務(wù),不管在什么情況下,只要可能,就應(yīng)該建立在使用開發(fā)式協(xié)議和文件格式的體系結(jié)構(gòu)上。特別是那些在公共論壇上記錄成文的協(xié)議和文件格式,這樣銷售商才能依據(jù)這些標(biāo)準(zhǔn)生產(chǎn)出通用的產(chǎn)品。具有開放體系結(jié)構(gòu)的服務(wù)更容易和其它遵循相同標(biāo)準(zhǔn)的服務(wù)集成到一起。
開放的反義詞是私有,使用私有協(xié)議和文件格式的服務(wù)很難和其它產(chǎn)品共同使用,因?yàn)樗接袇f(xié)議和文件格式的改變可以不發(fā)布通知,也不要求得到協(xié)議創(chuàng)造者的許可。當(dāng)銷售商擴(kuò)展到一個(gè)新領(lǐng)域,或者試圖保護(hù)自己的市場(chǎng)而阻止創(chuàng)造一個(gè)公平競(jìng)爭(zhēng)的環(huán)境時(shí),他們會(huì)使用私有協(xié)議。
有時(shí)銷售商使用私有協(xié)議就是為了和別的銷售商達(dá)成明確的許可協(xié)議,但是會(huì)在一個(gè)銷售商使用的新版本和另一個(gè)銷售商使用的兼容版本之間存在明顯的延遲,兩個(gè)銷售商所用的版本之間也會(huì)有中斷,而且沒有提供兩個(gè)產(chǎn)品之間的接口。這種情況對(duì)于那些依靠它們的接口同時(shí)使用兩種產(chǎn)品的人來說,簡(jiǎn)直是一場(chǎng)惡夢(mèng)。
商業(yè)上使用開放協(xié)議的例子很簡(jiǎn)單:它使你能夠建立更好的服務(wù),因?yàn)槟憧梢赃x擇最好的服務(wù)器和用戶端軟件,而不必被迫地選擇,比如在選擇了最好的用戶端后,又被迫選擇不是最理想的服務(wù)器。用戶想要那些具有他們需要的功能,而又易于使用的應(yīng)用程序,而系統(tǒng)管理員們卻希望服務(wù)器上的應(yīng)用程序易于管理,這兩個(gè)要求常常是沖突的。一般來說,或者用戶或者系統(tǒng)管理員們有更大權(quán)利私下做一個(gè)另對(duì)方驚奇的決定。如果系統(tǒng)管理員們做了這個(gè)決定,用戶會(huì)認(rèn)為他們簡(jiǎn)直是法西斯,如果用戶做了這個(gè)決定,這會(huì)成為一個(gè)難以管理的包袱,最終使得用戶自己不能得到很好的服務(wù)。
一個(gè)好的解決方法就是選擇基于開放標(biāo)準(zhǔn)的協(xié)議,讓雙方都能選擇自己的軟件。這就把用戶端應(yīng)用程序的選擇同服務(wù)器平臺(tái)的選擇過程分離了,用戶自由的選擇最符合自己需要、偏好甚至是平臺(tái)的軟件,系統(tǒng)管理員們也可以獨(dú)立地選擇基于他們的可靠性、規(guī)??稍O(shè)定性和可管理性需要的服務(wù)器解決方案。系統(tǒng)管理員們可以在一些相互競(jìng)爭(zhēng)的服務(wù)器產(chǎn)品中進(jìn)行選擇,而不必被囿于那些適合某些用戶端應(yīng)用程序的服務(wù)器軟件和平臺(tái)。在許多情況下,如果軟件銷售商支持多硬件平臺(tái),系統(tǒng)管理員們甚至可以獨(dú)立地選擇服務(wù)器硬件和軟件。
我們把這叫做用戶選擇和服務(wù)器選擇分離的能力。開放協(xié)議提供了一個(gè)公平競(jìng)爭(zhēng)的場(chǎng)所,并激起銷售商之間的競(jìng)爭(zhēng),這最終會(huì)使我們受益。
開放協(xié)議和文件格式是相當(dāng)穩(wěn)定的,不會(huì)經(jīng)常改動(dòng)(即使改動(dòng)也是向上兼容的),而且還有廣泛的支持,能給你最大的產(chǎn)品自主選擇性和最大的機(jī)會(huì)獲得可靠的、兼容性好的產(chǎn)品。
使用開放系統(tǒng)的另一個(gè)好處是和其它系統(tǒng)連接時(shí)不再需要額外的網(wǎng)關(guān)。網(wǎng)關(guān)是不同系統(tǒng)能連接在一起的黏合劑。雖然網(wǎng)關(guān)能節(jié)省你的時(shí)間,但使用開放協(xié)議的系統(tǒng)徹底避免了使用網(wǎng)關(guān)。網(wǎng)關(guān)作為一項(xiàng)額外的服務(wù)也需要計(jì)劃、設(shè)計(jì)、監(jiān)測(cè)以及本章所講的其它關(guān)于服務(wù)的每一樣?xùn)|西,減少服務(wù)可是一件好事。
當(dāng)下次有銷售人員向你推銷一些忽略IETF(因特網(wǎng)工程任務(wù)組)標(biāo)準(zhǔn)和其它工業(yè)標(biāo)準(zhǔn)的產(chǎn)品,如日歷管理系統(tǒng)、目錄服務(wù)等的時(shí)候,想想這些教訓(xùn)吧!雖然銷售商會(huì)承諾再賣給或者免費(fèi)送給你性能優(yōu)越的網(wǎng)關(guān)產(chǎn)品。使用標(biāo)準(zhǔn)協(xié)議就是使用IETF的標(biāo)準(zhǔn),而不是銷售商的私有標(biāo)準(zhǔn),銷售商的私有協(xié)議以后會(huì)給你帶來大麻煩的。
4. "簡(jiǎn)單"的價(jià)值
在建立一個(gè)新服務(wù)時(shí),簡(jiǎn)單是首先要考慮的因素。在能滿足所有要求的解決方案中,最簡(jiǎn)單的才是最可靠、最容易維護(hù)、最容易擴(kuò)展以及最易于和其它系統(tǒng)集成到一起的。過度復(fù)雜將導(dǎo)致混亂、錯(cuò)誤、使用困難以及明顯的運(yùn)行速度下降,而且使安裝和維護(hù)的成本增加。
當(dāng)系統(tǒng)規(guī)模增長(zhǎng)的時(shí)候,還會(huì)變得更復(fù)雜,這是生活常識(shí)。所以,開始盡可能的簡(jiǎn)單可以避免系統(tǒng)過早出現(xiàn)"太復(fù)雜"的情況。想一想,如果有兩個(gè)銷售人員都打算推銷他們的系統(tǒng),其中一個(gè)系統(tǒng)有20個(gè)功能,另外一個(gè)有40個(gè)功能,我們就可以認(rèn)為功能多的軟件可能會(huì)有更多的錯(cuò)誤,它的銷售商就更難以有時(shí)間維護(hù)他的系統(tǒng)代碼。
有時(shí),用戶或系統(tǒng)管理員們的一兩個(gè)要求就會(huì)使系統(tǒng)的復(fù)雜度增加很多。如果在設(shè)計(jì)階段遇到這樣的要求,就值得去尋找為什么會(huì)有這種要求,并估價(jià)其重要性,然后向用戶或系統(tǒng)管理員們解釋,這樣的要求能夠滿足,但要以降低可靠性、支持水平和可維護(hù)性為代價(jià)。根據(jù)這些,再讓他們重新決定是堅(jiān)持這樣的要求,還是放棄。
三、其它需要考慮的問題
建立一個(gè)服務(wù)除了要求可靠、可監(jiān)測(cè)、易維護(hù)支持,以及要符合所有的我們基本要求和用戶的要求外,還要考慮到一些特別的事情。如果可能的話,應(yīng)該讓每個(gè)服務(wù)使用專門的機(jī)器,這么作可以讓服務(wù)更容易得到支持和維護(hù),也能減少忘記一些服務(wù)器機(jī)器上的小的服務(wù)的機(jī)會(huì)。在一些大公司,使用專門的機(jī)器是一條基本原則,而在小公司,由于成本問題,一般達(dá)不到這個(gè)要求。
還有一個(gè)觀念就是在建立服務(wù)時(shí)要以讓服務(wù)完全冗余為目標(biāo)。有些重要的服務(wù)不管在多大的公司都要求完全冗余。由于公司的規(guī)模還會(huì)增長(zhǎng),所有你要以讓所有的服務(wù)都完全冗余為目標(biāo)。
1. 使用專門的機(jī)器
理想的情況,服務(wù)應(yīng)該建立在專門的機(jī)器上。大網(wǎng)站應(yīng)該有能力根據(jù)服務(wù)的要求來調(diào)整到這個(gè)結(jié)構(gòu),而小網(wǎng)站卻很難做到。每個(gè)服務(wù)都有專門的機(jī)器會(huì)使服務(wù)更可靠,當(dāng)發(fā)生可靠性問題是也容易調(diào)試,發(fā)生故障的范圍更小,以及容易升級(jí)和進(jìn)行容量計(jì)劃。
從小公司成長(zhǎng)起來的大網(wǎng)站一般有一個(gè)集中管理的機(jī)器作為所有重要服務(wù)的核心,這臺(tái)機(jī)器提供名字服務(wù)、認(rèn)證服務(wù)、打印服務(wù)、郵件服務(wù)等等。最后,由于負(fù)荷的增長(zhǎng),機(jī)器不得不分開,把服務(wù)擴(kuò)展到別的服務(wù)器上去。常常是在這之前,系統(tǒng)管理員們已經(jīng)得到了資金,可以買更多的管理用的機(jī)器,但是覺得太麻煩,因?yàn)橛羞@么多的服務(wù)依賴這機(jī)器,把它們都分開太難了。當(dāng)把服務(wù)從一臺(tái)機(jī)器上分開時(shí),IP地址的依賴最難處理了,有些服務(wù)如名字服務(wù)的IP地址都在用戶那里都已經(jīng)記得很牢固了,還有一些IP地址被安全系統(tǒng)如路由器、防火墻等使用。
把一個(gè)中心主機(jī)分解到許多不同的主機(jī)上是非常困難的,建立起來的時(shí)間越長(zhǎng),上面的服務(wù)越多,就越難分解。使用基于服務(wù)的名字會(huì)有所幫助,但是必須整個(gè)公司都使用標(biāo)準(zhǔn)化的、統(tǒng)一的、始終如一的名字。
2. 充分的冗余
充分的冗余是指有一個(gè)或一系列復(fù)制好的服務(wù)器,能在發(fā)生故障的時(shí)候接管主要的故障設(shè)備。冗余系統(tǒng)應(yīng)該可以作為備份服務(wù)器連續(xù)的運(yùn)行,當(dāng)主服務(wù)器發(fā)生故障時(shí)能自動(dòng)連上線,或者只要少量的人工干預(yù),就能接管提供服務(wù)的故障系統(tǒng)。
你選擇的這類冗余是依賴于服務(wù)的。有些服務(wù)如網(wǎng)頁服務(wù)器和計(jì)算區(qū)域,可以讓自己很好的在克隆好的機(jī)器上運(yùn)行。別的服務(wù)比如大數(shù)據(jù)庫(kù)就不行,它們要求連接更牢固的崩潰恢復(fù)系統(tǒng)。你正在使用的用來提供服務(wù)的軟件或許會(huì)告訴你,冗余是以一種有效的、被動(dòng)的、從服務(wù)器的形式存在的,只有在主服務(wù)器發(fā)生故障并發(fā)出請(qǐng)求時(shí),冗余系統(tǒng)才會(huì)響應(yīng)。不管什么情況,冗余機(jī)制必須要確保數(shù)據(jù)同步并保持?jǐn)?shù)據(jù)的完整。
如果冗余服務(wù)器連續(xù)的和主服務(wù)器同步運(yùn)行,那么冗余服務(wù)器就可以用來分擔(dān)正在正常運(yùn)行的負(fù)荷并能提高性能。如果你使用這種方法,一定要注意不要讓負(fù)荷超出性能不能接受的臨界點(diǎn),以防止某個(gè)服務(wù)器出現(xiàn)故障。在到達(dá)臨界點(diǎn)之前要為現(xiàn)存系統(tǒng)增加更多的并行服務(wù)器。
有些服務(wù)和網(wǎng)站每時(shí)每刻的功能都集成在一起,所以它們?cè)诰W(wǎng)站建立的早期就做到充分冗余了。別的仍然被忽視,直到網(wǎng)站變得很大,出現(xiàn)了一些大的、明顯的故障。
名字服務(wù)和認(rèn)證服務(wù)是典型的、首先要充分冗余的服務(wù)。這么做的部分原因是軟件就是設(shè)計(jì)得要有輔助服務(wù)器,部分原因是它確實(shí)很重要。其它重要的服務(wù)如郵件服務(wù)、打印服務(wù)和網(wǎng)絡(luò)服務(wù),在以后才能被考慮到,因?yàn)橐獮樗鼈冏魍耆哂鄷?huì)更復(fù)雜而且很昂貴。
在你做每一件事的時(shí)候,都要考慮到在哪兒作完全冗余才能讓用戶最受益,然后就從那兒開始吧。
冗余的另一個(gè)好處就是容易升級(jí)??梢赃M(jìn)行滾動(dòng)升級(jí)。每次有一臺(tái)主機(jī)被斷開、升級(jí)、測(cè)試然后重新開始服務(wù)。單一主機(jī)的故障不會(huì)停止整個(gè)服務(wù),雖然可能會(huì)影響性能。如果你真的搞雜了一個(gè)升級(jí)那就關(guān)掉電源等你冷靜下來再去修它。
四、結(jié)束語
啰啰嗦嗦說了這么多,我想大家對(duì)如何建立一個(gè)服務(wù)并使之符合用戶的需求也有了一定的了解。希望通過這些介紹,系統(tǒng)管理員可以用它來了解自己所建立的服務(wù)是否完善,用戶可以以之去衡量自己所接受到的服務(wù)是否所有應(yīng)該得到的,希望從兩個(gè)方面的要求來促進(jìn)服務(wù),使計(jì)算機(jī)網(wǎng)絡(luò)上的服務(wù)更上一層樓。