欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

消息中间件初识

程序员文章站 2022-03-12 18:36:05
概述 面向消息的中间件(message-oriented middleware 简称 MOM)支持在分布式系统之间发送和接收消息的软件或硬件基础桥梁。MOM允许应用程序模块分布在各个平台上,并减少了跨多个操作系统和网络协议的开发应用程序的复杂性。中间件创建了一个分布式通信层,将应用程序开发人员与各种 ......

概述

面向消息的中间件(message-oriented middleware 简称  mom)支持在分布式系统之间发送和接收消息的软件或硬件基础桥梁。mom允许应用程序模块分布在各个平台上,并减少了跨多个操作系统和网络协议的开发应用程序的复杂性。中间件创建了一个分布式通信层,将应用程序开发人员与各种操作系统和网络接口的细节隔离开来。跨不同平台和网络的api通常由mom提供。

mom使得一个软件组件可以通过网络来影响另一个组件的行为,而且组件之间可以松散耦合

简单说:这个中间件提供了良好的接口,使得两边程序通信更加容易,它们不用管对方网络怎么样,系统怎么样等,并且程序之间耦合度低。

常用消息中间件:redis的pub/sub、rabbitmq、rocketmq、zeromq、kafka……

消息队列具有高性能(处理快、响应快),高可用(长期工作),可横向扩展优点(来多几台服务器集群操作,提高性能)。

应用场景

异步通信:a应用请求b应用 ,a--->请求--->消息队列-->响应--->a ,a很快得到响应了,并没有管b有没有拿到消息,反正b自己会去消息中间件拿。

应用解耦:a应用请求b应用,a不会因为b应用崩溃了而得不到响应,它们之间似乎没有关系。

缓解流量高峰:秒杀活动,突然的超高流量可能会压垮应用,先把请求数据扔到消息队列,假如队列溢出了,可以直接抛弃用户请求并返回错误页。

 

看看应用场景?

看看*?https://en.wikipedia.org/wiki/message-oriented_middleware