Swoft 基于 Swoole 扩展实现的 PHP 微服务协程框架

Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。

有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。

Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。

Swoft 基于 Swoole 扩展实现的 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 NamePackagist 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 NamePackagist 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

回到顶部