【中间件学习】什么是中间件

什么是中间件

前言

  • 业务系统中非业务逻辑的通用性核心功能出来,逐步形成中间件服务
  • 中间件:介于操作系统和应用软件之间,为应用软件提供服务功能的软件,有消息中间件,通信中间件,应用服务器。由于介于两种软件之间,所以称之为中间件
  • 业务应用逻辑开发中,通用共性的功能和逻辑,进行提取凝练开发成通用的组件。如;RPC 框架、白名单、限流、切量等。

为什么使用中间件

  • 中间件屏蔽了底层操作系统的复杂性,让开发工程师将更多的专注力放在业务逻辑和流程实现上,让开发人员面对的是一个简单的,单一的,统一的开发环境,减少程序设计因为底层差异而导致的复杂度
  • 中间件最终带给系统的是交付质量和交付能力的提升,减少系统上线之后的不稳定性和运维成本以及管理的工作量,减少了服务资源的投入

中间件的分类

  • 终端仿真/屏幕转换中间件
  • 数据访问中间件:JDBC/ODBC 适用于应用程序和各类数据源的通信操作,以便于直接访问和更新基于服务器的数据源,数据源可以是关系型或者非关系型以及对象型,比如Mysql、Oracle、redis或者elasticsearch,使用此类中间件可以更好地简化应用系统的开发
  • 远程过程调用中间件:rpc,最早的分布式应用系统采用的一种同步请求和应答协议,适用于远程环境调用和分布式部署
  • 消息中间件:kafka,ActiveMQ,RabbitMQ,现在的分布式系统离不开rpc和MQ,系统架构使用消息中间件将应用扩展到不同的操作系统和不同的网络环境中,基于消息事件驱动机制处理业务逻辑

交易中间件

  • 此类中间件是一种针对联机交易处理系统而设计的中间件,其实很多业务发起的中间件都属于此类。交易中间件就相当于一组程序模块,使用它可以大大的减少开发一个交易系统所需要的编程工作量。

对象中间件

  • 从业务系统中抽离出具有通用性通用功能的核心逻辑
相关推荐
M78佐菲2 分钟前
ARM学习笔记(三)
linux·arm开发·笔记·嵌入式硬件·学习
传奇开心果编程9 分钟前
【ArkUI 练中学】第4课:高级布局与列表性能优化
学习·华为·前端框架
dtq042416 分钟前
数据结构 - 栈
c语言·数据结构·学习
Thomas.Sir1 小时前
第10课:PyTorch|学习率调度策略全面精讲【训练过程的“自适应巡航”】
人工智能·pytorch·学习
一起努力啊~1 小时前
算法题打卡力扣第1658题:将 x 减到 0 的最小操作数(mid)
学习·leetcode
传奇开心果编程1 小时前
【ArkUI 练中学】第1课:从零开始
学习·华为·前端框架
j7~1 小时前
【C++微服务项目开发脚手架】(准备篇)从 0 到跑通:Docker 容器开发环境 + 宿主机用户 + Trae 远程连接 全链路踩坑实战
linux·c++·学习·xshell·docker容器·trae
avi91111 小时前
无厘头 -- 基于vue 公用状态机,已用于放置类篮球卡牌Game
中间件·vue·公用状态·文件间通信
Gyr01 小时前
浅刷了一遍51CTO软考题库客观题及其解析(5)
学习·软考·知识点·信息安全工程师
日拱一卒的小田11 小时前
ZYNQ学习笔记4-ZYNQ的SD卡控制器1
笔记·学习