mysql连接池永驻_swoft: 首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 I...

300

beta-v1.0.0-green.svg?maxAge=2592000

swoft.svg?branch=master

php-%3E=7.0-brightgreen.svg?maxAge=2592000

swoole-%3E=2.1.3-brightgreen.svg?maxAge=2592000

hiredis-%3E=0.1-brightgreen.svg?maxAge=2592000

docs-passing-green.svg?maxAge=2592000

plug.svg?maxAge=2592000

简介

首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈组件化框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield,有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。

基于 Swoole 扩展

内置协程 HTTP, TCP, WebSocket 网络服务器

强大的 AOP (面向切面编程)

灵活完善的注解功能

全局的依赖注入容器

基于 PSR-7 的 HTTP 消息实现

基于 PSR-14 的事件管理器

基于 PSR-15 的中间件

基于 PSR-16 的缓存设计

可扩展的高性能 RPC

完善的服务治理,熔断,降级,负载,注册与发现

数据库 ORM

通用连接池

协程 Mysql, Redis, RPC, HTTP 客户端

协程和同步阻塞客户端无缝自动切换

协程、异步任务投递

自定义用户进程

RESTful 支持

国际化(i18n)支持

高性能路由

快速灵活的参数验证器

别名机制

强大的日志系统

跨平台热更新自动 Reload

文档

QQ 交流群: 548173319

环境要求

安装

手动安装

Clone 项目

安装依赖 composer install

Composer 安装

composer create-project swoft/swoft swoft

Docker 安装

docker run -p 80:80 swoft/swoft

Docker-Compose 安装

cd swoft

docker-compose up

配置

若在执行 composer install 的时候由程序自动复制环境变量配置文件失败,则可手动复制项目根目录的 .env.example 并命名为 .env,注意在执行 composer update 时并不会触发相关的复制操作

# Server

PFILE=/tmp/swoft.pid

PNAME=php-swoft

TCPABLE=true

CRONABLE=false

AUTO_RELOAD=true

# HTTP

HTTP_HOST=0.0.0.0

HTTP_PORT=80

# WebSocket

WS_ENABLE_HTTP=true

# TCP

TCP_HOST=0.0.0.0

TCP_PORT=8099

TCP_PACKAGE_MAX_LENGTH=2048

TCP_OPEN_EOF_CHECK=false

# Crontab

CRONTAB_TASK_COUNT=1024

CRONTAB_TASK_QUEUE=2048

# Settings

WORKER_NUM=1

MAX_REQUEST=10000

DAEMONIZE=0

DISPATCH_MODE=2

LOG_FILE=@runtime/swoole.log

TASK_WORKER_NUM=1

管理

帮助命令

[root@swoft]# php bin/swoft -h

____ __ _

/ ___|_ _____ / _| |_

\___ \ \ /\ / / _ \| |_| __|

___) \ V V / (_) | _| |_

|____/ \_/\_/ \___/|_| \__|

Usage:

php bin/swoft {command} [arguments ...] [options ...]

Commands:

entity The group command list of database entity

gen Generate some common application template classes

rpc The group command list of rpc server

server The group command list of http-server

ws There some commands for manage the webSocket server

Options:

-v, --version show version

-h, --help show help

HTTP Server启动

是否同时启动RPC服务器取决于.env文件配置

// 启动服务,根据 .env 配置决定是否是守护进程

php bin/swoft start

// 守护进程启动,覆盖 .env 守护进程(DAEMONIZE)的配置

php bin/swoft start -d

// 重启

php bin/swoft restart

// 重新加载

php bin/swoft reload

// 关闭服务

php bin/swoft stop

WebSocket Server启动

启动WebSocket服务器,可选是否同时支持http处理

// 启动服务,根据 .env 配置决定是否是守护进程

php bin/swoft ws:start

// 守护进程启动,覆盖 .env 守护进程(DAEMONIZE)的配置

php bin/swoft ws:start -d

// 重启

php bin/swoft ws:restart

// 重新加载

php bin/swoft ws:reload

// 关闭服务

php bin/swoft ws:stop

RPC Server启动

启动独立的RPC服务器

// 启动服务,根据 .env 配置决定是否是守护进程

php bin/swoft rpc:start

// 守护进程启动,覆盖 .env 守护进程(DAEMONIZE)的配置

php bin/swoft rpc:start -d

// 重启

php bin/swoft rpc:restart

// 重新加载

php bin/swoft rpc:reload

// 关闭服务

php bin/swoft rpc:stop

更新日志

协议

Swoft 的开源协议为 Apache-2.0,详情参见LICENSE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hyperf v2.1.4更日志修复 #3165 修复方法 HyperfDatabaseSchemaMySqlBuilder::getColumnListing 在 MySQL 8.0 版本中无法正常使用的问题。 #3174 修复 hyperf/database 组件中 where 语句因为不严谨的代码编写,导致被绑定参数会被恶意替换的问题。 #3179 修复 json-rpc 客户端因对端服务重启,导致接收数据一直异常的问题。 #3189 修复 kafka 在集群模式下无法正常使用的问题。 #3191 修复 json-rpc 客户端因对端服务重启,导致连接池中的连接部失效,的请求进来时,首次使用皆会报错的问题。 增 #3170 为 hyperf/watcher 组件增了更加友好的驱动器 FindNewerDriver,支持 Mac Linux 和 Docker。 #3195 为 JsonRpcPoolTransporter 增了重试机制, 当连接、发包、收包失败时,默认重试 2 次,收包超时不进行重试。 优化 #3169 优化了 ErrorExceptionHandler 中与 set_error_handler 相关的入参代码, 解决静态检测因入参不匹配导致报错的问题。 #3191 优化了 hyperf/json-rpc 组件, 当连接中断后,会先尝试重连。 变更 #3174 严格检查 hyperf/database 组件中 where 语句绑定参数。 组件孵化 DAG 轻量级有向无环图任务编排库。 RPN 逆波兰表示法。Hyperf简介Hyperf 是基于 Swoole 4.4+ 实现的高性能、高灵活性的 PHP 协程框架内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。框架组件库除了常见的协程版的 MySQL 客户端、Redis 客户端,还为您准备了协程版的 Eloquent ORM、WebSocket 服务端及客户端、JSON RPC 服务端及客户端、GRPC 服务端及客户端、OpenTracing(Zipkin, Jaeger) 客户端、Guzzle HTTP 客户端、Elasticsearch 客户端、Consul 客户端、ETCD 客户端、AMQP 组件、Nats 组件、Apollo、ETCD、Zookeeper 和阿里云 ACM 的配置中心、基于令牌桶算法的限流器、通用连接池、熔断器、Swagger 文档生成、Swoole Tracker、Blade、Smarty、Twig、Plates 和 ThinkTemplate 视图引擎、Snowflake 局ID生成器、Prometheus 监控 等组件,省去了自己实现对应协程版本的麻烦。Hyperf 还提供了 基于 PSR-11 的依赖注入容器、注解、AOP 面向切面编程、基于 PSR-15 的中间件、自定义进程、基于 PSR-14 的事件管理器、Redis/RabbitMQ 消息队列、自动模型缓存、基于 PSR-16 的缓存、Crontab 秒级定时任务、Session、i18n 国际化、Validation 表单验证 等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。Hyperf 功能特点框架初衷 尽管现在基于 PHP 语言开发的框架处于一个百花争鸣的时代,但仍旧未能看到一个优雅的设计与超高性能的共存的完美框架,亦没有看到一个真正为 PHP 微服务铺路的框架,此为 Hyperf 及其团队成员的初衷,我们将持续投入并为此付出努力,也欢迎你加入我们参与开源建设。设计理念 Hyperspeed + Flexibility = Hyperf,从名字上我们就将 超高速 和 灵活性 作为 Hyperf 的基因。对于超高速,我们基于 Swoole 协程并在框架设计上进行大量的优化以确保超高性能的输出。 对于灵活性,我们基于 Hyperf 强大的依赖注入组件,组件均基于 PSR 标准 的契约和由 Hyperf 定义的契约实现,达到框架内的绝大部分的组件或类都是可替换的。 基于以上的特点,Hyperf 将存在丰富的可能性,如实现 单体 Web 服务,API 服务,网关服务,分布式中间件,微服务架构,游戏服务器,物联网(IOT)等。文档齐 我们投入了大量的时间用于文档的建设以提供高质量的文档体验,以解决各种因为文档缺失所带来的问题,文档上也提供了大量的示例,对手同样友好。 Hyperf 官方开发文档生产可用 我们为组

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值