Mix PHP V2.2 发布,与 go-micro 深度集成的 PHP 微服务开发框架 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
onanying
V2EX    PHP

Mix PHP V2.2 发布,与 go-micro 深度集成的 PHP 微服务开发框架

  •  
  •   onanying 2020-05-27 12:33:35 +08:00 3144 次点击
    这是一个创建于 2031 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Mix PHP 是一个基于 Swoole 开发的高性能 PHP 框架,从 2017 年开始经过多年发展收获了很多中小型团队的支持,框架版本也经历了多个版本的迭代:

    • V1.*: 基于 Swoole 的常驻内存型 PHP 高性能框架
    • V2.0: 基于 Swoole 的 FastCGI 、常驻内存、协程三模 PHP 高性能框架
    • V2.1: 基于 Swoole 4.4+ 单线程协程 PHP 框架
    • V2.2: 基于 Swoole 4.4+ 单线程协程 PHP 微服务框架

    微服务开发

    本次版本更新主要是增加微服务开发相关的组件与开发骨架,从上一次 Mix V2.1 非常激进的切换为单线程协程后 [为何从 Reactor+Manager+Worker 多进程改为单线程协程],Mix V2.2 在微服务方面也非常激进的选择了和其他 Swoole 框架截然不同的路径:与 go-micro 微服务生态深度集成,借用 golang 微服务生态的治理工具

    Mix Micro

    在很多 Swoole 框架自建微服务生态的时候,我认为微服务生态要是能与主流生态直接无缝通信可能更具有实用价值,Mix 从 V2.1 开始完全切换为单线程协程,这一特性非常适合微服务的打造,同时 Mix 一直都是 Go 风格框架,因此我决定将微服务融入 go-micro 生态,让 Mix 框架用户能与 go-micro 编写的微服务直接代码级无缝通信,并且能直接使用 go-micro 运行时工具包的网关、代理、Dashboard 等全部微服务治理基础设施,让 PHP 与 Go 能一起开发高性能微服务,取长补短。

    • Mix Micro:动态语言,开发效率高,view 模板渲染更加适合,单线程协程没有锁的烦恼,try/catch 不用忍受 go 大量 err 处理的烦恼,更加完善的 OOP 让业务封装更加人性。
    • Go Micro:静态语言,编译时即可过滤大量代码问题,CPU 密集型计算更加擅长,原生的协程库生态更加丰富。

    基于以上 Mix 打造了可独立使用的Mix Micro同时还提供了包含大量代码的Mix Micro Skeleton微服务开发骨架。

    Mix gRPC

    在 gRPC 方面,由于 phpgrpc 官方的局限性导致 PHP 在 gRPC 中一直都是充当 Client 的角色,Mix gRPC 试图改变这一现状,我们提供了 grpc 官方类似的 protoc 插件,能根据 .proto 直接生成基于 Swoole 的 PHP gRPC Server/Client 代码 (官方只能生成 Client 代码,并且不支持协程),使 PHP 具有与 go-micro 具有同样的微服务编程体验。

    • Mix gRPC:基于 Swoole 协程的 gRPC 类库,包含 protoc 代码生成器、服务器、客户端

    更新详情

    Added

    • 增加 mix/micro 与 go-micro 生态深度集成的 php 微服务开发框架
    • 增加 mix/grpc 类库,包含 protoc 代码生成器、服务器、客户端
    • 增加 mix/tracing 、mix/tracing-zipkin 符合 opentracing 标准的调用链追踪库
    • 增加 mix/micro-hystrix 微服务熔断器
    • 增加 mix/micro-etcd 基于 Etcd 的服务注册中心、配置中心
    • 增加 mix/monolog 取代之前自主研发的日志库,并扩展了控制台打印的功能

    Improved

    • 强化 mix/json-rpc 支持微服务调用
    • 修改 mix/database 、mix/redis 、mix/sync-invoke 的连接池为内置,使用更加简单
    5 条回复    2020-06-11 17:17:23 +08:00
    onanying
        1
    onanying  
    OP
       2020-05-27 18:58:05 +08:00
    这几年, V2EX 人气下降啊,竟然没有一个人喷我。
    akagishigeru
        2
    akagishigeru  
       2020-05-27 20:33:27 +08:00 via iPhone
    php 已经不能引起注意了
    haohappy
        3
    haohappy  
       2020-05-27 21:27:05 +08:00   1
    有了 es 和 swoft 的遭遇~现在都不敢和你们玩了
    onanying
        4
    onanying  
    OP
       2020-05-28 14:20:25 +08:00
    @JaguarJack 难道我后知后觉?感觉依然是吃饭的家伙啊。
    basstk
        5
    basstk  
       2020-06-11 17:17:23 +08:00
    关注一下,有些人不看好 php,不过 PHP 已经 25 年了,可以做各种类型的项目,不只是 web.我看好你
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1208 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 17:39 PVG 01:39 LAX 09:39 JFK 12:39
    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