RPC基本介绍

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了RPC基本介绍脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

RPC,即远程过程调用(Remote PRocedure Call),一般用于分布式服务中。

调用远程服务的客户端,像调用本地服务一样调用远程服务。
远程服务的调用方式对客户端是透明的。

现有的框架有阿里巴巴的Dubbo、GOOGLE的GRPC、FaceBook的Thrift(支持各语言的通信)等。

RPC可以基于TCP或者UDP网络协议实现,RPC协议有很多种,例如hessian(二进制传输协议)、Google的protobuf等,甚至REST API

基于Java的RPC的IO通信模型有BIO和NIO,NIO如Mina、Netty。Dubbo就是基于Netty服务完成的NIO通信。Dubbo一般通过zookeePEr发布服务。

基于Java的实现方式是通过动态代理完成对网络服务的请求和调用。


概念和特点

RPC:

  • 远程服务调用,像调用本地服务一样。

  • 用于构建分布式服务。

  • 透明化

案例

  • 阿里巴巴 hsf、dubbo

  • Facebook thrift

  • Google grpc

  • TwITter finagle

原理

Java方式:

  • 动态代理

  • 字节码生成(?)

协议

  • Hessian

  • protobuf

  • thrift

  • avro

通信方式

IO模型:NIO、BIO

框架:

  • NIO自研

  • Mina

  • Netty(HSF、Dubbo、finagle等)

发布方式

zookeeper

脚本宝典总结

以上是脚本宝典为你收集整理的RPC基本介绍全部内容,希望文章能够帮你解决RPC基本介绍所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。