你们公司一般都用哪个 RPC 框架还是自己的轮子? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
twogoods
V2EX    程序员

你们公司一般都用哪个 RPC 框架还是自己的轮子?

  •  
  •   twogoods 2016-12-01 16:13:10 +08:00 7154 次点击
    这是一个创建于 3240 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言    2016-12-01 16:47:05 +08:00
    有人说光抛问题不说场景,我知错,然后我真的只是想了解你们用的啥挑一个研究下, rpc 以前没碰过.....
    26 条回复    2016-12-03 20:40:21 +08:00
    update
        1
    update  
       2016-12-01 16:21:22 +08:00
    yar
    gemini
        2
    gemini  
       2016-12-01 16:27:44 +08:00
    都有吧。公司内部都有好多框架,开源的也很多,主要还是看业务场景吧。

    //楼主光抛问题不分享自己的场景,噻~~
    crytis
        3
    crytis  
       2016-12-01 16:45:09 +08:00 via iPhone
    改装的 dubbo
    jlak0106
        4
    jlak0106  
       2016-12-01 16:50:59 +08:00
    dubbo
    VeryEase
        5
    VeryEase  
       2016-12-01 16:51:50 +08:00
    我来看看有多少人用 grpc 的......
    0915240
        6
    0915240  
       2016-12-01 16:53:04 +08:00
    @VeryEase 上次弄了下 没搞好。
    murmur
        7
    murmur  
       2016-12-01 16:56:42 +08:00
    xmlrpc
    9hills
        8
    9hills  
       2016-12-01 17:00:28 +08:00
    某个模块, thrift ,大约几万 qps
    orderc
        9
    orderc  
       2016-12-01 19:13:06 +08:00
    php-yar
    Tom008
        10
    Tom008  
       2016-12-01 20:27:17 +08:00 via iPhone
    thrift
    sagaxu
        11
    sagaxu  
       2016-12-01 21:30:35 +08:00 via Android
    rpc 作为经典的 KPI 项目,而且难度小容易实现,轮子必须非常多
    zuoxiaomo
        12
    zuoxiaomo  
       2016-12-01 21:44:07 +08:00
    自己早的轮子呀
    zuoxiaomo
        13
    zuoxiaomo  
       2016-12-01 21:45:14 +08:00
    @Tom008 thrift 还是不错的,之前公司的一个产品用的就是这套
    gouchaoer
        14
    gouchaoer  
       2016-12-01 21:49:07 +08:00 via Android
    用 yar 的我问一下,我一直不明白 rpc 调用对 http api 的优势在哪里。。。。
    你们觉得 yar 的那个 php-cli 开着一个命令行的 php server 靠谱么,既然 yar 也是用的 http ,那速度和我直接正常的写个 http api 没有区别啊,而且 http api 还更成熟
    crossoverJie
        15
    crossoverJie  
       2016-12-01 21:55:23 +08:00
    用 dubbo 的还是挺多的 我们用 dubbo 和 thrift
    sagaxu
        16
    sagaxu  
       2016-12-02 06:51:34 +08:00 via Android
    @gouchaoer cli 起的服务,相比 fpm 这种更容易实现 php 层面的持久化,比如说你框架有 200 行 php 的初始化逻辑, fpm 方式下每个 http 请求都要初始化一下, cli 起的只要初始化一次。未来的 PHP 或许会渐渐淘汰 fpm 这种方式,每个请求都简单粗暴重来一次已经越来越跟不上时代了。
    orderc
        17
    orderc  
       2016-12-02 09:12:52 +08:00
    @gouchaoer 场景不同, yar 用于内部系统服务化,远程类直接当做本地类使用,调用方便。 http api 提供给外部调用,通常需要认证。
    gouchaoer
        18
    gouchaoer  
       2016-12-02 09:31:21 +08:00
    @sagaxu
    @orderc
    内部系统那也撑不住大流量啊,你想那只是一个单进程 php-cli ,而 php-cli 长期驻内存稳定性不好说。

    而且 php-cli 的 socket 做的 server , workerman 、 swooole 之类的,性能并不一定比 php-fpm 的强:

    http://rango.swoole.com/archives/254

    所以说就算本地内部使用,你没 log ,没并发,没负载均衡,没阻塞,没失败从启,那用 yar 之类的 rpc 我也没看到啥优势。。。无非就是函数调用更接近语言本身,还有就是传输的内容压缩过,但是这 2 点根本不是痛点,所以依然搞不懂 rpc 的优势在哪里
    orderc
        19
    orderc  
       2016-12-02 09:46:50 +08:00
    @gouchaoer yar 是基于 curl ,写的程序和普通 PHP 程序一样,由 php-fpm 执行,不需要 php-cli ,和 workerman 、 swoole 等需长驻内存的不一样。
    sagaxu
        20
    sagaxu  
       2016-12-02 10:16:58 +08:00
    @gouchaoer yaf 是 C 写的,框架本身是常驻内存的, swoole 框架只有底层核心部分是 C 写的,上层还有 php ,所以两者性能上面差距不大。而 yii 是纯 php 框架里最快的之一,它却比那两个慢好几倍,这正是常驻内存的价值体现。

    除了框架自身开销,我们还会有一堆业务上的初始化逻辑,这是 fpm 的梦靥,除非你业务逻辑初始化也用 C 做成扩展。

    cli 也不一定是单进程,比如 swoole 可以开多进程,充分利用多核性能。 qps 过万的时候,甚至连同机房 redis 的访问都嫌慢。

    至于 cli 常驻靠不靠谱,我觉得可能不如 python/Java 这样经过十年以上检验的可靠,但是 php 不也一直在改善么?
    gouchaoer
        21
    gouchaoer  
       2016-12-02 10:27:15 +08:00
    @sagaxu 好吧,我一直以为 yaf 是运行在 php-fpm 内部的,那 yaf 本质上是和 swoole 和 yar 一样是 php-cli 的应用了……我小厂还是老实 yii 吧,流量达不到那么大,驾驭不了
    lane3000
        22
    lane3000  
       2016-12-02 11:33:32 +08:00
    内部服务 dubbo ,对客户端 grpc
    z5864703
        23
    z5864703  
       2016-12-02 15:37:54 +08:00
    Mark 学习
    janxin
        24
    janxin  
       2016-12-02 19:30:44 +08:00 via iPhone
    grpc
    arden
        25
    arden  
       2016-12-03 10:17:05 +08:00
    hprose 怎么没人提呢
    wsbnd9
        26
    wsbnd9  
       2016-12-03 20:40:21 +08:00
    thrift 或者 google 的 grpc
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1010 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:29 PVG 02:29 LAX 11:29 JFK 14:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86