随手 笔记

什么是RPC
是一个跨进程的方法间调用
是一个计算机通信协议
特点:
通过网络,比如http,tcp(socket)
数据格式可扩展
传输方式可扩展
协议:
序列化,反序列化
实现
需要传递的参数:类,方法名,方法参数类型,入参
对于服务提供者:
提供服务接口和实现类
注册服务
暴露服务(通过netty,vertx,tomcat,jetty等)
不足:
对于使用JDK动态代理方式实现,客户端和服务端都依赖接口,相比于http提供的rest请求,客户端和服务端没有完全解耦

一个RPC调用实现过程分析
需要解决什么问题?

  1. 能够调用到服务端提供的接口实现类,此处可以使用反射
public interface HelloService {
  String sayHello(String name);
}

public class HelloServiceImpl implements HelloService {
  @Override
  public String sayHello(String name) {
    return "hello" + name;
  }
}
  1. RPC调用本质是一个网络请求,服务端应该怎么暴露服务,可以通过tomcat,netty,vertx,jetty等方式暴露

对于服务端:
暴露服务,让客户端能进行访问

对于客户端:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值