如下图为中间件的逻辑架构:



  • 中间件居于物理节点(physical node)和逻辑节点(logical node)之间的层次;

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。

  • 中间件可以进一步级联;如下图为以中间件的形式,对请求的代理pipeline:



1. 中间件是对输入输出的研究

What is middleware exactly?

假设如下的场景,你所在的公司生产了 4 件产品,公司的某客户,手头已有 3 件产品分别来自 3 家不同的公司。此时如果客户想将所有这些产品集成为一个大系统。最快的方式是什么?

答案便是使用中间件技术。这里中间件的要义在于,研究各个系统的输入和输出,以及它们需要利用的资源,然后选择一个恰当的中间件框架。如下图所示,中间件置于整个大系统的中间位置,比如首个系统如果输出 X,系统 Y 和系统 Z 则可消耗 X,继续运行。


这里写图片描述

2. 中间件的分类

  • 远程过程调用和对象访问中间件;
    • 分布式环境下应用的互相访问问题;也是应用服务化的基础(以服务的形式提供应用)
  • 消息中间件;
    • 应用间的消息传递,解耦,异步的问题;
  • 数据访问中间件;
    • 应用访问数据库的共性问题;
posted on 2017-05-08 16:13  未雨愁眸  阅读(324)  评论(0编辑  收藏  举报