随着软件应用越来越广泛,软件市场需求千变万化,为了满足市场的各种需求,软件不断推出新的解决方案,“中间件”这个概念便应运而生了,进入20世纪90年代后,随着互联网快速发展和普及,异构网络系统之间如何安全通信、协同操作等问题便显现出来,中间件提供了一个行之有效的解决方案。
中间件的简介
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。
执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。
我们平常说的中间件大多是指web中间件:web中间件用于提供系统软件和应用软件之间的连接,以便于软件各部件之间的沟通,其可以为一种或多种应用程序提供容器。
中间件的作用
中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。
同时中间件在负载均衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求。所以将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术的思想最终构成了中间件这类软件。
中间件、容器、服务器
Web服务器
web服务器用于提供http服务,即向客户端返回信息,其可以处理HTTP协议,响应针对静态页面或图片的请求,控制页面跳转,或者把动态请求委托其它程序(中间件程序)等。
Web中间件
web中间件用于提供系统软件和应用软件之间的连接,以便于软件各部件之间的沟通,其可以为一种或多种应用程序提供容器。
web容器
web容器用于给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,是中间件的一个组成部分,它实现了对动态语言的解析。
web中间件与web服务器是有重叠的,原因在于tomcat等web中间件也具备web服务器的功能。
常见中间件介绍
Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。
IIS(Internet Information Server,互联网信息服务)是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
Apache
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器, Apache是世界使用排名第一的Web服务器软件。由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它可以运行在几乎所有广泛使用的计算机平台上。
Tomcat
Tomcat 由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,是目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。
支持静态页,但效率没有Apache高;支持Servlet、JSP请求;
Apache与Tomcat
JBoss
参见:https://www.cnblogs.com/Tzsblog/p/14156770.html
weblogic
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,它是用纯java开发。WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
目前weblogic在世界application server市场上占有最大的份额,其他还有象IBM的websphere,免费的tomcat、Tomcat等中间件。
nginx
Nginx 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。它以稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强。
proxy
正向代理类似一个跳板机,代理访问外部资源。
反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
通过反向代理服务器来优化网站的负载。