PHP微服务开发框架和开发体系
腾讯Tars
Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。
- 官网:https://tars.tencent.com/base/tars_index/cn/index.html
- 项目地址:https://gitee.com/TarsCloud/TarsPHP
- 产品介绍:https://www.oschina.net/news/108987/tars-php-the-road
PHP-msf
PHP-msf是Camera360社区服务器端团队基于Swoole自主研发现代化的PHP协程服务框架,是Swoole的工程级企业应用框架,经受了Camera360自拍相机亿级用户高并发大流量的考验。
Swoft
Swoft是基于swoole协程2.x的高性能PHP微服务框架,内置http服务器。框架全协程实现,性能优于传统的php-fpm模式。
Hyperf
Hyperf是基于 Swoole 4.4+ 实现的高性能、高灵活性的PHP协程框架,内置协程服务器及大量常用的组件,性能较传统基于PHP-FPM的框架有质的提升。
框架组件库除了常见的协程版的 MySQL 客户端、Redis 客户端,还提供了协程版的 Eloquent ORM、WebSocket 服务端及客户端、JSON RPC 服务端及客户端、GRPC 服务端及客户端、Zipkin/Jaeger (OpenTracing) 客户端、Guzzle HTTP 客户端、Elasticsearch 客户端、Consul 客户端、ETCD 客户端、AMQP 组件、Apollo配置中心、阿里云ACM 应用配置管理、ETCD 配置中心、基于令牌桶算法的限流器、通用连接池、熔断器、Swagger 文档生成、Swoole Tracker、Blade 和 Smarty 视图引擎、Snowflake 全局ID生成器 等组件,省去了自己实现对应协程版本的麻烦。
Swoole 框架的真香
Swoole 是一种常驻内存进程 Reactor 模式的框架。
支持 Swoole 的 Web 框架:
- Laravel-Swoole https://github.com/swooletw/laravel-swoole
- Laravel-S https://github.com/hhxsv5/laravel-s
- Swoft https://github.com/swoft-cloud/swoft
- Hyperf https://github.com/hyperf/hyperf
- EasySwoole https://github.com/easy-swoole/easyswoole
1 和 2 可以让 Swoole 支持 Laravel 框架;个人更倾向于 Hyperf;Swoft 很好,但也很重,如果要使用Swoft,不如考虑换个技术栈,比如 Java 或 Python。