关于RPC与MQ异同的理解
2016-07-06 14:53
148 查看
最近看了一些资料,回顾过去项目的经验,梳理自己对两者异同的理解:
相同:
1、都利于大型系统的解耦;
2、都提供子系统之间的交互,特别是异构子系统(如java\node等不同开发语言);
不同:
1、RPC侧重功能调用,因此多半是同步的;
备注:也有基于MQ上实现RPC的,这样的话就是异步的,MQ本身,如rabbitMQ也有提供实现RPC的能力;
2、MQ 的使用,一方面是基于性能的考虑,比如服务端不能快速的响应客户端(或客户端也不要求实时响应),需要在队列里缓存;
另外一方面,它更侧重数据的传输,因此方式更加多样化,除了点对点外,还有订阅发布等功能。
备注:之前在政府交换平台项目中,源数据库向目标库同步数据,底层用的就是MQ;
相同:
1、都利于大型系统的解耦;
2、都提供子系统之间的交互,特别是异构子系统(如java\node等不同开发语言);
不同:
1、RPC侧重功能调用,因此多半是同步的;
备注:也有基于MQ上实现RPC的,这样的话就是异步的,MQ本身,如rabbitMQ也有提供实现RPC的能力;
2、MQ 的使用,一方面是基于性能的考虑,比如服务端不能快速的响应客户端(或客户端也不要求实时响应),需要在队列里缓存;
另外一方面,它更侧重数据的传输,因此方式更加多样化,除了点对点外,还有订阅发布等功能。
备注:之前在政府交换平台项目中,源数据库向目标库同步数据,底层用的就是MQ;
相关文章推荐
- c++之复数类运算
- maven基础知识——包管理
- vim配置为IDE环境(超详细,极力推荐 git)
- 6号css学习小记
- 文章和评论数多表查询问题?
- 10期6月份期刊
- SNMP的应用
- Linux上定时备份MySQL数据库
- 【QT小玩具】将图片转换为字符
- restful api文档生成器--神器
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- 【BZOJ 2154】【JZOJ 1938】【2011集训队出题】Crash的数字表格
- jQuery的html(),text()和val()比较
- Flip Game
- 证明
- safari 连接中有回车 兼容性问题
- 算法的空间复杂度
- Jquery
- GDAL 地图切片层级计算公式
- IntegerToEnglishWord