一、Tomcat
1、Tomcat概念
Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型零碎和并发量小的场合下被广泛应用,是开发和调试Servlet、JSP 程序的首选。
2、原理
Tomcat次要组件:服务器Server,服务Service,连接器Connector、容器Container。连接器Connector和容器Container是Tomcat的外围。
一个Container容器和一个或多个Connector组合在一起,加上其余一些反对的组件独特组成一个Service服务,有了Service服务便能够对外提供能力了,然而Service服务的生存须要一个环境,这个环境便是Server,Server组件为Service服务的失常应用提供了生存环境,Server组件能够同时治理一个或多个Service服务。
二、nginx
1、nginx简介
nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协定下发行。
nginx的特点是占有内存少,并发能力强,事实上nginx的并发能力的确在同类型的网页服务器中体现较好,中国大陆应用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2、nginx的个性与长处
1)nginx的个性
- Nginx应用基于事件驱动架构,使得其能够反对数以百万级别的TCP连贯
- 高度的模块化和自由软件许可证是的第三方模块层出不穷(这是个开源的时代啊~)
- Nginx是一个跨平台服务器,能够运行在Linux,Windows,FreeBSD,Solaris, AIX,Mac OS等操作系统上
- 这些优良的设计带来的极大的稳定性
2) nginx的长处
- 高并发连贯:官网测试可能撑持5万并发连贯,在理论生产环境中跑到2-3万并发连接数
- 内存耗费少:在3万并发连贯下,开启的10个nginx过程才耗费150M内存(15M*10=150M)
- 配置文件非常简单:格调跟程序一样通俗易懂
- 老本低廉:nginx为开源软件,能够收费应用。而购买F5 BIG-IP、NetScaler等硬件负载平衡交换机则须要十多万至几十万人民币
- 反对Rewrite重写规定:可能依据域名、URL的不同,将HTTP申请分到不同的后端服务器群组
- 内置的健康检查性能:如果Nginx Proxy后端的某台Web服务器宕机了,不会影响前端拜访
- 节俭带宽:反对GZIP压缩,能够增加浏览器本地缓存的Header头
- 稳定性高:用于反向代理,宕机的概率微不足道
- 模块化设计:模块能够动静编译
- 外围反对好:文档全,二次开发和模块较多
- 反对热部署:能够不停机重载配置文件
- 反对事件驱动、AIO(AsyncIO,异步IO)、mmap(Memory Map,内存映射)等性能优化
3、nginx反向代理
多个客户端给服务器发送的申请,Nginx服务器接管到之后,依照肯定的规定分发给了后端的业务解决服务器进行解决了。此时~申请的起源也就是客户端是明确的,然而申请具体由哪台服务器解决的并不明确了,Nginx表演的就是一个反向代理角色。
客户端是无感知代理的存在的,反向代理对外都是通明的,访问者并不知道本人拜访的是一个代理。因为客户端不须要任何配置就能够拜访。
反向代理,“它代理的是服务端”,次要用于服务器集群分布式部署的状况下,反向代理暗藏了服务器的信息。
三、Apache
1、Apache简介
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界应用排名第一的Web服务器软件。它能够运行在简直所有宽泛应用的计算机平台上,因为其跨平台和安全性被宽泛应用,是最风行的Web服务器端软件之一。它疾速、牢靠并且可通过简略的API裁减,将Perl/Python等解释器编译到服务器中。
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,通过屡次批改,成为世界应用排名第一的Web服务器软件。Apache取自“a patchy server”的读音,意思是充斥补丁的服务器,因为它是自由软件,所以一直有人来为它开发新的性能、新的个性、批改原来的缺点。Apache的特点是简略、速度快、性能稳固,并可做代理服务器来应用。
原本它只用于小型或试验Internet网络,起初逐渐裁减到各种Unix零碎中,尤其对Linux的反对相当完满。Apache有多种产品,能够反对SSL技术,反对多个虚拟主机。Apache是以过程为根底的构造,过程要比线程耗费更多的零碎开销,不太适宜于多处理器环境,因而,在一个Apache Web站点扩容时,通常是减少服务器或裁减群集节点而不是减少处理器。
四、Lighttpd
最风行的Apache服务器替代者,Lighttpd是一个单线程的针对大量继续连贯做出专门优化的Web服务器(这正是少数高流量网站和应用程序须要的)。泛滥的风行Web站点抉择Lighttpd,包含Youtube、SourceForge和维基百科。Lighttpd反对FastCGI、HTTP服务器端压缩、mod-rewrite和其余泛滥有用的性能。只管Lighttpd领有Apache的绝大多数性能,但它依然放弃轻量级(仅1MB)并且能够与Apache应用雷同的配置。
五、kangle
kangleweb服务器(简称:kangle)是一款跨平台、功能强大、平安稳固、易操作的高性能web服务器和反向代理服务器软件。除此:kangle也是一款专为做虚拟主机研发的web服务器。实现虚拟主机独立过程、独立身份运行。用户之间平安隔离,一个用户出问题不影响其余用户。平安反对php、asp、asp·net、java、ruby等多种动静开发语言。
六、Boa
很多的网站管理员对在硬件配置较低的服务器上应用轻量级的Boa作为Web服务器极其信赖。Boa是一个单线程的HTTP服务器,这意味着Boa只能顺次实现用户的申请而不会fork新的过程来解决并发申请。Boa的设计目标是速度和平安,对于运行于单服务器的风行Web站点而言,Boa是一个好的抉择。
七、Jigsaw
Jigsaw是W3C推出的开源的Web服务器平台,应用Java语言编写,能够装置在有Java运行环境的零碎上。做为W3C(World Wide Web Consortium)开发的服务器产品,其作用次要是对新技术的实现做一个例示,而非一个全功能的商业服务器产品。不过就Jigsaw 2.0版本而言,它的性能还是超过了Web服务器的平均水平。最重要的是,它体现了将来HTTP协定和基于对象的Web服务器技术的倒退。如果你心愿你的平台反对所有下一代技术,Jigsaw是一个好的抉择。
接口测试和接口文档生成工具:apipost