1. 程式人生 > >高負載高併發伺服器開發參考

高負載高併發伺服器開發參考

1、軟體框架
高效能的軟體框架,一般都基於event-driven、非同步模式,同時提供諸如執行緒池、epoll(*unx)IOCP(I/O Completion Port,windows)等技術來提高併發處理效能,python、C++、Java中有一個典型的框架性專案提供了對高效能網路通訊框架的支援,常用的一些高效能的軟體框架如下:
Python相關:
twisted:http://twistedmatrix.com
Twisted, an event-driven networking framework written in Python and licensed under the LGPL. Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols (including HTTP, NNTP, SSH, IRC, FTP, and others), and much more.
Twisted是我學習和使用python的動力之一,用於高效能網路程式設計還是很方便。好好研究一番。
C++相關:
ACE:
http://www.cs.wustl.edu/~schmidt/ACE.html

ICE:http://www.zeroc.com/ice.html
ACE去年做p2p“邊下邊看”軟體時候用過一陣,框架是很優美,功能也比較全面,但是程式碼極其凌亂,用起來出問題後解決很麻煩。
Java相關:
MINA:http://mina.apache.org/
Grizzly:https://grizzly.dev.java.net/
QuickServer: http://www.quickserver.org/
2、相關站點
http://highscalability.com
http://www.royans.net
http://developer.yahoo.com/performance/rules.html
yahoo關於website效能的站點(Firebug 及yslow的相關資料)
http://www.productionscale.com/
http://www.performanceengineer.com
http://www.webperformancematters.com/
http://www.javaperformancetuning.com/
http://www.allthingsdistributed.com/ amazon CTO的blog
3、相關文章
http://www.kegel.com/c10k.html
http://pl.atyp.us/content/tech/servers.html
http://poorbuthappy.com/ease/archives/2007/04/29/3616/the-top-10-presentation-on-scaling-websites-twitter-flickr-bloglines-vox-and-more

http://www.royans.net/arch/library/
http://freescienceonline.blogspot.com/2007/08/scalability-and-scalable-architecture.html
http://www.webperformance.org/caching/caching_for_performance.html