Java问题:中间件是什么
和朋友聊天时被问到中间件是什么?一时有点语赛,感觉熟悉这个概念,但又完全不知道如何清楚的向别人讲这些。
网络上搜了一下,也没找到让自己很认可的说法,有的说非业务的技术类组件,是操作系统之上和业务逻辑之下的中间层都可以称之为中间件,有说用于解耦底层逻辑和业务应用的组件,也有说是一些可复用的后台组件,似乎有点道理但又没完全讲清楚这个概念。
中间件就是在大型网站中,帮助各子模块间实现互相访问,消息共享或统一访问等功能的软件产品。常见的有:
远程服务框架中间件:主要解决各子模块之间互相访问的问题。 如分布式服务框架Dubbo,RPC框架等
消息队列中间件:主要解决各子模之间消息共享的问题。 是一种EDA架构(event driven architecture):通过在低耦合的模块之间传输事件消息来完成模块之间的合作。大型网站中,消息队列采用发布/订阅模式。消息发布者发布消息到消息队列,消息消费者只要对该类消息感兴趣,就可以订阅该消息,对其他的业务没有任何的影响。
数据访问中间件:用于简化应用层对数据层的访问。
从草稿箱中翻出这篇文章,再看这个问题,觉得中间件其实也有两个层面不同理解。狭义中间件如常见的远程服务框架、消息队列、缓存等;广义的中间件是操作系统之上业务逻辑之下的所有可复用的后台组件。
今天是教师节,向所有曾教过自己的教师表示感恩!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2017-09-10 Java内部类
2016-09-10 Win7长时间使用占用内存高问题记
2015-09-10 2015第37周四
2014-09-10 2014第37周四
2013-09-10 图片处理软件初体验
2012-09-10 第37周星期一小结