TSRPCTypeScript 全栈 RPC 框架

联合创作 · 2023-09-20 01:04

TSRPC 是专为 TypeScript 设计的 RPC 框架,经千万级用户验证,适用于 HTTP API、WebSocket 实时应用、NodeJS 微服务等场景。

特性

  • 原汁原味 TypeScript
  • 类型安全
    • 开发时全程代码提示,避免低级错误
    • 运行时自动参数校验,总是类型安全
  • 更强的 JSON
    • 支持在 JSON 中传输更多数据类型
    • 例如 ArrayBufferDateObjectId
  • 支持二进制传输
    • 可将 TypeScript 类型直接编码为二进制
    • 包体更小、更易加密、无需 Protobuf
  • 支持 Serverless
    • 同时支持 Serverless 云函数和容器化部署
    • 兼容阿里云、腾讯云、AWS 标准
  • 一键生成接口文档
    • 一键生成多种格式的接口文档
    • 例如 Swagger / OpenAPI / Markdown
  • 多协议
    • 同时支持 HTTP / WebSocket
    • 传输协议无关的架构,轻松扩展至任意信道
  • 跨平台
    • 浏览器 / 小程序 / App / NodeJS 多平台支持
    • 兼容 Restful API 调用,兼容 Internet Explorer 10
  • 高性能
    • 单核单进程 5000+ QPS 吞吐量(测试于 Macbook Air M1, 2020)
    • 经过数个千万用户级项目验证,单元测试、压力测试、DevOps 方案齐备

用法示例

Define Protocol (Shared)

export interface ReqHello {
  name: string;
}

export interface ResHello {
  reply: string;
}

Implement API (Server)

import { ApiCall } from "tsrpc";

export async function ApiHello(call: ApiCall<ReqHello, ResHello>) {
  call.succ({
    reply: 'Hello, ' + call.req.name
  });
}

Call API (Client)

let ret = await client.callApi('Hello', {
    name: 'World'
});
浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报