项目

通用

个人资料

操作

小型待办事项列表

注意:此列表会不时更新,不一定代表开发的精确状态。请将其作为大致概览。

  • 非线程安全的配置处理(设置仅在启动模式下允许,无需线程安全)
    • 审核
  • 核心
    • 文件描述符溢出处理应(仅)在主工作进程中进行
    • X-Throttle(用于节流处理的 Lua API?)?
    • 限制请求/响应头部大小,请求URL长度
    • 上传临时文件目录选项
    • 从 LOADING -> SUSPENDED 状态等待 angel 的监听套接字
    • 配置包含*:排序文件名
  • 通用“数据检索/发送”API
    • 用标识符注册后端;从模块提供后端(单独工作线程中的 Lua 回调、SQL 后端、Memcache、文件?、计数器等)
    • 回调函数接受 vrequest 上下文(仅在同一线程中 - 如有需要,复制数据到其他线程)
    • 回调函数接受附加字符串参数?
    • 检索/发送的数据是原始字节流
    • 用于
      • 页面缓存
      • 动态SSL证书
      • 动态虚拟主机配置
      • 状态计数器(正在使用的后端、错误等)
    • 后端必须在使用前注册
  • angel
    • 重写:从配置概念中移除实例
    • 日志轮换(或者使用零停机重启?)
    • 控制套接字接口
    • angel-control 工具
    • 重新加载 angel 配置(更改文件描述符数量等)(更新后重新执行二进制文件?)
    • 管道日志记录
  • 日志
    • scheme:// 前缀
    • 支持管道
    • 用 angel 打开日志文件
    • 如果日志级别目标不是 /dev/null,则将“启动”(即如果日志记录被禁用)日志消息打印到 stderr/angel
  • 插件API
    • 插件间API
    • 每个客户端IP地址的插件数据
      • 可用于带宽限制、每秒请求限制、并发请求限制等
      • 必须在所有工作进程之间共享,因此需要加锁?
      • 也许让主工作进程在基数树中进行查找/移除,这样就不需要为此加锁,并让插件确保修改时线程安全
  • 模块
    • 移植1.x中剩余的模块
      • mod_extforward
      • mod_ssi(这可能应该作为FastCGI应用程序实现)?
      • mod_ajp13?
      • mod_trigger_b4_dl?
      • mod_usertrack?
      • mod_(web)dav?
    • 新概念用于
      • mod_{my,pg}sql_vhost(加载完整配置而非仅文档根目录)
      • mod_rrdtool
      • mod_geoip
    • SQL 虚拟主机(Lua 处理程序从数据库行生成操作?)
    • mod_auth_dovecot
    • 添加更多创新模块:)
  • mod_auth
    • 摘要认证
  • mod_status
    • 在持续时间列中显示超时,如“5/120”?
  • mod_dirlist
    • 异步生成静态目录列表/HTML正文,使用任务(以允许ETag缓存命中)
  • mod_deflate
    • 正确检测客户端支持的方法(当前“损坏”:strstr 搜索支持方法,检查方法是否在开头)
    • 添加“强制”模式以强制使用特定的压缩方法
    • 添加“enflate”或“fix compression”操作,如果客户端不理解当前编码,则解压缩内容
      其背后的想法是这样的
      memcached.lookup ( ..., ${ deflate.fix; deflate; }, ${
          php;
          deflate.enforce "bzip2";
          memcache.store ...;
          deflate.fix;
          deflate;
      };
      
  • mod_fastcgi
    • keep-alive 连接
  • mod_memcache
    • 存储HTTP头部,以便我们也能缓存解压缩后的内容
  • mod_proxy
    • 发起HTTP/1.1下游请求
  • mod_balancer
    • 重命名为 mod_balance
    • 添加积压大小等选项
  • mod_status
    • 连接详细信息单独选项卡;在配置中选择可用选项卡列表
    • 优雅重启后,以某种方式访问旧实例的统计信息(通过 angel)
  • 统计缓存
    • 缓存命中后用 stat() 重新验证目录列表条目?
    • 清除无效条目(stat()/open() 失败),即从哈希表中移除
    • 在排队目录列表作业之前,检查正常的 stat 条目、stat() 和 S_ISDIR
    • 重新验证条目后重置TTL
    • 哈希表限制?
    • 检查符号链接/如果所有者匹配则符号链接
  • 构建系统
    • 至少一个构建系统应提供静态构建

stbuehler近12年前 更新 · 63次修订