性能测试之中间件分析与调优

   目前招聘性能测试工程师,都要求要了解中间件,中间件也是性能测试工程师必须要掌握的一大节点,所以有必要对中间件的相关含义及架构有一定的了解,那么问题来了,中间件到底是什么?在整个系统中承担一个什么样的角色?以下是个人的总结,如有错误需更正的地方,请指出。

中间件定义

   中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务监控器和消息队列软件。
   中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。
   中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
   IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
   中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
   以上这些概念看起来有点模糊,不易理解,那我用通俗易懂的话表述:其实我们经常管中间件叫做中间件服务器,也会叫作应用服务器,中间件与应用服务器的关系属于包含关系,应用服务器属于中间件的一部分。
   中间件=中间件服务器≈应用服务器

中间件架构

中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。
图1
图1 中间件概念模型图
也许很难给中间件一个严格的定义,但中间件应具有如下一些特点:
①满足大量应用的需要;
②运行于多种硬件和OS平台;
③支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互;
④支持标准的协议;
⑤支持标准的接口。

猜你喜欢

转载自blog.csdn.net/jameswuang/article/details/81531840