萬盛學電腦網

 萬盛學電腦網 >> 網絡基礎知識 >> 陶輝的專欄

陶輝的專欄

最近在部門內做了個高性能網絡編程的培訓,近日整理了下PPT,欲寫成一系列文章從應用角度談談它。 copyright dedecms

編寫服務器時,許多程序員習慣於使用高層次的組件、中間件(例如OO(面向對象)層層封裝過的開源組件),相比於服務器的運行效率而言,他們更關注程序開發的效率,追求更快的完成項目功能點、希望應用代碼完全不關心通訊細節。他們更喜歡在OO世界裡,去實現某個接口、實現這個組件預定義的各種模式、設置組件參數來達到目的。學習復雜的通訊框架、底層細節,在習慣於使用OO語言的程序員眼裡是絕對事倍功半的。以上做法無可厚非,但有一定的局限性,本文講述的網絡編程頭前冠以“高性能”,它是指程序員設計編寫的服務器需要處理很大的吞吐量,這與簡單網絡應用就有了質的不同。因為:1、高吞吐量下,容易觸發到一些設計上的邊界條件;2、偶然性的小概率事件,會在高吞吐量下變成必然性事件。3、IO是慢速的,高吞吐量通常意味著高並發,如同一時刻存在數以萬計、十萬計、百萬計的TCP活動連接。所以,做高性能網絡編程不能僅僅滿足於學會開源組件、中間件是如何幫我實現期望功能的,對於企業級產品來說,需要了解更多的知識。 織夢內容管理系統


織夢內容管理系統

掌握高性能網絡編程,涉及到對網絡、操作系統協議棧、進程與線程、常見的網絡組件等知識點,需要有豐富的項目開發經驗,能夠權衡服務器運行效率與項目開發效率。以下圖來談談我個人對高性能網絡編程的理解。

織夢好,好織夢

copyright © 萬盛學電腦網 all rights reserved