dubbo与Mq的疑问
dubbo和MQ都是为了解决分布式应用之间的通信问题,dubbo使用的RPC,侧重于同步调用,客户端会依赖服务端提供的接口然后进行调用。MQ使用的是观察者模式,消息发送者只负责产生并发送消息,消息消费者只负责接收消息并做相应处理,两者并不知道对方的存在,MQ侧重于异步通信,耦合性较低。
我现在比较疑惑的地方时:什么时候该用dubbo,什么时候该用MQ
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Dubbo是远程过程调用,就是把请求发给远程服务器,远程服务器返回你想要的结果。
MQ是消息队列,一个程序把内容放到队列里,另外一个程序过来消费。
觉得好请引用,O(∩_∩)O谢谢
拆分业务流程,减少后端负载压力用MQ,比如前端接收大量请求到队列中,后端N个客户端分发消费。
DUBBO主要是提供分布式服务,N个服务消费者,N个服务提供者,即使某些节点挂了,不影响整个应用,当然其他功能还有很多,不再列举。
DUBBO应该算是个封装过的RPC框架,MQ算是个最底层的中间件吧
个人理解
举个栗子,例如用户登录服务,客户端传输用户名和密码到服务器端,服务器端验证帐号密码是否正确,并把结果返回给客户端,这种交互形式使用dubbo;例如需要进行用户行为收集,客户端只需不断把行为日志收集,这种方式使用MQ,先把行为日志发送到mq,再由消息消费者统一批量存储到数据中心。
感觉你在问:什么时候用语音电话,什么时候用微信
需要对方及时作出相应,就用RPC;
受众有多方,就用MQ。