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'
});

浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报