中间件的分类和作用

中间件介绍 中间件屏蔽了底层分布式环境的复杂性和异构性,为上层的应用软件提供了一致的运行环境,使得开发者可以更加专注于业务逻辑的实现,而无需过多地关注底层技术细节。:提供基于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 可以是异步的,你可以使用。 阅读详情

相关推荐

CentOS 7升级GCC踩坑记:明明装了centos-release-scl,为啥找不到devtoolset-9-gcc-c++?

本文详细记录了在CentOS 7系统中升级GCC时遇到的`devtoolset-9-gcc-c++`不可用问题及其解决方案。通过分析`centos-release-scl`安装不完整的原因,提供了从清理残留、重新安装仓库配置到完整安装devtoolset-9工具链的全套操作指南,帮助开发者彻底解决类似环境配置难题。

weixin_29252171的博客 244

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

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

INTERMEDIAT的博客 2万+

Arxml文件可视化:当汽车软件架构遇见交互式设计工具

本文探讨了Arxml文件在汽车电子系统开发中的可视化技术,结合AUTOSAR架构标准,介绍了如何利用现代Web技术构建交互式设计工具。通过三维组件关系图、动态数据流展示和版本对比等功能,显著提升开发效率和架构评审质量,适用于MBD和ASPICE开发流程。

weixin_29050271的博客 427

什么是中间件?

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

学Java,找哪吒 4万+

【头歌实训:逆置顺序表】

根据提示,在右侧编辑器补充函数rev的代码,使用顺序表L的空间就地逆置L。},要求时间复杂度为O(n),空间复杂度为O(1)。第一行为顺序表逆置之前的元素。每个数据后一个空格。第二行为顺序表逆置之后的元素。每个数据后一个空格。本关任务:设计一个算法,将一个顺序表L的元素{a。第一行为顺序表中元素个数n。第二行为空格隔开的n个整数。开始你的任务吧,祝你成功!

guang_Lee的博客 997

STM32F103C8T6 Bootloader开发实战:串口IAP固件升级与Keil工程配置详解

本文详细介绍了STM32F103C8T6 Bootloader开发实战,重点讲解串口IAP固件升级的实现方法与Keil uVision5工程配置。通过Flash分区管理、USART1通信协议设计及应用程序跳转机制等核心技术,帮助开发者掌握嵌入式系统固件升级方案,提升设备维护效率。

weixin_29165725的博客 436

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

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

modi000的博客 7866

45、概率与模糊性:粗糙事件与模糊事件概率的探索

本文探讨了概率理论与模糊性理论在处理现实世界不确定性中的应用,重点分析了模糊事件和粗糙事件的概率定义、性质及其条件概率。同时,介绍了近似贝叶斯网络分类器在信息系统中的应用,以及如何通过概率决策约简提高分类效率。这些方法为处理不确定信息提供了灵活的工具,并在决策和数据分析中具有重要价值。

ik67890123的博客 133

详解中间件

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

weixin_28973855的博客 252

华为OD机试真题2026双机位C卷 C语言 实现【明日之星选举】

给定一组选票votes。votes[i]代表第 i 张选票的内容,包含一个字符串"zhangsan,hanmei",表示推荐zhangsan为明日之星,反对 hanmei 称为明日之星。赞成或反对使用逗号(,)分割。 给定一个数组n,表示最后将筛选出赞成票最多的n个人,如果赞成票相同,则反对票越少,排序越靠前;如果赞成票和反对票都相同,则按照姓名字典序升序排序。

MISAYAONE的博客 184

YOLOv11缝合添加注意力机制:添加YOLO-Face的SEAM到并行通道空间注意力机制【附代码】

在目标检测的实际应用中,物体遮挡是一个严重影响检测精度的难点。本文将基于YOLOv11架构,探索融合YOLO-Face中提出的SEAM注意力机制以提升对遮挡物体的感知能力,并在此基础上提出一种轻量化双路径并行注意力机制C2PSA,进一步提升检测性能。

一键难忘的博客 1527

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

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

qq_21087199的博客 361

基于电能质量治理的场景实例:统一电能质量调节器(UPQC)与并网逆变器集成

本文通过Simulink平台,详细演示了统一电能质量调节器(UPQC)与并网逆变器的集成系统建模与仿真过程。主要内容包括:1)系统架构设计,包含光伏并网系统、非线性负载和电压扰动源;2)UPQC主电路设计,包括串联/并联单元拓扑和控制策略实现;3)与并网逆变器的能量交互与协同控制逻辑;4)典型电能质量问题的仿真测试场景。结果表明,该集成系统能有效治理电压暂降(维持负载电压380V±2%)和电流谐波(电网THD<3%),直流母线电压稳定在800V±5V。该系统为应对复杂电能质量问题提供了"电压

xiaoheshang_123的博客 309

【node】中间件分类

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

Small world 765

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

大连赵哥的博客 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

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

福尔摩东的博客 2万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

中间件分类

一、中间件是什么? 非底层操作系统软件、非上层业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件,统称中间件。 程序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、付费专栏及课程。

余额充值