新年10个Flag实现中~
访问量
1.9M
文章数
150
运行天
1147
一、系统间的通信方式分布式系统常常需要进行系统间通信:常见的系统间通信方式有两种:远程过程调用(RemoteProcedureCall,RPC)消息队列(MessageQueue,MQ)对于RPC,我们可以同步请求(请求、等待;处理、响应),也可以异步请求(请求、标记请求、等待;处理、完成;释放标记/超时处理)。然而RPC有很多缺点:(1)任何一方出现故障,都可能会造成消息丢失。当然你也可以通过应用/框架重试+多实例来缓解,但只要任何一方全部挂掉,消息必然丢失。(2)平台、协议、开发语言等差异导致对接复杂度高。虽然GRPC也是跨平台跨语言的,但并非所有的系统都会引入GRPC,protobuf也不能完全包含所有的开发语言。(3)服务器性能差异,导致消息堆积。上游数据源(比如上游服务器、或者作为
1