什么是RPC

RPC(远程服务调用)在分布式环境中实现服务间调用。本文介绍了RPC的基本概念、Java中的序列化与反序列化,以及RPC面临的问题和解决方案。特别讨论了DUBBO在服务调用、服务注册与发现、服务治理等方面的作用。
摘要由CSDN通过智能技术生成

目录

 

RPC定义

RPC的相关问题

DUBBO


RPC定义

RPC就是远程服务调用(Remote Procedure Call),这在分布式环境中就是调用一个服务的事情.你可以理解为,一个复杂的Service实现,在公司里已经有人做过了,而你需要的,就是去调用他写好的服务,这就是RPC.分布式就是一个业务需要通过两个服务器完成,也就是远程服务调用.这和集群的概念可不一样,集群是表示的是多个服务器拥有同一个服务,消费者调用任何一个都可以.

消费者是什么?顾客就是上帝?不不不,消费者和用户在RPC中是两个概念,消费者指代的是调用服务的人,也就是程序员,而提供服务的人叫生产者.这个消费者和生产者,其实也就是程序罢了.

RPC在Java层面来讲,是一个服务器去访问另一个服务器,所以一定会涉及到对象的序列化和反序列化,什么是序列化和反序列化?其实就是把对象解析成字节流,然后通过网络发送过去,毕竟网络通信不识别对象.

所以序列化是对象转为字节流,反序列化是字节流转为对象.而两个服务之间的通信,有多种选择.比如说多线程阻塞式的bio通信,单线程的通道轮询NIO,还有单线程异步的aio.目前比较成熟的是基于NIO的netty框架.值得注意的是,两个服务器内部的通信不需要遵守http协议,目前采用gRPC.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值