1 update 2016-12-01 16:21:22 +08:00 yar |
2 gemini 2016-12-01 16:27:44 +08:00 都有吧。公司内部都有好多框架,开源的也很多,主要还是看业务场景吧。 //楼主光抛问题不分享自己的场景,噻~~ |
![]() | 3 crytis 2016-12-01 16:45:09 +08:00 via iPhone 改装的 dubbo |
4 jlak0106 2016-12-01 16:50:59 +08:00 dubbo |
5 VeryEase 2016-12-01 16:51:50 +08:00 我来看看有多少人用 grpc 的...... |
![]() | 7 murmur 2016-12-01 16:56:42 +08:00 xmlrpc |
![]() | 8 9hills 2016-12-01 17:00:28 +08:00 某个模块, thrift ,大约几万 qps |
![]() | 9 orderc 2016-12-01 19:13:06 +08:00 php-yar |
10 Tom008 2016-12-01 20:27:17 +08:00 via iPhone thrift |
![]() | 11 sagaxu 2016-12-01 21:30:35 +08:00 via Android rpc 作为经典的 KPI 项目,而且难度小容易实现,轮子必须非常多 |
![]() | 12 zuoxiaomo 2016-12-01 21:44:07 +08:00 自己早的轮子呀 |
![]() | 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 还更成熟 |
![]() | 15 crossoverJie 2016-12-01 21:55:23 +08:00 用 dubbo 的还是挺多的 我们用 dubbo 和 thrift |
![]() | 16 sagaxu 2016-12-02 06:51:34 +08:00 via Android @gouchaoer cli 起的服务,相比 fpm 这种更容易实现 php 层面的持久化,比如说你框架有 200 行 php 的初始化逻辑, fpm 方式下每个 http 请求都要初始化一下, cli 起的只要初始化一次。未来的 PHP 或许会渐渐淘汰 fpm 这种方式,每个请求都简单粗暴重来一次已经越来越跟不上时代了。 |
![]() | 17 orderc 2016-12-02 09:12:52 +08:00 @gouchaoer 场景不同, yar 用于内部系统服务化,远程类直接当做本地类使用,调用方便。 http api 提供给外部调用,通常需要认证。 |
![]() | 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 的优势在哪里 |
![]() | 19 orderc 2016-12-02 09:46:50 +08:00 @gouchaoer yar 是基于 curl ,写的程序和普通 PHP 程序一样,由 php-fpm 执行,不需要 php-cli ,和 workerman 、 swoole 等需长驻内存的不一样。 |
![]() | 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 不也一直在改善么? |
![]() | 21 gouchaoer 2016-12-02 10:27:15 +08:00 @sagaxu 好吧,我一直以为 yaf 是运行在 php-fpm 内部的,那 yaf 本质上是和 swoole 和 yar 一样是 php-cli 的应用了……我小厂还是老实 yii 吧,流量达不到那么大,驾驭不了 |
![]() | 22 lane3000 2016-12-02 11:33:32 +08:00 内部服务 dubbo ,对客户端 grpc |
23 z5864703 2016-12-02 15:37:54 +08:00 Mark 学习 |
![]() | 24 janxin 2016-12-02 19:30:44 +08:00 via iPhone grpc |
![]() | 25 arden 2016-12-03 10:17:05 +08:00 hprose 怎么没人提呢 |
![]() | 26 wsbnd9 2016-12-03 20:40:21 +08:00 thrift 或者 google 的 grpc |