PHP微服务开发指南
# 开发框架
目前PHP相关的微服务框架不多,基本上都是基于Swoole开发, 下面介绍几种网络上信息相对较多的几款PHP微服务开发框架。
# 腾讯Tars
Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。
- 官网:https://tars.tencent.com/base/tars_index/cn/index.html (opens new window)
- 项目地址:https://gitee.com/TarsCloud/TarsPHP (opens new window)
- 产品介绍:https://www.oschina.net/news/108987/tars-php-the-road (opens new window)
# PHP-msf
PHP-msf是Camera360社区服务器端团队基于Swoole自主研发现代化的PHP协程服务框架,是Swoole的工程级企业应用框架,经受了Camera360自拍相机亿级用户高并发大流量的考验。
- 产品说明:https://www.oschina.net/p/php-msf (opens new window)
- 项目地址:https://github.com/pinguo/php-msf-docs (opens new window)
# Swoft
Swoft是基于swoole协程2.x的高性能PHP微服务框架,内置http服务器。框架全协程实现,性能优于传统的php-fpm模式。
- 官网:https://www.swoft.org/ (opens new window)
- 文档:https://www.swoft.org/docs (opens new window)
- 项目地址:https://github.com/swoft-cloud/swoft (opens new window)
# 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生成器
等组件,省去了自己实现对应协程版本的麻烦。
- 官网:https://www.hyperf.io/ (opens new window)
- 文档:https://doc.hyperf.io (opens new window)
- 项目地址:https://github.com/hyperf-cloud/hyperf (opens new window)
# 开发体系
最后,总结附一张PHP微服务开发体系思维导图,因为作者也在学习微服务架构,所以不是很全面,仅供参考: