luoxiaojun/sw-fw-less

Swoole Http Server 无框架

0.1.1 2021-11-25 09:09 UTC

This package is auto-updated.

Last update: 2024-09-24 12:23:42 UTC


README

描述

Swoole http server 无框架

特性

  1. 更快的路由器
  2. 路由器 & 全局中间件
  3. 模型(MySQL & Elasticsearch、Json 可序列化、Array 可访问)
  4. 查询构建器(MySQL & Elasticsearch)
  5. 连接池(MySQL、Redis、实验性 AMQP-0-9-1、实验性 HBase)
  6. 存储(File、Qiniu、Alioss)
  7. 完全协程
  8. 日志(基于 Monolog)
  9. 分布式锁(基于 Redis)
  10. 参数验证器
  11. 监控
  12. AMQP-0-9-1
  13. Zipkin 跟踪
  14. 动态故障注入
  15. 热重载(包括 biz 代码、配置、路由,仅推荐开发使用)
  16. 实验性 Grpc(必须开启 http2)
  17. Apollo 配置中心

注意

  • 不要在控制器或中间件构造函数中包含 I/O 操作
  • 不要开启抢占式调度器

Composer 包审查建议

  • 命名空间冲突
  • 无命名空间的函数重复

要求

  • Composer 1.x
  • 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

性能

环境

  • 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

结果: 负载测试

文档

请参阅 文档.

路线图

  • 添加辅助函数命名空间