当前位置: 首页 > article >正文

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

什么是中间件

前言

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

为什么使用中间件

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

中间件的分类

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

交易中间件

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

对象中间件

  • 从业务系统中抽离出具有通用性通用功能的核心逻辑

http://www.kler.cn/news/234611.html

相关文章:

  • 【Linux进程间通信】用管道实现简单的进程池、命名管道
  • [AIGC] Tomcat:一个简单 and 高效的 Java Web 服务器
  • 【设计模式】23中设计模式笔记
  • Hadoop:认识MapReduce
  • 【数据结构和算法】--- 基于c语言排序算法的实现(2)
  • Rust变量与常量介绍
  • vue-生命周期+工程化开发(三)
  • RCS系统之:机器人状态
  • 快速搭建 nfs 环境, 解决 nfs 搭建时的疑难杂症
  • C++STL速查手册
  • [NSSCTF]-Web:[SWPUCTF 2021 新生赛]easy_sql解析
  • 为什么IDM下载速度很慢,IDM下载速度很慢怎么办
  • FL Studio如何改变轨道颜色 FL Studio波形颜色如何自定义 flstudio21中文版下载 FL Studio 设置颜色
  • MySQL数据库-MVCC多版本并发控制
  • leetcode(矩阵)74. 搜索二维矩阵(C++详细解释)DAY7
  • 时序数据库Influxdb查询多个字段_field同一时间的值,组成一条数据
  • 【Git】三棵“树”介绍
  • 【Godot4.2】文件系统自定义控件 - FileSystemTree
  • 第74讲Breadcrumb 面包屑实现
  • (delphi11最新学习资料) Object Pascal 学习笔记---第4章第4节(函数的高级特性)
  • Acwing---839. 模拟堆
  • H5/CSS 笔试面试考题(71-80)
  • 【LeetCode每日一题】前缀和的例题1248. 统计「优美子数组」974. 和可被 K 整除的子数组
  • 【单片机】简单的自定义延时程序设计(代码演示)
  • CentOS7集群配置免密登录
  • 通过Demo学WPF—数据绑定(二)
  • 基于centos的Linux中如何安装python
  • RK3568笔记十三:Zlmedia推流测试
  • 3秒实现无痛基于Stable Diffusion WebUI安装ComfyUI!无需重复安装环境!无需重复下载模型!安装教程
  • excel 导出 The maximum length of cell contents (text) is 32767 characters