中间件的分类和作用

中间件介绍 中间件屏蔽了底层分布式环境的复杂性和异构性,为上层的应用软件提供了一致的运行环境,使得开发者可以更加专注于业务逻辑的实现,而无需过多地关注底层技术细节。:提供基于Web的服务接口,支持SOAP、REST等协议,实现跨系统的互操作。中间件在现代软件开发和运维中扮演着至关重要的角色,它极大地简化了系统的构建和管理,提高了系统的可靠性和性能。:中间件可以管理业务流程,包括工作流、事务处理、并发控制等,确保业务逻辑的正确执行。:中间件提供了安全机制,如加密、身份验证和访问控制,以保护敏感数据和系统的完整性。 阅读详情

要说清这个问题我们用一个生活中的实例来比喻。把分布式系统看作北京市区的交通系统,网络看作市区马路,通过交通工具(汽车)实现通信,每分钟将有几万辆车在马路上行驶,如果没有相应的交通设施和管理规划,北京市将会乱成一团,发生各种交通事故。

1. 通信处理(消息)中间件

首先要修好马路,安装红绿灯,设立交通管理机构,制定出交通规则,也就是我们要建网和制定出通信协议,能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输(如TongLINK、BEA eLink 、IBM的MQSeries等),称为消息中间件。这是中间件中唯一不可缺少的,是需求量最大的中间件产品,目前在Windows 2000操作系统中已包含了其部分功能。

2. 事务处理(交易)中间件

在分布式事务处理系统中要处理大量事务,常常在系统中要同时进行上万笔事务。例如在北京市就要设置各种运载汽车,完成日常的运载,同时要随时监视汽车运行,出现故障时,要有排除措施,发生堵塞时要进行调度。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。BEA的 Tuxedo由此而著名,它成为增长率最高的厂商。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件以及数据存取管理中间件三部分组成。东方通科技公司的TongLINK 和TongEASY实现了这个参考模型规定。

3. 数据存取管理中间件

在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件将为在网络上虚拟缓存、格式转换、解压等带来方便。

4. Web服务器中间件

浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能作数据写入、受HTTP协议的限制等,就必需进行修改和扩充,形成了 Web服务器中间件,如 SilverStream公司的产品。

5. 安全中间件

一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必需用国产的产品。产生不安全因素是由操作系统引起的,但必需要用中间件去解决,以适应灵活多变的要求。

6. 跨平台和构架的中间件

当前开发大型应用软件通常采用基于构架和构件技术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了构架中间件,功能最强的是CORBA,可以跨任意平台,但是太庞大;JavaBeans较灵活简单,很适合于做浏览器,但运行效率差;DCOM模型主要适合 Windows平台,已广泛使用。实际上国内新建系统主要是UNIX(包括LINUX)和 Windows,因此针对这两个平台建立相应的中间件要实用得多。

7. 专用平台中间件

为特定应用领域设计参考模式,建立相应构架,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。

8. 网络中间件

它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等,也是当前最热门的研发项目。
深入理解 Nuxt.js 中 `middleware` (中间件) 的执行顺序和作用域。 我是你们的老朋友,代码界的段子手,今天咱们就来聊聊 Nuxt.js 里那些神秘又重要的“中间人”—— middleware。记住,代码不是死的,人是活的,灵活运用 Middleware,让你的 Nuxt.js 应用更加强大!咱先打个招呼,今天可不是来听我吹牛的,咱要用通俗易懂的语言,加上一些实战代码,把 Nuxt.js 的中间件彻底搞明白。总之,Middleware 让你可以在页面渲染之前,对请求进行各种各样的操作,保证用户看到的是最合适的内容。Middleware 可以是异步的,你可以使用。 阅读详情

相关推荐

LED背光驱动电路解析:从MP3394芯片到液晶屏灯管控制

本文深入解析了以MP3394芯片为核心的LED背光驱动电路工作原理。从升压电路的能量转换到多路LED的均流控制,详细阐述了其作为液晶屏背光“大脑”的关键作用,并提供了黑屏、闪屏、亮度不均等常见故障的实战检修思路与排查方法。

agile9scrum的博客 818

对新手的初级入门,什么是中间件。

为什么写? 1.很多人听过中间件,但是没见过中间件,或者根本不知道中间件是什么,傻X百科上面的定义实在是模糊,所以就有了写这片博客的冲动。 定义:中间件,顾名思义存在于两个系统之间的,起到连接的设备。 (1)为什么是设备? 硬件和软件在一定程度上可以互用,中间件既可以是硬件,也可以是软件,所以我说是设备,而不定义为,硬件或者软件的一种。 (2)起到连接作用怎么理解?中间件可以在两个软件之间起到连接...

INTERMEDIAT的博客 2万+

Python爬取拼多多商品数据保姆级教程(附源码及效果图)

本文介绍了使用Python爬取拼多多商品数据的完整教程。通过DrissionPage库模拟浏览器操作,利用正则表达式提取嵌入在HTML中的商品数据(关键步骤是从window.rawData变量获取),解析后转换为结构化数据并导出Excel。教程包含八大步骤:环境配置、浏览器初始化、网络监听、搜索模拟、数据提取(核心是正则匹配JSON)、数据验证、字段解析和Excel导出,最后提供了封装好的函数可直接调用。该方法特别适合课程作业或毕业设计获取电商数据,能爬取商品名称、价格、销量等关键信息,处理了价格单位转换等

weixin_46449236的博客 2077

什么是中间件?

一、百度百科 中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。目前,它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了只有用于分布式系统中才能叫中间件,同时也把它与支撑软件

学Java,找哪吒 4万+

OpenFOAM-v2006重叠网格挖洞问题实战:如何手动修复overset代码中的边缘识别缺陷

本文深入探讨了OpenFOAM-v2006中重叠网格挖洞问题的实战解决方案,重点修复overset代码中的边缘识别缺陷。通过逆向工程解析挖洞决策机制,设计最小侵入式的函数override方案,并建立多级验证体系,有效解决了网格挖洞区域覆盖不全的问题,提升了计算流体动力学模拟的准确性和可靠性。

weixin_29216049的博客 430

STM32F407 HAL库定时器触发ADC采集与DMA数据传输(定时器TIM+ADC+DMA)

在STM32F407系列微控制器的开发中,结合定时器、ADC(模数转换器)与DMA(直接存储器访问)控制器,能够显著提升数据采集与传输的效率。本文将指导你如何使用STM32 HAL库,通过定时器触发ADC1的单通道采集,利用DMA传输数据,最终通过串口将电压值打印出来。具体实现中,我们将读取ADC1的通道5(对应引脚PA5),并将转换得到的电压值发送到串口助手上进行显示。

jmlinux的博客 7011

通俗易懂的讲讲什么是中间件?

由此说使用中间件需要解决的第一个问题就是互通性,也就是相互间可以通信。在项目的架构和重构中,使用任何技术和架构的改变我们都需要谨慎斟酌和思考,因为任何技术的融λ和变化都可能人员、技术和成本的增加,中间件的技术般现在些互联网公司或者项目中使用比较多,如果你仅仅还只是一个初创司建议还是使用单体架构,最多加个缓存中间件即可,不要盲目迫求新或者所谓的高性能,而追求的背后一定是业务的驱动和项目的驱动,因为一旦追求就意味着你的学习成本,公司的人员结构以及服务器成本,维护和运维的成本都会加,所以需要谨忪择和考虑。

modi000的博客 7869

全双工AI语音交互:从原理到实践,构建实时对话系统

语音交互技术正从传统的半双工模式向全双工模式演进,以实现更自然、实时的对话体验。全双工交互的核心原理在于模拟人类电话通话,允许双方同时发送和接收音频流,这需要流式语音识别(Streaming ASR)和实时自然语言理解(Real-time NLU)技术的深度整合。其技术价值在于显著降低交互延迟,支持智能打断(Barge-in),从而提升人机对话的流畅度和自然度。在应用场景上,全双工技术是智能助手、实时翻译、车载语音及无障碍交互等领域的关键突破。本文以微软MAI Realtime等模型为例,探讨如何利用开源技

weixin_33693070的博客 404

详解中间件

中间件(Middleware)是软件开发中一种常见的设计模式,其核心思想是‌在核心逻辑的执行过程中插入可扩展的附加功能模块‌。

weixin_28973855的博客 253

ComfyUI-Impact-Subpack插件安装避坑指南:为什么你的UltralyticsDetectorProvider节点还是找不到?

本文深入解析了ComfyUI-Impact-Subpack插件的安装与排障问题,特别是针对UltralyticsDetectorProvider节点缺失的常见问题提供了详细的解决方案。从底层机制到高阶应用,涵盖了手动安装、模型配置、性能优化等关键步骤,帮助用户彻底解决插件依赖关系断裂问题。

Jerry的专栏 1152

【故障排查】telnet连接失败:端口23不可达的深度分析与解决方案

本文深度剖析了telnet连接失败,特别是端口23不可达的常见原因与系统性解决方案。文章从客户端本地配置、服务器端服务与防火墙、中间网络路径三个层面,提供了详细的排查步骤与命令,并强调了Telnet协议的安全风险,建议使用SSH等更安全的替代方案进行远程管理与端口测试。

weixin_29306011的博客 897

【Node.js Express中间件理解及中间件分类和作用】

【代码】【Node.js Express中间件介绍,理解中间件分类及作用】

qq_21087199的博客 361

华为OD机考双机位C卷 - 斗地主之顺子 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 斗地主之顺子(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 9692

【node】中间件分类

定义中间件监听req的data事件监听req的end事件使用querystring模块解析请求体数据将解析出来的数据对象挂载req.body将自定义中间件封装为模块data事件来获取客户端发送到服务器的数据。数据量比较大的话,客户端会把数据切割分批发送到服务器端,data事件会触发多次 每次都获取到完整数据的一部分。end事件当请求体数据接收完毕之后,会自动触发req的end事件。因此可在end事件中,拿到并处理完整的请求体数据。登录后复制// 自定义的中间件str+=chunk。

Small world 765

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

中间件的4种分类(整理)

中间件的4种分类(整理)

大连赵哥的博客 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

不会还有人不知道中间件是啥吧?

不会还有人不知道中间件是啥吧?引言一. 中间件是什么?二. 中间件能干啥?2.1 中间件在应用开发中担任的角色三. 中间件特点四. 中间件的分类 引言 中间件(middleware)一词每天都被不同的人群所提及,中间件的产品也大量出现在软件市场,但中间件的定义却一直比较模糊,导致中间件的分类也不很统一。也许正因为如此,才使人们不断地设计和开发新的产品,并冠以中间件的标签,推动着中间件的内涵和市场不断地向前发展。 相信大家看这篇文章的初心就是单纯想了解一下 中间件是啥?能干啥?我为什么要学它?公司中为啥要

福尔摩东的博客 2万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

中间件分类

一、中间件是什么? 非底层操作系统软件、非上层业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件,统称中间件。 程序A和程序B互相通信使用的协议,程序A,B可以由不同语言不同平台构建。但是协议可以保证他们能互相认识互发的东西。 中间件有个很大的特点,是脱离于具体设计目标,而具备提供普遍独立功能需求的模块。这使得中间件一定是可替换的。如果一个系统设计中,中间件是不可替换的,不...

ICT产业论坛 1万+

什么是中间件

自己最近经常看书看到这个概念,自己上网搜集了一些资料,整理一番,如下:中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 在众多关于中间件的定义中,比较普遍被接

凑活着过呗!还能死啊? 3502

Node中Express中间件详解

console.log("这是一个中间件");// 把流转关系转交给下一个中间件或者路由next();// 全局生效中间件简写形式-----第一个中间件console.log("调用了第一个全局中间件");next();});// 第二个中间件console.log("调用了第二个全局中间件");next();});res.end("成功");});});自己手动模拟一个类似于这样的中间件,来解析POST提交到服务器的表单数据定义中间件。

前端工程师 · Vue 生态深耕者,专注多端与工程化 1131

Node.js中间件的分类

本文详细介绍了Node.js Express框架中间件的分类,包括应用级中间件、路由级中间件、内置中间件、第三方中间件和错误处理中间件。通过完整代码示例,演示如何使用日志记录、身份验证、JSON解析、CORS处理和错误捕获等功能,帮助开发者深入理解Express中间件的作用和用法。文章涵盖了中间件的基本概念、代码实现和运行结果,适合初学者和进阶开发者参考,提高Node.js应用的可维护性和扩展性。

2402_84971234的博客 1107

java开发常用的中间件

中间件

qq_40177185的博客 1万+

【Node.js】中间件

中间件(Middleware) ,特指业务流程的中间处理环节Express中间件的调用流程:当一个请求处理时,可以连续调用多个中间件,从而对这次请求进行预处理Express中间件的格式:本质上就是一个function处理函数,下图为官网的介绍中间件函数的形参列表中,必须包含next参数,而路由处理函数中只包含req和res//常量mw所指向的,就是一个中间件函数console.log('这是一个简单的中间件函数')//注意:在当前中间件的业务处理完毕后,必须调用next()函数。...

qiaoyangla的博客 2104

[架构之路-58]:目标系统 - 平台软件 - 中间件软件(嵌入式)与中间件平台(中台)以及中间件的发展阶段与提供服务的方式

中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。与用户空间驱动处于并列的位置。用户空间驱动:负责对硬件设备与业务相关的功能配置(主要通过配置芯片的寄存器来实现)、与业务相关功能状态的监控、在用户空间数据的收发、以及为应用软件提供硬件抽象层的接口(HAL:硬件抽象层接口)。以便于应用软件不需要关注具体硬件的型号、硬件寄存器的定义等硬件相关的细节。为应用程序使用嵌入式系统的各种硬件服务(CPU和RAM之外)

文火冰糖(王文兵)的博客 6673
上一篇: Markdown的十个常用标志符号
下一篇: IOS App转让
Jackson-Huang
博客等级 码龄14年 26粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值