探析計算機網路中服務的概念

摘要: 由系統管理員管理的結構化計算機環境和只有一臺或幾臺孤立計算機組成的計算機環境的主要區別是服務。針對計算機網路中的服務概念進行了闡述。
關鍵詞:計算機;網路;服務。
  由系統管理員管理的結構化計算機環境和只有一臺或幾臺孤立計算機組成的計算機環境的主要區別是服務。這種只有幾臺孤立計算機的典型環境是家庭和那些很小的非技術性的辦公室,而典型的結構化計算機環境則是由技術人員操作大量的計算機,通過共享方便的通訊、優化的資源等服務來互相聯結在一起。當一臺家用電腦通過網際網路或通過ISP 連線到因特網上, 他就是使用了ISP 或其他人提供的服務才進入網路的。
  提供一個服務絕不僅僅是簡單的把硬體和軟體累加在一起,它包括了服務的可靠性、服務的標準化、以及對服務的監控、維護、技術支援等。只有在這幾個方面都符合要求的服務才是真正的服務。
  1 服務的基本問題。
  建立一個穩定、可靠的服務是一個系統管理員的重要工作。在進行這項工作時系統管理員必須考慮許多基本要素,其中最重要的就是在設計和開發的各個階段都要考慮到使用者的需求。要和使用者進行交流, 去發現使用者對服務的要求和預期,然後把其它的要求如管理要求等列一個清單,這樣的清單隻能讓系統管理員團隊的人看到。
  服務應該建立在伺服器級的機器上而且機器應該放在合適的環境中,作為伺服器的機器應當具備適當的可靠性。服務和服務所依賴的機器應該受到監控,一旦發生故障就發出警報或產生故障記錄清單。
  作為服務一部分的機器和軟體應當依賴那些建立在相同或更高標準上的主機和軟體,一個服務的可靠性和它所依賴的服務鏈中最薄弱環節的可靠性是相當的。一個服務不應該無故的去依賴那些不是服務一部分的主機。一旦服務建好並完成了測試, 就要逐漸轉到使用者的角度來進行進一步的測試和除錯。
  1.1 使用者的要求。
  建立一個新服務應該從使用者的要求開始,使用者才是你建立服務的根本原因。如果建立的服務不合乎使用者的需要,那就是在浪費精力。
  蒐集使用者的需求應該包括下面這些內容:他們想怎樣使用這些新服務、需要哪些功能、喜歡哪些功能、這些服務對他們有多重要,以及對於這些服務他們需要什麼級別的可用性和技術支援。如果可能的話,讓使用者試用一下服務的試用版本。不要讓使用者使用那些很麻煩或是不成功的系統和專案。儘量計算出使用這個服務的使用者群有多大以及他們需要和希望獲得什麼樣的效能,這樣才能正確的計算。
  1.2 操作上的要求。
  對於系統管理員來說, 新服務的有些要求不是使用者直接可見的。比如系統管理員要考慮到新服務的管理介面、是否可以與已有的服務協同操作,以及新服務是否能與核心服務如認證服務和目錄服務等整合到一起。
  從使用者期望的可靠性水平以及系統管理員們對系統將來要求的可靠性的預期,系統管理員們就能建立一個使用者期望的功能列表,其內容包括群集、從屬裝置、備份伺服器或具有高可用性的硬體和作業系統。
  1.3 開放的體系結構。
  有時銷售商使用私有協議就是為了和別的銷售商達成明確的許可協議,但是會在一個銷售商使用的新版本和另一個銷售商使用的相容版本之間存在明顯的延遲,兩個銷售商所用的版本之間也會有中斷,而且沒有提供兩個產品之間的介面。這種情況對於那些依靠它們的介面同時使用兩種產品的人來說,簡直是一場惡夢。
  一個好的解決方法就是選擇基於開放標準的協議,讓雙方都能選擇自己的軟體。這就把使用者端應用程式的選擇同伺服器平臺的選擇過程分離了,使用者自由的選擇最符合自己需要、偏好甚至是平臺的軟體,系統管理員們也可以獨立地選擇基於他們的可靠性、規模可設定性和可管理性需要的伺服器解決方案。系統管理員們可以在一些相互競爭的伺服器產品中進行選擇,而不必被囿於那些適合某些使用者端應用程式的伺服器軟體和平臺。
  在許多情況下, 如果軟體銷售商支援多硬體平臺,系統管理員們甚至可以獨立地選擇伺服器硬體和軟體。
  我們把這叫做使用者選擇和伺服器選擇分離的能力。開放協議提供了一個公平競爭的場所,並激起銷售商之間的競爭,這最終會使我們受益。
  開放協議和檔案格式是相當穩定的, 不會經常改動(即使改動也是向上相容的),而且還有廣泛的支援,能給你最大的產品自主選擇性和最大的機會獲得可靠的、相容性好的產品
  2 其它需要考慮的問題。
  建立一個服務除了要求可靠、可監測、易維護支援,以及要符合所有的我們基本要求和使用者的要求外,還要考慮到一些特別的事情。如果可能的話,應該讓每個服務使用專門的機器,這麼作可以讓服務更容易得到支援和維護,也能減少忘記一些伺服器機器上的小的服務的機會。在一些大公司,使用專門的機器是一條基本原則, 而在小公司,由於成本問題,一般達不到這個要求。
  還有一個觀念就是在建立服務時要以讓服務完全冗餘為目標。有些重要的服務不管在多大的公司都要求完全冗餘。由於公司的規模還會增長,所有你要讓所有的服務都完全冗餘為目標。
 2.1 使用專門的機器。
  理想的情況,服務應該建立在專門的機器上。
  大網站應該有能力根據服務的要求來調整到這個結構,而小網站卻很難做到。每個服務都有專門的機器會使服務更可靠,當發生可靠性問題是也容易除錯,發生故障的範圍更小,以及容易升級和進行容量計劃。
  從小公司成長起來的大網站一般有一個集中管理的機器作為所有重要服務的核心,這臺機器提供名字服務、認證服務、列印服務、郵件服務等等。最後,由於負荷的增長,機器不得不分開,把服務擴充套件到別的伺服器上去。常常是在這之前,系統管理員們已經得到了資金,可以買更多的管理用的機器,但是覺得太麻煩,因為有這麼多的服務依賴這機器,把它們都分開太難了。當把服務從一臺機器上分開時,IP 地址的依賴最難處理了, 有些服務如名字服務的IP 地址都在使用者那裡都已經記得很牢固了,還有一些IP 地址被安全系統如路由器、防火牆等使用。
  把一箇中心主機分解到許多不同的主機上是非常困難的,建立起來的時間越長,上面的服務越多,就越難分解。使用基於服務的名字會有所幫助,但是必須整個公司都使用標準化的、統一的、始終如一的名字。
  2.2 充分的冗餘。
  充分的冗餘是指有一個或一系列複製好的伺服器, 能在發生故障的時候接管主要的故障裝置。冗餘系統應該可以作為備份伺服器連續的執行,當主伺服器發生故障時能自動連上線,或者只要少量的人工干預, 就能接管提供服務的故障系統。
  你選擇的這類冗餘是依賴於服務的。有些服務如網頁伺服器和計算區域,可以讓自己很好的在克隆好的機器上執行。別的服務比如大資料庫就不行,它們要求連線更牢固的崩潰恢復系統。你正在使用的用來提供服務的軟體或許會告訴你,冗餘是以一種有效的、被動的、從伺服器的形式存在的,只有在主伺服器發生故障併發出請求時,冗餘系統才會響應。不管什麼情況,冗餘機制必須要確保資料同步並保持資料的完整。
  如果冗餘伺服器連續的和主伺服器同步執行,那麼冗餘伺服器就可以用來分擔正在正常執行的負荷並能提高效能。如果你使用這種方法,一定要注意不要讓負荷超出效能不能接受的臨界點,以防止某個伺服器出現故障。在到達臨界點之前要為現存系統增加更多的並行伺服器。
  冗餘的另一個好處就是容易升級。可以進行滾動升級。每次有一臺主機被斷開、升級、測試然後重新開始服務。單一主機的故障不會停止整個服務,雖然可能會影響效能。如果你真的搞雜了一個升級那就關掉電源等你冷靜下來再去修它。
  參考文獻:
  [1]莫衛東。計算機網路技術及應用[M].北京:機械工業出版社,2009,4.
  [2]吳怡。計算機網路配置、管理與應用[M].北京:高等教育出版社,2009,1