一、概述
1、什么是RPC?
RPC(Remote Procedure Call)远程过程调用协议。用于解决分布式系统中服务之间的调用问题。
2、优点/作用
(1)屏蔽远程调用跟本地调用的区别;
(2)隐藏底层网络通信的复杂性,让我们能更专注于业务逻辑。
3、RPC协议
RPC调用过程中需要讲参数编组委消息进行发送,接收方需要解组消息位参数,过程处理结果需要经过编组和解组。消息由哪部分构成及消息的表示形式就构成了消息协议。
RPC调用过程中采用的消息协议就称为RPC消息协议。
二、常用的RPC框架介绍
1、Thrift
thrift是一个软件框架,用来进行可扩展且跨语言的服务开发。
2、gRPC
是一款语言中立、平台中立、开源的远程过程调用系统。
3、Dubbo
是一个分布式服务框架,以及SOA治理方案。主要功能包括:高性能NIO通讯及多协议集成,服务寻址与路由,软负载均衡与容错,依赖分析与降级等。阿里巴巴已开源。
4、Spring Cloud
由众多子项目组成,提供了大件分布式系统及微服务常用的工具,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性token、全局锁、选主、分布式会话和集群状态等,满足了构建微服务所需的所有解决方案。
三、spring中的RPC
spring中内置了六种不同数据传输方式的原生的RPC实现。分别是:WebService、Jms、RMI、HTTP、Hessian、AMQP。
网友评论