Hasty Briefsbeta

双语

Show HN: BinaryRPC – Lightweight WebSocket-based RPC framework in modern C++

10 months ago
  • #RPC
  • #C++
  • #WebSocket
  • BinaryRPC是一个基于uWebSockets构建的高吞吐量RPC框架,专为延迟敏感型应用设计,例如多人在线游戏和金融行情流。
  • 该框架支持可配置的可靠性级别(无保障、至少一次、精确一次),提供重试机制、确认应答和两阶段提交协议。
  • BinaryRPC采用可插拔架构设计,支持协议层、传输层、中间件和插件的灵活定制。
  • 具备自动过期机制和索引字段的有状态会话,支持断线友好型操作。
  • 中间件链支持JWT认证、速率限制等功能,其设计理念类似Express.js框架。
  • 作为头文件库实现,框架具有轻量级特性,可轻松集成到项目中。
  • 依赖环境包括CMake(3.16+)、C++20编译器、vcpkg和Git,JWT/JSON等可选依赖可按需添加。
  • 安装流程包含克隆仓库、CMake构建及项目库链接三个步骤。
  • 采用模块化架构设计,QoS策略、序列化方案、传输协议、中间件和插件均可替换。
  • 框架提供日志记录、错误处理和会话管理等工具,并附有常见使用场景的详细示例代码。