中间件到底是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (51)

我最近听到很多人谈论中间件但是中间件的确切定义是什么呢?当我查看中间件时,我发现了很多信息和一些定义,但是在阅读这些信息和定义时,似乎所有的“产品”都处于某种状态。那么,所有的东西都是中间件吗?

或者,有一个不是中间件的软件示例吗?

提问于
用户回答回答于

假设你的公司生产4种不同的产品,你的客户有另外3种不同的产品来自另外3种不同的公司。

总有一天,客户会想,为什么我们不把我们所有的系统集成到一个巨大的系统中呢?十分钟后,他们的IT部门表示,这将需要两年时间。

(明智的开发人员)说,为什么我们不直接集成所有不同的系统,使它们在一个同构的环境中一起工作呢?客户经理盯着你。继续说,我们将使用中间件,我们将研究所有不同系统的输入/输出,它们使用的资源,然后选择一个适当的中间件框架。

用户回答回答于

什么是“中间件”在一种情况下不会在另一种情况下。通常,可以期望被归类为中间件的东西具有以下特性:

  • 主要(通常是专用)软件;通常不需要任何专门的硬件。
  • 如果不是在那里,依赖它的应用程序必须将其作为其应用程序的一部分,并将经历许多重复。
  • 几乎可以肯定地,两个应用程序之间连接并传递数据。

会注意到,这与操作系统的定义基本相同。因此,例如,TCP/IP堆栈或缓存可以被认为是中间件。但是你的操作系统也可以提供同样的功能。实际上,中间件可以被看作是对操作系统的一个特殊扩展,特定于依赖它的一组应用程序。它只是提供更高层次的服务。

中间件的一些示例:

  • 分布式缓存
  • 消息队列
  • 事务监控器
  • 包重写器
  • 自动备份系统

扫码关注云+社区