1、配置一台高性能伺服器電腦主機,這樣的配置有什麼問題么,請大家指教!
我不知道你的伺服器是用於什麼作用,如果是用於存儲網路文件、資料庫存儲、WEB伺服器、郵箱伺服器之類,那建議你使用品牌伺服器最好,即使組裝伺服器,一般伺服器專用主板是集顯的,無需額外增加高性能顯卡,這樣會拉慢伺服器應有的性能(伺服器可不像PC機),作為硬碟,最好選用SAS硬碟,這種介面在伺服器上還是佔主流,它的性能快,並一樣可以做陳列,也可支持大容量硬碟。
2、構建高性能WEB站點怎麼樣
首先,建議題主對這個網站的流量成長進行預測,如果是一個startup公司,一開始很難有這個么高的並發需求的。你們真正要做的是規劃一條技術演進路徑,以便業務量上來的時候能平滑演進到100萬並發的能力。注意我說的是演進,不是擴展。「演進」意味著這個約束很寬泛,只要你現在的設計不阻礙系統向更高的能力進化就可以了,甚至只要你的數據能遷移到今後更強大的系統就可以了。「擴展」意味著一開始要把很多東西想清楚,我相信訪問量從1到100萬這個過程中,系統本身的發展還有團隊對系統的理解也會有100萬倍的變化,所以那個時候的需求和技術約束是很難想出來的,因此架構也想不出來,硬要去落實的話,很可能會浪費投資。
現在我們假設100萬的需求確實來了。
現在有大規模並發需求的IT系統可以分為兩類,一類是淘寶這樣的網站,雖然並發大,但是模式簡單,交互拓撲是無數客戶端圍繞伺服器雲組成的星形模式,交互總是由客戶端發起,因為http,本質上沒有會話的概念;一類是QQ,微信這樣的及時通信系統,交互拓撲是無數客戶端互相聯系形成的網狀模式(伺服器雲是中間人),有強烈會話的概念,會話的生存期有可能會很長,中間有反復的交互。不知道你的系統更像哪一類?滴滴打車應該是屬於第二類的。
如果是第一類,有許多現成的模子可以套
首先,處理簡單的靜態內容,引入反向代理,動靜分離,把靜態內容放到專門的伺服器上,進一步可以把靜態內容部署到CDN;
其次,真正困難的是動態部分。
步驟一,讀寫分離,利用mysql的主從復制功能,把數據分發到如果伺服器,主伺服器只管寫請求,讀請求offload到從伺服器;
步驟二,單台主伺服器扛不住了,水平分表,垂直分庫,把寫操作按照不同的table,offload到不同的主伺服器,現在復雜度蔓延到程序內部了。
步驟三,生意實在太好了,分庫分表也搞不定,上伺服器集群
這個過程中,你還有別的不需要增加軟體復雜度的輔助手段,比如用SSD來放資料庫,加大緩存,但是不知道阿里雲是否支持;還有其他軟體手段,比如用NoSQL來處理日誌之類特殊的數據。
如果是第二類,也有現成的模子可套。如果不想自己擼,可以先找個openfire之類的XMPP套件用起來,等不行了再擴展。
這類系統的挑戰是有大量在內存中存活的會話,舉個例子把,如果你用TCP來做傳輸,每一個會話在操作系統的協議棧裡面都需要有相應的TCB,如果用UDP,那麼為了處理NAT,你需要在應用層自己維護映射表。除了了傳輸,你在應用層還會維護大量的狀態機,這也是一個耗內存和耗CPU的活計。
好在你不是第一個,網上搜索一下MSN,QQ,微信,他們的需求和你類似,一般這么解決scalability問題。
通常是垂直分解,把系統分解為若干認證伺服器,會話伺服器,和補充服務伺服器。比如你上QQ,要先認證,那就有隻負責認證的伺服器招呼你,認證完了,根據當前負載,在會話伺服器farm里挑一台不太忙,離你近的伺服器負責你的文字聊天,如果你還想語音或者視頻,那麼你在發起語音視頻的時候又按照前述原則給你分配相應的補充服務伺服器。你可以想像,認證伺服器是醫院的掛號處,會話和特殊伺服器就是各個科室。當然認證伺服器自己也是可以通過DNS進行擴展的。
這種系統如果遇到資料庫瓶頸,也可以參照前面第一類系統解決。
3、如何理解openresty標榜的非同步非阻塞高性能web伺服器
OpenResty (也稱為 ngx_openresty)是一個全功能的 Web 應用伺服器,它打包了標準的 Nginx 核心,很多的常用的第三專方模塊,以及屬它們的大多數依賴項。
OpenResty 通過匯聚各種設計精良的 Nginx 模塊,從而將 Nginx 有效的變成一個強大的 Web 應用伺服器,這樣, Web 開發人員可以使用 Lua 腳本語言調動 Nginx 支持的各種C以及Lua 模塊,快速構造出足以勝任 10K+ 並發連接響應的超高性能Web 應用系統.
OpenResty 的目標是讓你的Web服務直接跑在 Nginx 服務內部,充分利用 Nginx 的非阻塞 I/O 模型,不僅僅對 HTTP 客戶端請求,甚至於對遠程後端諸如MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都進行一致的高性能響應.
4、取代apache的高性能web伺服器怎麼樣
Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。
由俄羅斯的程序設計師Igor Sysoev所開發,最初供俄國大型的入口網站及搜尋引擎Rambler(俄文:Рамблер)使用。 其特點是佔有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁伺服器中表現較好.目前中國大陸使用nginx網站用戶有:新浪、網易、 騰訊,另外知名的微網志Plurk也使用nginx。
5、repairkangle什麼意思?
repair kangle
修復康樂
基本定義kangle web伺服器(簡稱:kangle)是一款跨平台、功能強大、安全穩定、易操作的高性能web伺服器和反向代理伺服器軟體。除此:kangle也是一款專為做虛擬主機研發的web伺服器。實現虛擬主機獨立進程、獨立身份運行。用戶之間安全隔離,一個用戶出問題不影響其他用戶。安全支持php、asp、net、java、ruby等多種動態開發語言。開發背景kangle web伺服器的開發團隊,一直致力於伺服器和虛擬主機的研發和使用。深知市面上已存在的web 伺服器對於一般的用戶來說,安裝起來很困難,甚至無法獨立完成安裝和使用。為了廣大用戶擁有一款跨平台、易操作、功能強大的國產web伺服器
6、高性能web站點需要考慮哪些因素
高性能web站點,首先你要有好的伺服器,再者就是一個好的程序。代碼上精良,圖片少一點。
能緩存的就緩存。
7、怎樣具備大規模高並發訪問的Web應用架構設計和開發經驗
理論上經驗這個東西是學不來的.
說一下我的例子.
剛入行的時候,基本就是寫了一些增刪改查.甚至session都不太理解.
隨著入行後,你會遇到各種各樣的問題.在解決問題的過程中,經驗來了.
簡單說一下所謂大規模高並發訪問的web架構吧.
其實,對於大規模高並發不外乎兩點,第一點是及時相應(盡可能優化io).第二點是數據安全.
這兩點控制的好,就沒問題的.所以,我們的架構也就圍繞在這兩點應運而生.
第一點,為了盡可能提高應用的io吞吐量.則需要我們把所有耗時的io操作盡可能的優化,比如全局使用很少更改的一些配置,則可以採用nosql來全局共享(注意,這里的全局是指伺服器集群.如果涉及到了大規模,肯定是多伺服器的).在其次可以增加伺服器緩存.比如2秒鍾從上一條的伺服器讀取配置,存到伺服器級別.以提高效率.還有線程緩存.如果業務復雜可能對一個請求需要查詢多次數據,不變的,老規矩,放到線程緩存.基本也就差不多了.
第二點,因為應用不同,要考慮容錯率.這個部分優化,可以考慮分離業務,把必須要數據安全的業務邏輯提取出來,隊列執行或者特殊處理.
剩下的就是伺服器部署與如何分配,比如多少台web伺服器,資料庫配置,內存伺服器配置等.
這只能是在實際項目和工作過程中來區別對待了.