luoxiaojun / sw-fw-less-app
Swoole Http 服务器应用
dev-master
2022-01-24 11:15 UTC
Requires
- php: >=7.1
- ext-json: *
- ext-pdo: *
- ext-swoole: >=4.4.0
- luoxiaojun/sw-fw-less: dev-master
- symfony/translation: ~4.0.0|~5.3.0
Suggests
- ext-curl: *
- ext-redis: *
- symfony/translation: ~4.0.0|~5.3.0
This package is auto-updated.
Last update: 2024-09-24 16:57:03 UTC
README
描述
Swoole http 服务器(无框架)
特性
- 更快的路由器
- 路由器与全局中间件
- 模型(MySQL & Elasticsearch、Json 可序列化、数组可访问)
- 查询构建器(MySQL & Elasticsearch)
- 连接池(MySQL、Redis、实验性 AMQP-0-9-1、实验性 HBase)
- 存储(文件、七牛、阿里OSS)
- 完整协程
- 日志(基于 Monolog)
- 分布式锁(基于 Redis)
- 参数验证器
- 监控
- AMQP-0-9-1
- Zipkin 跟踪
- 动态故障注入
- 热重载(包括业务代码、配置、路由,仅推荐开发时使用)
- 实验性 Grpc(必须开启 http2)
- Apollo 配置中心
注意
- 不要在控制器或中间件构造函数中包含 I/O 操作
- 不要开启抢占式调度器
要求
- PHP 7.1+
- Swoole 4.2.10+
安装
composer create-project luoxiaojun/sw-fw-less-app=dev-master sw-fw-less --prefer-dist -vvv
部署
Nginx
Nginx 配置示例(根据您的需求修改)
server { listen 80; ## Modify according to your requirements server_name www.sw-fw-less.dev; location / { ## Modify according to your requirements proxy_pass http://127.0.0.1:9501; } }
Docker
docker run -d -P luoxiaojun1992/sw-fw-less:latest
用法
启动服务器
php start.php
示例 API
curl -i 'http://127.0.0.1:9501/ping'
Grpc 生成器
cd tools && ./generate_grpc.sh path/to/grpc/bins/opt/grpc_php_plugin
生成的文件
app
├── grpc
│ ├── Demo
│ │ ├── GreetingClient.php -- php service client
│ │ ├── HelloReply.php -- request message class generated by protoc
│ │ └── HelloRequest.php -- response message class generated by protoc
│ └── GPBMetadata
│ └── Demo.php
│
└── services
├── GreetingClient.php -- php service client for sw-fw-less
├── GreetingInterface.php -- php service interface for sw-fw-less
└── GreetingService.php -- php server side service for sw-fw-less
性能
环境
- OS: MacOS 10.14.1
- CPU: 2.3 GHz Intel Core i5 4 核
- 内存: 16 GB 2133 MHz LPDDR3
- Swoole: 4.2.9
- PHP: 7.2.8
- Redis: 4.0.11
- API: http://127.0.0.1:9501/redis?key=key
- 并发: 300
- 工具: JMeter 4.0 r1823414
文档
请参阅 文档.