RPC原理和使用到的相关技术

RPC:远程进程调用:

几种比较典型的RPC实现和调用框架(注意:不是开发框架):

1:RMI:利用Java.rmi包实现的,基于Java远程方法协议和原生Java序列化实现。

2:hession:一共轻量级的remoting onhttp工具,使用简单的方法提供了RMI功能,基于http协议。

3:thrift:是一种可伸缩的跨语言服务的框架。

RPC框架实现原理:

在框架中主要有三个角色,provider,consumer,registry

RPC使用到的技术:

1:动态代理:生成client stub和server stub需要用到Java动态代理技术。可以使用JDK原生的动态代理机制。也可以使用开源的字节码工具,比如cglib,javassist. 。

2:序列化:为了能在网络上传输和接收Java对象,需要进行序列化和反序列化操作。序列化就是将Java对象转换成byte[]的过程,也就是编码的过程。反序列化就是将byte[]转换成Java对象的过程,也就是解码。Java原生的序列化机制可以用,但是效率低,推荐使用开源的成熟的序列化技术,比如protobuf、Thrift、hessian 。

3:nio:很多RPC框架都直接用netty这个框架。

4:服务注册中心:Redis,ZK,consul,etcd。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值