软件测试 -- 中间件介绍
一、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
评论