讲下MQ与Dubbo 区别是什么 各自使用场景是什么?能否一起使用
5条回答 默认 最新
- 技术专家团-小桥流水 2024-02-21 08:55关注
MQ和Dubbo都可以用于订阅发布模式,都是一种分布式框架,但是两者存在区别:
MQ:发布者将数据发送到中心服务节点,消费者从中心服务节点获取数据。
Dubbo:在注册中心注册URL,订阅者从注册中心获取服务发布者的URL,然后通过URL远程调用服务。
所以,MQ通常用于异步通信,用于服务或者模块间的解耦(也就是订阅者不需要知道服务发布者是谁);而Dubbo则主要用于管理服务(也就是所谓的服务治理,订阅者实际还是从服务发布者获取数据)。两者的应用场景是不一样的,至于能不能一起使用,理论上是可以的,具体需要根据实际情况来定,但是很少两者一起使用的情况。如果有兴趣,可以了解一下两者的架构。
MQ(不同的MQ架构有差异,可具体查看某个MQ的架构,以下链接仅供参考):MQ简介以及架构图_mq图-CSDN博客 文章浏览阅读2.1k次。一、什么是MQMessage Query(MQ),消息队列中间件,很多初学者认为,MQ通过消息的发送和接受来实现程序的异步和解耦,mq主要用于异步操作,这个不是mq的真正目的,只不过是mq的应用,mq真正的目的是为了通讯。他屏蔽了复杂的通讯协议,像常用的dubbo,http协议都是同步的。这两种协议很难实现双端通讯,A调用B,B也可以主动调用A,而且不支持长连接。mq做的就是在这些协议上构建一个简单协议——生产者、消费者模型,mq带给我们的不是底层的通讯协议,而是更高层次的通讯模型。他定义了两个对象:发_mq图 https://blog.csdn.net/qq_51383106/article/details/123951338解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 网络分析设施点无法识别
- ¥15 状态图的并发态问题咨询
- ¥15 PFC3D,plot
- ¥15 VAE模型编程报错无法解决
- ¥100 基于SVM的信息粒化时序回归预测,有偿求解!
- ¥15 物体组批优化问题-数学建模求解答
- ¥15 微信原生小程序tabBar编译报错
- ¥350 麦克风声源定位坐标不准
- ¥15 apifox与swagger使用
- ¥15 egg异步请求返回404的问题