REST API 与 gRPC:从资源接口到高性能 RPC 的架构选择
深入解析 REST API 与 gRPC 等 RPC 框架的核心差异,涵盖 HTTP、REST、RPC、Protocol Buffers、HTTP/2、流式通信、微服务调用与游戏服务架构,并结合实际场景给出接口通信方案的选型建议。
tag
深入解析 REST API 与 gRPC 等 RPC 框架的核心差异,涵盖 HTTP、REST、RPC、Protocol Buffers、HTTP/2、流式通信、微服务调用与游戏服务架构,并结合实际场景给出接口通信方案的选型建议。
讨论 Godot HTTPRequest/HTTPClient 在游戏客户端中的鉴权、请求队列、重试、错误码和弱网反馈。
用登录表单示例讲 Go HTTP 表单解析的基本用法,包括 query、x-www-form-urlencoded、multipart、大小限制和校验。
用订单业务示例讲 Go 领域错误的设计方式,如何使用 errors.Is、errors.As、错误包装和 HTTP 映射。
用内部服务调用示例讲 Go HTTP 客户端如何加载客户端证书,理解 mTLS 的基本概念、配置和安全边界。
用创建项目 API 示例讲 Go JSON 请求校验:字段必填、长度限制、枚举值、嵌套结构和结构化错误响应。
从批量调用第三方接口出发,讲 time.Ticker、令牌思路、context 取消、突发控制和限速器的实践边界。
用外部搜索接口示例讲 net/url 的基本用法,包括路径转义、查询参数、URL 解析和避免手写字符串拼接。
用头像上传客户端示例讲 Go 如何构造 multipart/form-data 请求,包含文件字段、普通字段、Content-Type 和测试。
用 net/http 服务示例讲 Server.Shutdown、信号处理、关闭超时、后台任务停止和部署滚动发布中的注意事项。
讲 context.WithValue 的适用边界:请求 ID、用户 ID、trace 信息可以放,业务参数、可选配置和依赖对象不该乱放。
用 HTTP 中间件示例讲 Go 服务里的 gzip 响应压缩,包括 Accept-Encoding、Content-Encoding、小响应跳过和测试。
用导出用户列表接口讲 json.Encoder 流式写响应、Flush、错误边界、客户端断开和分页查询。
用 Go 标准库理解 Cookie 的读写、安全属性、Session ID 的生成与校验,以及入门项目里如何保存登录状态。
用报表下载接口讲 http.ServeContent 的基本用法,包括文件名、Content-Type、修改时间、Range 请求和权限检查。
用外部用户服务客户端示例讲 httptest.Server 的基本用法,覆盖成功响应、错误状态、超时和请求头断言。
用头像上传接口讲 Go HTTP 文件上传的基本流程,包括 MaxBytesReader、ParseMultipartForm、文件名处理、类型校验和安全保存。
从一个创建任务接口出发,讲 Go HTTP JSON API 的请求解析、校验、响应结构、错误处理和可测试组织方式。
从一个简单 HTTP 接口开始,讲 Go 中令牌桶限流的基本思想、按 IP 限流、清理状态和测试方式。
用 httptrace 观察 Go HTTP 客户端请求的 DNS、连接、TLS 和首字节耗时,帮助初学者定位外部接口慢的问题。