1 什么是消息中间件
1.1 消息中间件(MQ)的定义
没有标准定义。一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。
图片.png
1.2 为什么要用消息中间件?和RPC有何区别?
-
MQ 是生产者消费者模式。RPC 是请求响应模式。
-
MQ 是面向数据的。RPC 是面向动作的。
-
消息队列适用于异步场景。RPC一般用于同步场景(也有异步功能,但通常用的是同步)。
-
消息队列是需要管理消息的存储的。rpc没有broker, rpc没有存储,只有通信。
- 不管是消息队列还是rpc调用都是 分布式下面的 通信方式。
消息队列是系统级、模块级的通信。RPC是对象级、函数级通信。
1.3 常见的消息中间件比较
图片.png2 JMS(Java Messaging Service)规范
Java消息服务(Java Message Server) 及JMS,是一个Java平台中关于面向消息中间件的API,用于在两个应用程序之间或分布式系统中发送消息,进行异步通信。(总结,就是Java中关于消息中间件的一个API规范)。
ActiveMQ是JMS的一个实现。
注:具体实现见“JMS规范”篇
网友评论