转载自
https://www.cnblogs.com/dask/p/10428467.html
作者整理的好全面,而且有相关连接,转载下
注:以下是一些服务器开发时常见框架的汇总,其中的排名是根据本人熟悉程度排序,不代表任何官方排名,详细性能比较请参考所提供的博客通道。
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服务器和应用服务器的区别