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

什么是中间件

前言

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

为什么使用中间件

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

中间件的分类

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

交易中间件

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

对象中间件

  • 从业务系统中抽离出具有通用性通用功能的核心逻辑
相关推荐
snakecy5 分钟前
树莓派学习资料共享
大数据·开发语言·学习·系统架构
我的xiaodoujiao6 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 24--数据驱动--参数化处理 Excel 文件 1
python·学习·测试工具·pytest
Nebula_g10 分钟前
C语言应用实例:学生管理系统1(指针、结构体综合应用,动态内存分配)
c语言·开发语言·学习·算法·基础
小叮当⇔10 分钟前
“征服式学习”提示词工具箱
学习·算法
Mark_Hide43 分钟前
学习笔记7
笔记·学习
d111111111d1 小时前
STM32外设学习--TIM定时器--编码器接口(程序)
笔记·stm32·嵌入式硬件·学习
Anesthesia丶1 小时前
UV工具学习笔记
笔记·学习·uv
我的golang之路果然有问题1 小时前
mac M系列芯片 unity 安装会遇到的错误以及解决
经验分享·学习·macos·unity·游戏引擎
蒙奇D索大1 小时前
【11408学习记录】考研数学核心考点精讲:二维随机变量(离散与连续)全面解析
笔记·学习·考研·概率论·改行学it
Nebula_g2 小时前
C语言应用实例:硕鼠游戏,田忌赛马,搬桌子,活动选择(贪心算法)
c语言·开发语言·学习·算法·游戏·贪心算法·初学者