SuperAPI AI 工具集

grpc

编程与开发

查看项目

更新于 10-16 03:37

技能介绍

用途:在 Sorcha 中定义 gRPC 服务,用于高性能的服务间通信与点对点网络通信,典型场景包括验证者共识、节点发现和钱包签名操作。代码库遵循 .NET gRPC 模式,采用 proto-first 契约设计。

主要能力与用法:先在 Protos 目录下编写 .proto 契约文件,声明 proto3 语法、包名与 csharp_namespace,并定义 service 及其 rpc 方法(可返回流以支持服务端/客户端/双向流)。随后继承生成的基类实现服务,方法中可通过 ServerCallContext 访问元数据、取消令牌与截止时间。在 Program.cs 中通过 builder.Services.AddGrpc(...) 注册,并用 app.MapGrpcService<T>() 映射服务。客户端使用 GrpcChannel 建立可复用的连接。

常见模式:长连接场景可用带 keep-alive 的 GrpcChannel,配置 PooledConnectionIdleTimeout、KeepAlivePingDelay、KeepAlivePingTimeout 和 EnableMultipleHttp2Connections;如需将 gRPC(HTTP/2)与 REST/健康检查分离,可配置 Kestrel 双端口监听,例如 REST 走 8080(Http1AndHttp2)、gRPC 走 5000(Http2)。

项目结构:服务目录下包含 Protos(契约)、GrpcServices(实现)与 Program.cs(注册)。

限制:资料未说明具体版本要求、性能指标、收费情况及部署平台,具体配置需以实际项目为准。