Mix PHP 是一个基于 Swoole 开发的高性能 PHP 框架,从 2017 年开始经过多年发展收获了很多中小型团队的支持,框架版本也经历了多个版本的迭代:
本次版本更新主要是增加微服务开发相关的组件与开发骨架,从上一次 Mix V2.1 非常激进的切换为单线程协程后 [为何从 Reactor+Manager+Worker 多进程改为单线程协程],Mix V2.2 在微服务方面也非常激进的选择了和其他 Swoole 框架截然不同的路径:与 go-micro 微服务生态深度集成,借用 golang 微服务生态的治理工具
在很多 Swoole 框架自建微服务生态的时候,我认为微服务生态要是能与主流生态直接无缝通信可能更具有实用价值,Mix 从 V2.1 开始完全切换为单线程协程,这一特性非常适合微服务的打造,同时 Mix 一直都是 Go 风格框架,因此我决定将微服务融入 go-micro 生态,让 Mix 框架用户能与 go-micro 编写的微服务直接代码级无缝通信,并且能直接使用 go-micro 运行时工具包的网关、代理、Dashboard 等全部微服务治理基础设施,让 PHP 与 Go 能一起开发高性能微服务,取长补短。
基于以上 Mix 打造了可独立使用的 Mix Micro 同时还提供了包含大量代码的 Mix Micro Skeleton 微服务开发骨架。
在 gRPC 方面,由于 phpgrpc 官方的局限性导致 PHP 在 gRPC 中一直都是充当 Client 的角色,Mix gRPC 试图改变这一现状,我们提供了 grpc 官方类似的 protoc 插件,能根据 .proto 直接生成基于 Swoole 的 PHP gRPC Server/Client 代码 (官方只能生成 Client 代码,并且不支持协程),使 PHP 具有与 go-micro 具有同样的微服务编程体验。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.