注:以下是一些服務器開發時常見框架的彙總,其中的排名是根據本人熟悉程度排序,不代表任何官方排名,詳細性能比較請參考所提供的博客通道。
1. 負載均衡服務器
-
硬件類
- F5 BIG-IP負載均衡器 基於簡單的Web管理界面,具有負載均衡、應用交換、會話交換、狀態監控、智能網絡地址轉換、通用持續性、響應錯誤處 理、IPv6網關、高級路由等很多功能
- Array 新一代L4-L7應用交付控制器,Web應用加速器高性能SSL VPN,全局訪問控制器
- Radware 可以做到本地的服務器負載均衡(AD)和廣域的全局服務器負載均衡(AD -Global)
- NetScaler 優化Web 應用交付的綜合解決方案
- 思科 思科幾乎每個IOS路由器都具有負載均衡功能
- 梭子魚負載均衡 0最大特點是包含了網絡安全功能
附:軟/硬件負載均衡產品 你知多少?
-
軟件類
- Nginx 一個高性能的HTTP和反向代理服務,也是一個IMAP/POP3/SMTP服務
- HAProxy 一款應對客戶端10000以上的同時連接的高性能的TCP和HTTP負載均衡器
- LVS 使用Linux內核集羣實現一個高性能、高可用的負載均衡服務器
附:三大主流軟件負載均衡器對比(LVS VS Nginx VS Haproxy)
2. 反向代理服務器
- Nginx 一個高性能的HTTP和反向代理服務,也是一個IMAP/POP3/SMTP服務
- HAProxy 一款應對客戶端10000以上的同時連接的高性能的TCP和HTTP負載均衡器
- Squid 一個高性能的代理緩存服務器,Squid支持FTP、gopher、HTTPS和HTTP協議
- Varnish 一款高性能的開源HTTP加速器
- Apache TS 一個高性能的、模塊化的HTTP代理和緩存服務器
3. 消息隊列系統(MQ)
- RabbitMQ 一款實現了高級消息隊列協議(AMQP)的開源消息代理軟件
- Apache kafka 一個開源消息系統項目,由Scala寫成。該項目的目標是爲處理實時數據提供一個統一、高通量、低等待的平臺。
- zeroMQ 一種基於消息隊列的多線程網絡庫,其對套接字類型、連接處理、幀、甚至路由的底層細節進行抽象,提供跨越多種傳輸協議的套接字
- Apache ActiveMQ Apache軟件基金會所研發的開放源代碼消息中間件,是一個純Java程序
整體上看RabbitMQ的綜合性能會更佳一些
附:MQ框架的比較
4. Web服務器
- Apache 世界排名第一的web服務器
- Tomcat 一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器
- Nginx 一個高性能的HTTP和反向代理服務器
- IIS 由微軟公司提供的基於運行Microsoft Windows的互聯網基本服務
- Zeus Web Server 在國外的技術媒體當中將這種服務器看成具有極高的穩定性、適應性並具備很高的可配置性的服務器軟件
- Lighttpd 個具有非常低的內存開銷,cpu佔用率低,效能好,以及豐富的模塊等特點的服務器
附:三大WEB服務器對比分析(Apache ,Lighttpd,Nginx)
5. 分佈式緩存系統
- Redis 一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫
- Memcached 一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載
- Tair(阿里巴巴) 淘寶的一個開源項目,它是一個分佈式的key/value結構數據的解決方案
6. 分佈式文件系統
- MooseFS(MFS) 一個高可用的故障容錯分佈式文件系統
- Ceph 一個可靠地、自動重均衡、自動恢復的分佈式存儲系統
- GlusterFS 一款自由軟件,文檔也比較齊全,不難上手
- Hadoop HDFS 一個分佈式文件系統,適用於商用硬件上高數據吞吐量對大數據集的訪問的需求
- FastDFS 一個開源的輕量級分佈式文件系統
- Lustre 一種平行分佈式文件系統,通常用於大型計算機集羣和超級電腦
- 除此以外,很多公司提供的對象存儲OSS也是很不錯的選擇
附:分佈式文件系統MFS、Ceph、GlusterFS、Lustre的對比
7. 搜索服務器
- Elasticsearch 一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口
- Solr 提供了較爲完備的搜索引擎解決方案,實現站內搜索擴展性較好並且可以減少程序員的工作量
8. SQL數據庫
- Mysql 最流行的關係型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS
- Oracle DB 目前世界上流行的關係數據庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境
- SQL Server 由Microsoft開發和推廣的關係數據庫管理系統(DBMS)
- DB2 主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境
9. NoSQL數據庫
- MongoDB 由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案
- Memcache 一套分佈式的高速緩存系統,目前被許多網站使用以提升網站的訪問速度,尤其對於一些大型的、需要頻繁訪問數據庫的網站訪問速度提升效果十分顯著
- Redis 一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。
- HBase 一個分佈式的、面向列的開源數據庫
- LevelDB 一個google實現的非常高效的kv數據庫
- Couchbase 是MemBase與couchDb這兩個NoSQL數據庫的合併的產物,是一個分佈式的面向文檔的NoSQL數據庫管理系統
附:幾款主流 NoSql 數據庫的對比&&Couchbase vs Redis,究竟哪個更勝一籌?
10. 應用服務器
- Apache
- Tomcat 一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器
- IBM
- Websphere 包含了編寫、運行和監視全天候的工業強度的隨需應變 Web 應用程序和跨平臺、跨產品解決方案所需要的整個中間件基礎設施,如服務器、服務和工具。
- Macromedia
- Wildfly(原名JBoss ApplicaTIon Server) 一個開源的基於JavaEE的輕量級應用服務器,
- NEC WebOTX ApplicaTIon Server 運行更穩定,支持最新的開放技術,提高開發效率
- JRun 它是Micromedia的一個應用服務器
- BEA
- WebLogic 一個基於JAVAEE架構的中間件,WebLogic是用於開發、集成、部署和管理大型分佈式Web應用、網絡應用和數據庫應用的Java應用服務器
- Caucho Technology
- Resin 一個非常流行的支持servlets和jsp的引擎,速度非常快
搞不清Web服務器和應用服務器區別的看這裏:淺談Web服務器和應用服務器的區別