消息中间件初识
程序员文章站
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