为什么要使用消息中间件?

为什么要使用消息中间件

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

中间件特点

为解决分布异构问题,人们提出了中间件(middleware)的概念,中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如下图所示,这些服务具有标准的程序接口和协议,针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现

为什么要使用消息中间件?_第1张图片

 也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点:

  1. 满足大量应用的需要
  2. 运行于多种硬件和OS平台
  3. 支持分布计算,提供跨网络,硬件和OS平台的透明性的应用或服务的交互
  4. 支持标准的协议
  5. 支持标准的接口

由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分,对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。

消息中间件应用场景

假设有一个数据要进行迁移或者并发过多时,比如有10w的并发请求下订单,我们可以在这些订单入库之前,把订单请求堆积到消息队列中,让它稳健可靠的入库和执行

  1. 跨系统数据传递
  2. 高并发的流量削峰
  3. 数据的分发和异步处理
  4. 大数据分析与传递
  5. 分布式事务

Java、go、php 等语言都遵循了TCP/IP协议,使用中间件技术第一个需解决的问题就是互通性:平台+通讯,通过遵循某种协议和规范,才能跟底层操作系统硬件(cpu,内存,硬盘)打交道。

为什么要使用消息中间件?_第2张图片

解析:MySQL支持的是TCP/IP协议,遵循该协议后可以把数据写入到硬盘中——持久化功能

项目系统由单体架构演变成多体架构

首先解决的事就是选择什么样的中间件技术去解决沟通,如mysql、RabbitMQ等。

为什么要使用消息中间件?_第3张图片


 

你可能感兴趣的:(RabbitMQ,p2p,linq,gnu)