当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

TSRPC

TypeScript 全栈 RPC 框架
授权协议 MIT
开发语言 JavaScript TypeScript
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 益光亮
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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'
});
 相关资料
  • 根据现有资源整理的一个Python学习路径,包含入门知识、Python基础、Web框架、基础项目、网络编程、数据与计算、网络爬虫等。

  • 5.1. Node.js相关工具 grunt/gulp/fis/webpack bower/spm/npm tdd/bdd cucumber/mocha standard babel/typescript/coffee 5.2. 前端开发4阶段 html/css/js(基础) jQuery、jQuery-ui,Extjs(曾经流行) Backbone(mvc),Angularjs、Vuejs(当前

  • 随着分布式技术和微服务思想流行,技术公司逐步将服务拆分为独立运行的小模块,提高系统整体的健壮性,加快特性的演进速度。微服务通过定义完善的接口进行交互,解耦系统、敏捷迭代、方便服务治理。RPC是目前微服务最广泛的通信方式。然而,众多团队各自研发具备服务治理功能的RPC通信框架,一方面增加开发成本,消耗人力重复造轮子;另一方面不同序列化协议的RPC服务,无法互相通信,影响可用性。因此,通用的RPC通信

  • 对服务开发者, MTransport 屏蔽了底层网络通信细节,从而更专注于业务自身逻辑实现。支持不同语言版本的代码实现, 保持通信协议的一致性,支持服务注册、服务发现、异步通信、负载均衡等丰富的服务治理功能。

  • 我是一名工作6年的后端,想做全栈,学了CSS和VUE但是实操太少了,而且一些常用的也没人带,如何成长为全栈 我是一名工作6年的后端,想做全栈,学了CSS和VUE但是实操太少了,而且一些常用的也没人带,如何成长为全栈

  • 这是一本不止于全栈工程师的学习手册,它也包含了如何成为一个 Growth Hacker 的知识。 全栈工程师是未来 谨以此文献给每一个为成为优秀全栈工程师奋斗的人。 技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快。今天技术的门槛下降得越来越快,原本需要一个团队做出来的 Web 应用,现在只需要一两个人就可以了。 同时,由于公司组织结构的变迁,以及到变化的适应度,也决定了赋予每个人的职

  • 主要内容:1.RPC流水线工程,2.RPC 技术选型,3.如何设计 RPC1.RPC流水线工程 ① Client以本地调用的方式调用服务 ② Client Stub接收到调用后,把服务调用相关信息组装成需要网络传输的消息体,并找到服务地址(host:port),对消息进行编码后交给Connector进行发送 ③ Connector通过网络通道发送消息给Acceptor ④ Acceptor接收到消息后交给Server Stub ⑤ Server Stub对消息进行解码,

  • 先聊项目 一直聊 聊到数据库表怎么设计 表怎么支持用户的一些功能实现 mysql 底层 红黑树和b+树 平衡树怎么保证高度平衡 增删改查四个操作用mybatics-plus怎么实现的 增加一个元素到数据库的时间复杂度 按某个字段进行sort的时间复杂度 b+树n叉树具体是多少 有具体的计算算法吗 docker部署方案 代码题:非递归实现的后序遍历 #后端java商汤实习全栈#