分佈式服務器技術選型


注:以下是一些服務器開發時常見框架的彙總,其中的排名是根據本人熟悉程度排序,不代表任何官方排名,詳細性能比較請參考所提供的博客通道。

服務器架構整體框架


1. 負載均衡服務器

  • 硬件類

    • F5 BIG-IP負載均衡器 基於簡單的Web管理界面,具有負載均衡、應用交換、會話交換、狀態監控、智能網絡地址轉換、通用持續性、響應錯誤處 理、IPv6網關、高級路由等很多功能
    • Array 新一代L4-L7應用交付控制器,Web應用加速器高性能SSL VPN,全局訪問控制器
    • Radware 可以做到本地的服務器負載均衡(AD)和廣域的全局服務器負載均衡(AD -Global)
    • NetScaler 優化Web 應用交付的綜合解決方案
    • 思科 思科幾乎每個IOS路由器都具有負載均衡功能
    • 梭子魚負載均衡 0最大特點是包含了網絡安全功能
      附:軟/硬件負載均衡產品 你知多少?
  • 軟件類

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 主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境

附:常見主流SQL數據庫對比介紹

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服務器和應用服務器的區別

11. CDN網絡加速服務

附:騰訊雲、百度雲、阿里雲CDN網絡加速服務綜合對比

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章