常见的中间件以及什么是中间件

  • 1. 中间件是什么
  • 2. 为什么要用中间件
  • 3. 中间件的使用场景
  • 4. 主要的中间件的分类

1. 中间件是什么

中间件顾名思义就是系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件在客户服务器的操作系统、网络和数据库之上,管理计算资源和网络通信。总的作用是处于自己上层的应用软件提供运行与开发的环境、帮助用户灵活、高效地开发和集成复杂的应用软件。
我们可以这样理解:就是一类能够为一种或多种应用程序合作互通、资源共享,同时还能为该应用程序提供相关的服务的软件。中间件是一类软件统称,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作。

2. 为什么要用中间件

具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作、从而大大减少了技术上的负担。
中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。

3. 中间件的使用场景

  1. 进行系统解耦
    例如A系统给B系统发消息,A系统给C系统发消息,为了系统A不在随意修改,则可以A系统发消息给消息中间件,消息中间件转发消息给系统B系统C,也方便后面需要添加系统D,进行消息交互,如果将来很多系统进行信息交互时,则可以考虑添加消息中间件进行消息转发。
  2. 消息异步处理
    A系统发消息给B系统,B在进行消息处理,不用及时回复A,则可以考虑加消息中间件,A只管发消息给中间键,B从中间件取出消息进行处理返回给A,消息中间件进行消息缓存,B异步读取处理。
  3. 大量请求需要屏蔽情况下,比如秒杀活动,排队等情况
    如双十一开启个秒杀活动,会有大量请求消息,如果服务器处理所有消息的请求显然是不太合理的,秒杀结果只有少数人能得到,多数人是无效的请求,中间件缓存请求,后端服务器只需要取部分请求恢复处理即可。

4. 主要的中间件的分类

  1. Hadoop
    当一个大任务由一台机器在规定的时间内不能完成时,人们就要采用分布式计算,即多台机器联合起来共同完成此任务。换句话说,就是将这个任务拆分成几个小人物,由多台计算机去完成。参与计算的多台计算机组成一个分布式系统,需要运行一系列的分布式基础算法。
    Hadoop就是一个分布式计算平台,是用Java语言开发的,他的三个核心部件分别是:Common、MapReduce和HDFS三个核心部件
  • Common为Hadoop提供一些常用的工具,主要包括系统配置工具Configuration、远程过程调用RPC/序列化机制和Hadoop抽象文件系统等。
  • MapReduce是处理海量数据的计算模型
  • 而HDFS用于储存海量数据,它具备高度容错性,能在低成本的通用硬件上稳定运行。

用 Hadoop 构建的应用实例对于计算资源的消耗具备两个明显的特征:

  • 资源需求大:表明 Hadoop 需要大量的存储、计算和网络带宽。
  • 资源需求具备季节性:表明除存储需求是经常性占用外,在运行 Mapreduce 时才需要大量的计算和网络资源,而分析大量数据的工作并不是经常性的——称为季节性
  1. LVS
    LVS是linux Virtual server的首字母缩写,意为Linux虚拟服务器,即把许多台物理 Linux 计算机逻辑上整合成一台超级计算机,但对用户来说只是一台计算能力很强的服务器
    LVS就是一个由软件实现的负载均衡器,工作在网络 OSI 的第四层(应用层),代码已经并入了 Linux 内核。利用它,再加上一台廉价的计算机,就能构建一台企业级的负载均衡器。

  2. 静态网站服务器
    我们浏览一家公司的网站时,很可能就是跟那家公司服务器上的 Apache 程序打交道,网页浏览器与 Apache 成了标准的 C/S 模式,浏览器是客户端,而 Apache 是服务端。Apache 首先把主页对应的文件 index.html 发给我们,我们看到主页内容后,点击主页上的某个链接,它又把该链接对应的文件发给我们。

  3. 动态应用服务器
    开源的动态应用服务器有 JBoss、Tomcat、Geronimo、JOnAS等

常见的中间件以及什么是中间件相关推荐

  1. 什么是中间件,常用的中间件有哪些?

    什么是中间件? 顾名思义,中间件就是处于中间的软件,处于操作系统.数据库等系统软件和应用软件之间的一种起连接作用.中间件是一种独立的系统软件平台,为网络应用软件提供综合的服务和完整的计算环境,借助这种 ...

  2. laravel 中间件不生效_laravel中间件实战(luke)

    简介 HTTP 中间件提供了为过滤进入应用的 HTTP 请求提供了一套便利的机制.例如,Laravel 内置了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否 ...

  3. 东方通 中间件_东方通:中间件国产替代进程中的艰难领军者

    引言 东方通自1992年成立以来,一直深耕基础软件中间件的产品及相关技术研发,为国产中间件的开创者,连续十几年保持中间件市场占有率国内厂商第一.其时,国外的中间件也才开始起步,可以说与国际厂商站在了同 ...

  4. koa2 mysql 中间件_Koa2 和 Express 中间件对比

    koa2 中间件 koa2的中间件是通过 async await 实现的,中间件执行顺序是"洋葱圈"模型. 中间件之间通过next函数联系,当一个中间件调用 next() 后,会将 ...

  5. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证...

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

  6. java数据库中间件实现,分布式数据库中间件DDM的实现原理

    随着数据量不断增大,传统的架构模式难以解决业务量不断增长所带来的问题,特别是在业务成线性.甚至指数级上升的情况.此时我们不得不通过水平扩展,把数据库放到不同服务器上来解决问题,也就是我们说的数据库中间 ...

  7. python中间件有哪些_python 中间件

    中间件 一.什么是中间件 中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django 的输入和输出.每个中间件组件都负责做一些特定的 ...

  8. php web中间件有哪些,HTTP 中间件

    HTTP 中间件 由 学院君 创建于5年前, 最后更新于 11个月前 版本号 #2 51498 views 40 likes 0 collects 1.简介 HTTP 中间件提供了为过滤进入应用的 H ...

  9. django中,中间件是什么以及中间件的作用

    中间件 Django中的中间件是一个轻量级.底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出.中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django ...

最新文章

  1. 开源生态也难逃“卡脖子”危机?中国AI开发者的警醒和突围
  2. GitLab安装文档
  3. Android之Camera介绍
  4. 全世界的狗都没有“生殖隔离” | 今日趣图
  5. 机器学习基石笔记5——为什么机器可以学习(1)
  6. easyvision视觉软件 源码_一对一直播源码都有哪些独具一格的优势?
  7. Foxmail邮件字体大小怎么设置 Foxmail字体的设置方法
  8. C的|、||、、、异或、~、!运算(转)
  9. cocopod升级1.6.0bate问题
  10. 【Android】小米开发应用App上线注册
  11. 技嘉主板bios设置方法
  12. Thinkphp仿众图网图片素材/资源下载站源码 自适应手机端
  13. 作为一名程序员如何在国内使用谷歌搜索技术(Google)?
  14. 如何修改本地网站的域名
  15. 善网ESG报告(第十期)
  16. 新手期货开户的时候需要准备什么呢?
  17. 加拿大政府正式为IT项目管理的成本估计作出规定
  18. 海量上传文件服务器端,bat批量上传ftp文件到服务器
  19. wIN 7 一键清理垃圾
  20. 解析大数据思维的五大商业本质以及思维变革

热门文章

  1. python中文下载官网_python下载|python 64位 v3.7.3 官方中文最新版 - 软件下载 - 绿茶软件园|33LC.com...
  2. 量化交易系统如何获取股票数据的执行过程?
  3. 电源、信号完整性与高速电路
  4. 家里没宽带的朋友,不用发愁了
  5. 计算机信息科学蔺泽浩,马波_北京理工大学计算机学院
  6. 基于matlab的螺线管仿真,基于COMSOL Multiphysics恒流螺线管的电磁场仿真分析
  7. 区分获取SM2、RSA类型证书的密钥长度、秘钥算法和签名算法值
  8. python小项目,检查生日是否出现在圆周率里面
  9. (附源码)ssm物流公司员工管理系统 毕业设计 261625
  10. 基于单片机的简易电子琴设计(电路+程序)