導航:首頁 > IDC知識 > 伺服器技術

伺服器技術

發布時間:2020-10-07 02:58:14

1、什麼是伺服器

在香港和台灣稱為伺服器是指:

一個管理資源並為用戶提供服務的計算機軟體,通常分為文件伺服器(能使用戶在其它計算機存取文件),資料庫伺服器和應用程序伺服器。

定義
有時,這兩種定義會引起混淆,如Web伺服器。它可能是指用於網站的計算機,也可能是指像Apache這樣的軟體,運行在這樣的計算機上以管理網頁組件和回應網頁瀏覽器的請求。

伺服器硬體

伺服器作為硬體來說,通常是指那些具有較高計算能力,能夠提供給多個用戶使用的硬體。伺服器與PC機不同,PC機通常只為一個用戶服務。 伺服器與主機不同,主機是通過提供終端給用戶使用的,伺服器是通過網路提供給客戶端用戶使用的。

根據不同的計算能力,伺服器又分為工作組級伺服器,部門級伺服器和企業級 伺服器操作系統是指運行在伺服器硬體上的操作系統。伺服器操作系統需要管理和充分利用伺服器硬體的計算能力並提供給伺服器硬體上的軟體使用。

常見的伺服器作業系統有FreeBSD, SCO OPENSERVER ,OpenBSD, NetBSD, SUN Solaris, Linux, Windows NT/2000,Mac OS X Server等。

其中以Linux,Windows NT/2000/Server 2003,SOLARIS最為常見,Mac OS X Server是新興力量。其中FreeBSD, OpenBSD, NetBSD, SUN solaris, Linux, Mac OS X Server等是UNIX操作系統的衍生版本。

伺服器軟體

伺服器軟體的定義如前面所述,伺服器軟體工作在客戶端-伺服器或瀏覽器-伺服器的方式,

有很多形式的伺服器,常用的包括:

文件伺服器 - 如Novell的NetWare
資料庫伺服器 - 如Oracle資料庫伺服器, MySQL, PostgreSQL, Microsoft SQL Server等
郵件伺服器 - Sendmail, Postfix, Qmail, Microsoft Exchange,Lotus Domino等
Web伺服器 - 如Apache, thttpd, 微軟的IIS等
FTP伺服器 - Pureftpd, Proftpd, WU-ftpd, Serv-U等
應用伺服器 - 如Bea公司的WebLogic,JBoss

2、基本伺服器技術包括什麼

1.CPU和內存。CPU的類型、主頻和數量在相當程度上決定著伺服器的性能;伺服器應採用專用的ECC校驗內存,並且應當與相應的CPU搭配使用。

2.晶元組與主板。即使採用相同的晶元組,不同的主板設計也會對伺服器性能產生重要影響。

3.網卡。伺服器應當連接在傳輸速率最快的埠上,並最少配置一塊千兆網卡。對於某些有特殊應用的伺服器(如FTP、文件伺服器或視頻點播伺服器),還應當配置兩塊千兆網卡。

4.硬碟和RAID卡。硬碟的讀取/寫入速率決定著伺服器的處理速度和響應速率。除了在入門級伺服器上可採用IDE硬碟外,通常都應採用傳輸速率更高、擴展性更好的SCSI硬碟。

除此之外,在選擇伺服器時通常還需要考慮可管理性、可用性、可擴展性、安全性以及可靠性等幾方面的性能指標。

3、伺服器中的冗餘技術包括哪些

伺服器中常用的冗餘技術有:數據冗餘、網卡冗餘、電源冗餘、風扇冗餘、伺服器冗餘。
數據冗餘---是指系統中的任何單一部件損壞都不會造成硬碟中的數據丟失;
網卡冗餘---是指系統中的任何一網卡損壞都不會造成網路服務中斷;
風扇冗餘---是指系統中的任何一風扇損壞都不會造成系統溫度過高而死機;
電源冗餘---是指系統中的任何一電源損壞或者故障都不會造成伺服器停機;
伺服器冗餘---是指雙機系統(雙機熱備或集群)中的任何一台伺服器故障都不會造成系統崩潰和伺服器停機;

4、C/C++做伺服器需要學習什麼樣的技術

伺服器所用到的知識:

TCP/UDP,最基本的

並發——你可以選擇使用select、poll,或者是多線程、多進程

如果你使用多線程,那麼就必須使用同步技術——信號量、互斥體、條件變數的一種或幾種,並且對於多線程技術,你還需要考慮使用進行線程分離與合並,

如果你使用了多進程,那麼同步技術就不是你需要考慮的了,你需要考慮的是進程相關的問題了,你是使用fork還是vfork,你該如何處理客戶端的請求,如何處理客戶端斷開連接後保證能夠處理完數據並且沒有僵屍進程產生,你還需要考慮高並發的問題

你發送接受數據的時候,採用何種方式,是阻塞的還是非阻塞的,還有連接超時、重傳等問題

你是選擇TCP還是UDP,如果選擇UDP你可得忙了,需要你自己去進行重傳驗證,模擬TCP的三次握手,保證數據不會丟失,保證數據的有序性

還有其他很多需要你考慮的,以上都是指在Linux下的C++,本人對windows C++不了解

推薦書目:UNIX高級環境編程,UNIX網路編程,卷一。C++只不過是你使用這些技術的方式,不管你使用C還是C++,你都可以使用從這兩本書中學習到很多有用的知識,但是不能保證你就可以寫出高質量的伺服器程序。

5、什麼是伺服器虛擬化技術?有什麼用?

伺服器虛擬化是使用虛擬化軟體在一個硬體伺服器上虛擬出多個虛擬硬體伺服器。每個虛擬機伺服器都有自己的操作系統,提供自己的服務,並且互相直接沒有關聯互不影響,使用上就好像是一個個單獨的伺服器。
虛擬化技術最大的好處是提高伺服器的利用率,一個伺服器可能正常使用上系統負載不到10%,但為了安全或者應用系統限制,不能在一個伺服器上提供多種服務(因為這樣會死的很慘!,比如同時提供DNS服務和ERP服務,一旦DNS被攻擊,你的ERP也一起完蛋。)這樣的話,其實上你有90%的投資是浪費的。
但如果我將伺服器虛擬化了,虛擬出了5個伺服器,一個DNS,一個ERP一個OA一個郵件一個域控,他們之間實際上是隔離的,誰壞了也干擾不到其他服務,等於我用一個伺服器的硬體投資實現了五個伺服器的效果。這個實體伺服器可能硬體利用率就達到了80%以上。

6、伺服器都有哪些主要的技術指標?

你說的那個指標是訪問許可有每伺服器和每客戶機兩種許可是要購買的 一般來說如果網路中只有一台伺服器把許可證放在伺服器端 有一台以上的伺服器把許可證放在伺服器端我們可以從這幾個方面來衡量伺服器是否達到了其設計目的;R:Reliability——可靠性;A:Availability——可用性;S:Scalability——可擴展性;U:Usability——易用性; M:Manageability——可管理性,即伺服器的RASUM衡量標准。

與伺服器技術相關的知識