跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于 dubbo 的 rpc
未分類
10 4 月 2020

关于 dubbo 的 rpc

关于 dubbo 的 rpc

資深大佬 : zxc1234 16

最近在学习 dubbo,一个分布式服务治理框架(废话)

为什么要用 RPC 协议来实现呢?

RPC 跟 http 有什么区别呢,比较起来有什么优缺点呢

怎么学习 RPC 比较好呢。。。

大佬有話說 (32)

  • 資深大佬 : IamNotShady

    RPC (远程过程调用),HTTP 只是实现 RPC 的一种方式,这俩东西概念完全不在同一个层次,没啥可比较的,好多初学者都没搞清楚这个。

  • 主 資深大佬 : zxc1234

    @IamNotShady http 其实也可以实现通信,那么为什么还需要 rpc 呢

  • 資深大佬 : IamNotShady

    @zxc1234 我说的你没理解到意思啊 你可以把 RPC 理解成 REST 规范,实现 REST 的方式呢有很多,每个人对 rest 的理解也不同 在 RPC 领域也是一样 RMI 私有制协议(dubbo 、grpc) feign( http 协议) 这些都是实现 rpc 的一种方式 所以我说不要把 RPC 和 HTTP 放到一起比较

  • 資深大佬 : lasuar

    1. RPC 能让调用远程服务像调用普通函数一样简单
    2. RPC 基于长连接通信,省去每次使用 HTTP1.0/1.1 的握手开销

  • 資深大佬 : zooo

    ˜赞同 1l

    rpc 是个比较宽泛的概念

    http 是一种具体的实现方式

  • 資深大佬 : IamNotShady

    @lasuar 基于 HTTP 协议也可以实现 RPC !

  • 資深大佬 : IamNotShady

    用来做 RPC 也只是 HTTP 的一种用途

  • 資深大佬 : lasuar

    @IamNotShady 是的,我可能没表达清楚。RPC 其实是分布式系统中催生的产物,它是一种调用概念。HTTP 是协议,RPC 可以基于 HTTP2.0 实现。

  • 主 資深大佬 : zxc1234

    @lasuar

    1. RPC 能让调用远程服务像调用普通函数一样简单

    这句话怎么理解,http 不能像调用函数一样调用吗?能举个例子吗

  • 主 資深大佬 : zxc1234

    @IamNotShady 像 dubbo 的 rpc 应该不是基于 http 实现的吧?

  • 資深大佬 : IamNotShady

    @zxc1234 基于 TCP 实现的私有制协议

  • 資深大佬 : hallDrawnel

    理解一下 Remote Procedure Call 的意思就好了。远程过程调用。所以你可用 HTTP 协议来实现远程过程调用,对吧?同样的你也可以用其他协议来实现。

  • 資深大佬 : IamNotShady

    @zxc1234 你先了解下 netty 再去看看 dubbo 源码就都明白了

  • 主 資深大佬 : zxc1234

    @IamNotShady 跟 socket 连接有关系?

  • 資深大佬 : lasuar

    @zxc1234 你先敲一个 dubbo 的 demo

  • 資深大佬 : IamNotShady

    @zxc1234 对呀 所以性能比 http 协议好

  • 資深大佬 : Sayommy

    @zxc1234 Dubbo 可以选用 Http 作为通信协议,支持的协议可以看 org.apache.dubbo.rpc.protocol 包,也可以自己继承 AbstractProxyProtocol 接入私有协议。

  • 主 資深大佬 : zxc1234

    @IamNotShady socket 是 TCP/IP 协议的 API 接口,我可以这么理解?

  • 資深大佬 : zchlwj

    @zxc1234 #9 原文:“@lasuar 1. RPC 能让调用远程服务像调用普通函数一样简单这句话怎么理解,http 不能像调用函数一样调用吗?能举个例子吗”
    ======
    回复: http(restful 风格)就是 rpc 的一种啊?

  • 主 資深大佬 : zxc1234

    @lasuar 敲了,java 版本的

  • 資深大佬 : zchlwj

    @zxc1234 #10 原文:“@IamNotShady 像 dubbo 的 rpc 应该不是基于 http 实现的吧?”
    ======
    回复:grpc 就是基于 http2 实现的。dubbo 有好几种协议

  • 資深大佬 : IamNotShady

    @zxc1234 严格来说应该是传输层的抽象

  • 主 資深大佬 : zxc1234

    @IamNotShady 大佬 能推荐一些 netty,dubbo,socket,rpc 相关的学习资料吗

  • 資深大佬 : IamNotShady

    @zxc1234 知识都在代码里 dubbo 太重 读它的源码容易找不到北 你可以在 github 搜下 Jupiter 这个项目

  • 資深大佬 : lasuar

    @zxc1234
    @zchlwj
    我用的 grpc,dubbo 应该差不多。使用之前先定义服务方要提供服务的函数签名,意思就是定义函数名,入参出参具体格式,然后框架自带的工具会帮你生成对应的服务端和客户端代码,客户端直接 import 对应服务的客户端代码,实际调用时就是:resp,err = someServiceMethod(arg1,arg2),是不是和调用本地函数一样?

  • 資深大佬 : otakustay

    其实不为了浏览器,HTTP ( 1.1 )在 RPC 里是很没效率的一个选择

  • 資深大佬 : leafre

    应该说的是 TCP 和 HTTP 区别

  • 資深大佬 : fanjianhang

    不是同个概念,主误解了

  • 資深大佬 : yeqizhang

    你可以对两者进行比较,但不能说优缺点……因为应用场景不同没啥好说优缺点的……rpc 的实现包括使用 http 来进行客户端和服务端之间通信,早期的 web service 不知道你有没有使用过?

  • 主 資深大佬 : zxc1234

    @yeqizhang web service 我没用过

  • 資深大佬 : Jooooooooo

    建议极客时间找个课学一下

  • 資深大佬 : Pythondr

    RPC 通信开销小,效率高

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具