compare to FCGI - noradle/noradle-protocol GitHub Wiki

FastCGI frame 组成和 noradle 比较

  • version: noradle frame 没有 version,但是 noradle 打算在握手信息中增加 version,确保各个通信节点直接协议版本兼容
  • type: frame 类型,noradle 有,head/body/end,响应额外还有 session。
  • request ID: noradle 对应有 slot ID,只标识在途中的请求,处理完的包括异常的请求不占用ID
  • padding 相关:noradle 目前没有 padding 信息,因为还不能证明存在 padding 处理会更快
    • We recommend that records be placed on boundaries that are multiples of eight bytes

noradle-dispatcher 提供 FCGI 服务

其实 noradle client 和 noradle-dispatcher 之间的通信就类似 fastCGI 协议, 如果 noradle-dispatcher 就能够接受 fastCGI协议的请求,并转发到 oracle 中,就能成为标准de fastCGI 应用服务器。

  • 为新的 request ID 分配 oSlotID,或者 FCGI request ID 就是 oSlotID
  • 相同 request ID 下的后续包,发送到绑定好的 oSlotID
  • oracle 侧可以读取一个 request ID 下先后不同类型的请求包格式
    • 包括 version, type, req id, padding 等等