推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
a523
V2EX  ›  Python

现在远程调用还流行吗?

  •  1
     
  •   a523 · May 3, 2019 · 6326 views
    This topic created in 2748 days ago, the information mentioned may be changed or developed.

    我以前一直用的 restful,觉得也很不错,它能胜任我所接触到的需求。目前 python 也有很多成熟 restful 的框架。 后来,面试的时候,偶尔听到“你对远程调用熟悉吗?”。

    后来, 换了一份工作,直接领导也让我去了解下远程调用。(目前项目中还没用到,为以后打算。)

    我想了解下这两个种技术的历史,到底谁是古老技术,谁是现代流行?

    确实见目前用的多的也是 restful,如果你认为远程调用, 也用的多, 能举下例子子吗?

    也许它们的适用场景并不完全相同或重叠,你分别举下例子也行。

    24 replies  •  2019-05-05 09:36:50 +08:00
    wwwwzf
    wwwwzf
    May 3, 2019
    1
    云计算时代,你说流行不流行?
    没有什么合理不合理,适用就合理 。
    akiakiseofficial
    akiakiseofficial
    May 3, 2019 via iPhone
    2
    rpc 非常流行
    mattx
    mattx
    May 3, 2019
    3
    很流行吧, 现在云时代都流行分布式
    lincanbin
    lincanbin
    May 3, 2019 via Android❤️1
    4
    http 也是一种 rpc,只不过常用的 HTTP 1.1 浪费带宽、连接之类的资源。

    有高并发场景很容易成为瓶颈,没高并发场景就无所谓了。
    lihongjie0209
    lihongjie0209
    May 3, 2019
    5
    rpc 有代码生成, 写的是代码

    http 是拼接字符串


    至于其他的框架级别的特性要具体而言了
    mikicomo
    mikicomo
    May 3, 2019
    6
    内部项目间的互相调用,用 rpc 还是蛮爽的
    a523
    a523
    OP
    May 3, 2019
    7
    @lincanbin S3 就是 restful, 高并发没问题。
    haohello
    haohello
    May 3, 2019
    8
    跨语言调用不都是在用 rpc 的吗? 这方面数据格式传输是个大问题,大部分瓶颈就是在数据格式转换上, 大部分数据都是在内存中从一个格式转换为另一个格式然后传递给另一进程,又得经过转换的过程。

    你可以看看 Facebook Thrift, 或是 Apache Thrift, 还有就是 Protocol Buffer,FlatBuffers,Cap'n Proto 等等
    brickyang
    brickyang
    May 3, 2019 via iPhone
    9
    最近正在把 RESTful 微服务用 gRPC 重构,不用费劲吧啦设计接口和写一堆 controller,很爽。
    内部服务间用 RPC 比 RESTful 更环保。
    kevinlm
    kevinlm
    May 3, 2019
    10
    早期的 EJB 项目不就是远程调用嘛
    Pythondr
    Pythondr
    May 3, 2019 via Android
    11
    微服务时代就是搞 rpc
    autogen
    autogen
    May 4, 2019
    12
    rpc 是基础啊。。。后台服务之间内部调用全都用 rpc 的

    restful 只有几个特定的场景使用(openapi,客户端到服务端)


    -
    cyan
    cyan
    May 4, 2019
    13
    restful 也只是一种路由设计风格而已
    两个不是一个层面的概念
    比如某 dubbo 作为一个 rpc 框架支持 restful 风格的服务接口..
    lincanbin
    lincanbin
    May 4, 2019 via Android
    14
    @a523 能堆硬件肯定不会有问题。
    lincanbin
    lincanbin
    May 4, 2019 via Android
    15
    另外纠正一下:
    http 是 rpc 的一种实现,restful 在这个场景应该是指 http 协议里通信的一种设计规范……
    iwtbauh
    iwtbauh
    May 4, 2019 via Android
    16
    远程调用?是远程过程调用吧。


    @lincanbin #15

    “ http 是 rpc 的一种实现”改成“可以用 http 来实现 rpc"不是更好。因为 http 不是“ rpc 实现”,甚至不是“实现”

    @haohello #8

    当然不都是用 rpc 了。只是 rpc 用的比较多而已。
    a523
    a523
    OP
    May 4, 2019
    17
    @iwtbauh 是的, 就是说的远程过程调用,rpc
    a523
    a523
    OP
    May 4, 2019
    18
    @brickyang 不用写接口?那就得直接看代码咯。。。
    zzfly256
    zzfly256
    May 4, 2019
    19
    流行倒是真的非常流行,主要是运用在微服务方面。不过能不能用得上,要得看公司业务吧,如果公司业务并发量不够,玩远程调用反而浪费了资源
    usingnamespace
    usingnamespace
    May 5, 2019 via iPhone
    20
    @brickyang gRpc 很爽的
    usingnamespace
    usingnamespace
    May 5, 2019 via iPhone
    21
    @a523 得写 IDL
    usingnamespace
    usingnamespace
    May 5, 2019 via iPhone
    22
    微服务的时代 没有 RPC 什么都不存在 别说 http 这种字符串拼接了
    usingnamespace
    usingnamespace
    May 5, 2019 via iPhone
    23
    楼主有点落在时代后面了。。。(逃)
    wind3110991
    wind3110991
    May 5, 2019
    24
    grpc 算是 rpc 实现中的典范了,在微服务的场景下,用 grpc+pb 的传输效率比 http+json 高了很多。http 说到底也是 rpc 的一种实现,基于这个协议来用 xml、json 等等来简单交换数据;
    楼主可以多了解一下,个人觉得其实当前还在用 python 来做主业务逻辑开发的公司,真的相对有点落伍了,怎么都得来个 gin ( golang )或者 springcloud ( java )了;
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3547 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 05:36 · PVG 13:36 · LAX 21:36 · JFK 00:36
    ♥ Do have faith in what you're doing.