Web服务(02)——Web服务器中间件

Web服务(02)——Web服务器中间件

前言

Web应用程序是一种可以通过Web访问的一个应用程序,它的好处是用户很容易访问到应用程序,只需要通过浏览器就能访问,不需要安装其他任何软件。这里就需要提到两种架构模式——C/S和B/S模式, C/S模式的程序都是独立运行的,而B/S模式是浏览器和服务器端的应用程序,这类程序一般都是需要借助如IE浏览器来运行的,web应用程序一般都是B/S模式,web应用程序首先是一个程序,和标准的一些程序语言,如C++编写出来的程序没有本质上的不同。而web应用程序可以说是B/S模式的产物。一个web应用程序是由特定的任务和各种web组件构成,并通过web将服务展示给外界的。

而之前提到过,web服务器只是提供一个静态页面的解析,而web应用程序中间件可以解析动态的语言,如:Tomcat等。

一、JAVA中间件

1、Tomcat

Tomcat是Apache软件基金会(Apache Software Foundation)的akarta项目中的一个核心项目,由Apache、Sun和其他些公司及个人共同开发而成.因为Tomcat技术先进、性能稳定,而目免费,因而深受java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的java Web应用服务器(Servlet容器).实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的.Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和井发访问用户不是很多的场合下被普遍使用,是开发和调试SP程序的首选.Tomcat默认使用8080号端口。

2.Weblogic

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的java应用服务器。将java的动态功能和java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中,Neblogic默认端口是7001。

3.Jboss

Jboss是一个基于刊Java EE的开放源代码的应用服务器。它不但是Servlet容器,而且也是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。JBoss是一个管理EJB的容器和服务器.。但Boss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。jboss默认端口号是8080。

4.Webshaere

WebShere是IBM的软件平台.它包含了编写、运行和监视全天候的工业强度的随需应变Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere提供了可靠.灵活和健壮的软件。WebSphere是一个模块化的平台,基于业界支持的开放标准。可以通过受信任和特久的接口,将现有资产插入WebSphere,可以继续扩展环境,WebSphere可以在许多平台上运行,包括Intel、Unux和z/OS.Vebsherel默认端口号是9080。

二、Python中间件

1、wsgi

一种实现python解析的通用接口标准/协议,跟wsgi一样概念的有Ruby语言的Rack,可以认为wsgi是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性,有了这个东西,web.py或者bottle或者django等等的python web开发框架,就可以轻松地部署在不同的webserver上了,不需要做任何特殊配置(也需要一些小小的配置调整)。

2、uwsgi

uwsgi同WSGI一样是一种通信协议,是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西。

3.uWSGI

一种python web serverg或称为Server/Gateway,wsgi类似tornadoweb或者flup,是一种pythonweb server,uWSGI是实现了uwsgi和WSGI两种协议的Web服务器,负责响应python的web请求。因为apache也好,nginx也罢,它们自己都没有解析动态语言如php的功能,而是分派给其他模块来做,比如apache就可以说内置了php模块,支持的非常爽,让人感觉好像apache就支持php一样,uwsgi实现了WSGl协议、uwsgi、http等协议,Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。类似的有:flup。

三、Php中间件

1、php-fpm

Php-fpm全称是php fastcgi process manager即ohp fastcg进程管理器,相比fastcgi静态的唤起cgi,fpm能根据访问的压力动态的唤起cg进程和销毁以到达动态的调整cgi数量,这样可以有效的使用内存。除此之外还有其它的一些优点,比如,fpm还可以平滑的重载php配置:由于fpm是使用UnixSocket来和服务器通讯,所以也不用再配置cgi端口;fpm有更好的状态输出和slowlog日志,502的时候能给出更多的错误细节。

2、CGI

CGI是一个通用的web标准,可以粗陋的认为CGI就是一种用任意语言写Web程序的标准。

3、FastCGI

FASTCG是Web服务器(exnginx)和语言解释器(eX:uWsg)两者底层的通信协议的规范,是对CGl的开放的扩展。

4、Php-FastCGI

Web Server启动时载入FastCGlI进程管理器(IIS ISAP\或Apache Module);FastCG进程管理器自身初始化,启动多个CG解释器进程(在任务管理器中可见多个php-Cgi.exe)并等待来自Web Server的连接;当客户端请求到达Web Server时,FastCGli进程管理器选择并连接到一个CGI解释器。Web server将CGl环境变量和标准输入发送到FastCGI子进程php-cgi.exe,FastCGH子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGH子进程关闭连接时,请求便告处理完成。FastCGl子进程接着等待并处理来自FastCGli进程管理器(运行在WebServer中)的下一个连接.在正常的CG模式中,php-cgi.exe在此便退出了。

四、其他中间件

1、事务处理中间件——Hadoop

Hadoop 实现了分布式计算中的基础算法(如一致算法、选举算法、故障检测、快照等),同时为用户提供了编程和命令接口。

image-20220720152415824

2、消息中间件——QPID

Qpid 是 Apache 开发的一款面向对象的消息中间件,Qpid 提供了很多额外的 HA 特性,非常适于集群环境下的消息通信。

3、面向对象中间件——ICE

ICE 作为一种新型的面向对象中间件,目前并未得到广泛地应用。然而它在架构上为应用开发提供的种种好处,如面向对象的语义、支持同步和异步的消息传递、支持多个接口、机器、语言、操作系统无关性、线程支持、位置和服务器的透明性、高度的安全性、内建的恒久机制以及开放的源码等等,它有着非常强大的技术优势。在构建三层分布式系统方面, ICE 中间件技术有着良好的发展前景。

明性、高度的安全性、内建的恒久机制以及开放的源码等等,它有着非常强大的技术优势。在构建三层分布式系统方面, ICE 中间件技术有着良好的发展前景。


END

猜你喜欢

转载自blog.csdn.net/tu464932199/article/details/125900277