对新手的初级入门,什么是中间件。
为什么写?
1.很多人听过中间件,但是没见过中间件,或者根本不知道中间件是什么,傻X百科上面的定义实在是模糊,所以就有了写这片博客的冲动。
定义:中间件,顾名思义存在于两个系统之间的,起到连接的设备。
(1)为什么是设备? 硬件和软件在一定程度上可以互用,中间件既可以是硬件,也可以是软件,所以我说是设备,而不定义为,硬件或者软件的一种。
(2)起到连接作用怎么理解?中间件可以在两个软件之间起到连接(iis服务)。可以在客户机/服务系统之间起到功能(例如web代理服务器)。
2.中间件的作用:
(1)一个定义:在操作系统中所有的软件,硬件,固件都可以看作文件。文件有时会具有不同的格式,表现在应用上显示为拥有不同的api接口。
①中间件的第一个功能:平衡api接口,使不同的应用通过中间件能够互联。
(2)统一化接口后,中间件就表现为能够在不同的接口无限制的传输数据。
①中间件第二个功能:负载均衡。软件可能直接相连,也可能通过网络相连,在数据量大的时候就会产生拥塞,但是通过中间件,好像拥塞消失了。
(3)搭建iis服务的时候我们可以看到,创建网站的时候,直接点击就能创建一个网站。Iis服务已经为我们做好了一切的统筹工作,而我们只需要操作就好了。
①中间件的第三个功能,提供容器。为一种或者多种应用程序提供服务功能。
3.中间件的特性:
(1)易用性。
①一般中间件为软件易于控制,易于复制,在计算机上点击,或者在命令行加载就能够使用
(2)位置透明性
①中间件起到的是协调的作用,故在使用的时候我们仿佛看不到中间件的存在。
(3)消息传输完整性
①起到容器,作用和负载均衡作用的时候,要确保的就是消息传输的完整性,如果一个消息通过你的中间件,本质改变了。那么就没有意义了。
1)小提示:数据和信息。数据是承载信息的,信息是数据的抽象,世间万物都可以变成数据,破坏数据的结构就会毁坏信息。
4.中间件,容器,服务器:
(1)客户端--------网络---------服务器---------中间件-------数据库
(2)客户端在访问的时候,如果访问静态网页就直接和服务器操作,{例如get(获取数据),post,head,opting,put,delete,trace,connect。服务器返回信息,1**(收到,继续执行),2**(成功,操作成功处理),3**(重定向,页面不在这里)4**(客户端错误),5**(服务器错误),}客户端直接和服务器作用,而不经过中间件和数据库作用。
(3)客户端访问动态网页,例如php之类的网页,客户端和服务器作用完,服务器和数据库作用,中间就用到中间件。
(4)中间件,包含容器(例子windowns上面的iis服务)
(5)有的时候,中间件和服务器是架构在一起的(透明性)。