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

什么是中间件

前言

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

为什么使用中间件

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

中间件的分类

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

交易中间件

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

对象中间件

  • 从业务系统中抽离出具有通用性通用功能的核心逻辑
相关推荐
DKPT4 小时前
Java桥接模式实现方式与测试方法
java·笔记·学习·设计模式·桥接模式
好好研究7 小时前
学习栈和队列的插入和删除操作
数据结构·学习
新中地GIS开发老师7 小时前
新发布:26考研院校和专业大纲
学习·考研·arcgis·大学生·遥感·gis开发·地理信息科学
SH11HF8 小时前
小菜狗的云计算之旅,学习了解rsync+sersync实现数据实时同步(详细操作步骤)
学习·云计算
失败又激情的man8 小时前
Scrapy进阶封装(第四阶段:中间件设置,动态UA,ip代理池)
爬虫·scrapy·中间件
Frank学习路上8 小时前
【IOS】XCode创建firstapp并运行(成为IOS开发者)
开发语言·学习·ios·cocoa·xcode
Chef_Chen10 小时前
从0开始学习计算机视觉--Day07--神经网络
神经网络·学习·计算机视觉
亲爱的非洲野猪10 小时前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
X_StarX11 小时前
【Unity笔记02】订阅事件-自动开门
笔记·学习·unity·游戏引擎·游戏开发·大学生
MingYue_SSS12 小时前
开关电源抄板学习
经验分享·笔记·嵌入式硬件·学习