消息中间件初识
概述
面向消息的中间件(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://www.cnblogs.com/ruiati/p/6649868.html
看看维基百科?https://en.wikipedia.org/wiki/Message-oriented_middleware
量变会引起质变。