Swoft 基于 Swoole 扩展实现的 PHP 微服务协程框架
Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。
有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。
Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。
框架特性
首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。
协程框架
Swoft 是首个基于 Swoole 原生协程的注解式框架,自带常驻内存以及 Swoole 其它功能的封装。
连接池
框架自带 Mysql/Redis/Rpc 高效连接池,且实现所有连接断线重连。开发者不用关心连接池,相应组件已经实现。
切面编程
框架容器管理的所有对象,都可以使用 AOP。使用AOP 可以使用在不改变实例内部的情况下,对实例对象的行为进行控制。
RPC
RPC 服务分为 RPC Server 和 RPC Client,框架提供了类似 Dubbo 更为优雅的方式使用 RPC 服务
数据库
数据提供模型 和 Builder 两种方式操作,数据库的封装高度兼容 Laravel,方便 Phper 快速切换到 Swoft
微服务
Swoft 完美与 Istio/Envoy 等 Service mesh 框架契合,同时还为中小型提供一套快速构建微服务治理组件,包括服务注册与发现、服务熔断、服务限流,以及配置中心。
功能特色
- 内置高性能网络服务器(Http/Websocket/RPC/TCP)
- 灵活的组件功能
- 强大的注解功能
- 多样化的命令终端(控制台)
- 强大的面向切面编程(AOP)
- 容器管理,依赖注入(DI)
- 灵活的事件机制
- 基于PSR-7的HTTP消息的实现
- 基于PSR-14的事件管理
- 基于PSR-15的中间件
- 国际化(i18n)支持
- 简单有效的参数验证器
- 高性能连接池(Mysql/Redis/RPC),自动重新连接
- 数据库高度兼容Laravel的使用方式
- Redis高度兼容Laravel的使用方式
- 秒级定时任务
- 进程池
- 高效的任务处理
- 灵活的异常处理
- 强大的日志系统
- 服务注册与发现
- 配置中心
- 服务限流
- 服务降级
- 服务熔断
- Apollo
- Consul
安装
Composer
composer create-project swoft/swoft swoft
开始启动
Http server
[root@swoft swoft]# php bin/swoft http:start
WebSocket server
[root@swoft swoft]# php bin/swoft ws:start
RPC server
[root@swoft swoft]# php bin/swoft rpc:start
核心组件
Component Name | Packagist Version |
---|---|
swoft-annotation | |
swoft-config | |
swoft-db | |
swoft-framework | |
swoft-i18n | |
swoft-proxy | |
swoft-rpc-client | |
swoft-stdlib | |
swoft-tcp-server | |
swoft-aop | |
swoft-connection-pool | |
swoft-error | |
swoft-http-message | |
swoft-log | |
swoft-redis | |
swoft-rpc-server | |
swoft-task | |
swoft-validator | |
swoft-bean | |
swoft-console | |
swoft-event | |
swoft-http-server | |
swoft-process | |
swoft-rpc | |
swoft-server | |
swoft-tcp | |
swoft-websocket-server |
扩展组件
Component Name | Packagist Version |
---|---|
swoft-apollo | |
swoft-breaker | |
swoft-cache | |
swoft-crontab | |
swoft-consul | |
swoft-limiter | |
swoft-view | |
swoft-whoops | |
swoft-session |
项目地址:https://github.com/swoft-cloud/swoft
以上是 Swoft 基于 Swoole 扩展实现的 PHP 微服务协程框架 的全部内容, 来源链接: utcz.com/p/233641.html