Go mod 好菜系列 - 0x13 grpc 这锅服务间通信已经不是小炒了

从协议、代码生成、服务定义、流式通信和适用场景角度详细聊 grpc,看看它为什么在微服务里常见,以及什么时候没必要上这么重。

前面这套系列里有很多模块都像是“项目里的一口菜”,而 grpc 更像是整套通信风格。它不只是一个客户端库,也不只是一个服务器库,而是在告诉你:服务和服务之间,可以按另一种方式说话。

grpc 是什么

它是一套基于 Protocol Buffers 的 RPC 通信框架。粗暴理解就是:

  • 你先定义服务和消息结构
  • 再生成客户端和服务端代码
  • 最后像调用本地方法一样调远程服务

它和普通 REST API 不是互相替代关系,而是两种风格。很多系统会两者并存。

为什么 grpc 在 Go 里特别常见

因为 Go 本来就很适合写后端和微服务,而 grpc 在服务间通信这件事上,又正好很受这类系统欢迎:

  • 协议定义清晰
  • 代码生成完善
  • 类型约束强
  • 双向流和流式通信能力成熟

也就是说,它特别适合“后端和后端之间”这种沟通场景。

最核心的感觉:先写 proto

syntax = "proto3";

service UserService {
  rpc GetUser(GetUserRequest) returns (GetUserResponse);
}

message GetUserRequest {
  int64 id = 1;
}

message GetUserResponse {
  int64 id = 1;
  string name = 2;
}

和很多 HTTP 库不一样,grpc 的第一步通常不是直接开写 handler,而是先把接口契约写清楚。

代码生成是它的重要工作流

这也是 grpc 工程味很重的一部分。你不是手搓客户端和服务端结构,而是通过 proto 生成骨架代码,然后在上面实现业务。

这意味着:

  • 协议更稳定
  • 多语言协作更方便
  • 接口变更更可控

它为什么适合服务间通信

因为服务和服务之间往往更关心:

  • 协议严格
  • 字段明确
  • 生成代码降低出错率
  • 性能和流式能力更强

而这些恰好就是 grpc 的长项。

但它不是所有项目的默认选项

如果你当前项目只是很普通的前后端接口服务,团队也没有强服务拆分、多语言协作、流式需求,那直接上 grpc 很容易变成“先上了一套更重的通信体系”。

它适合的是那些通信复杂度真的已经上来了的场景,而不是“听说大厂都用,所以我也先摆上”。

小结

grpc 这道菜已经明显不是小炒,而更像一套主食体系:

  • 它强调协议先行和代码生成
  • 特别适合服务间通信和多语言协作
  • 类型约束和流式能力是优势
  • 项目还小时,别为了“像微服务”而硬上

到这里,Go mod 好菜系列 又往前扩了一大段:从测试、文档、监控,到权限、热重载,再到 grpc,已经越来越接近“一个真实项目里常见工具全家桶”的形状了。

Read more

Harness Engineering:从驾驭模型到构建 AI 工厂

Harness Engineering:从驾驭模型到构建 AI 工厂

2026 年,AI 编程工具的竞争焦点发生了根本性转变:决定 AI 助手好不好用的,不再是模型本身,而是包裹在模型外面的那层"Harness"。同一个模型,在不同的 Harness 下,性能差距可以达到 78% vs 42%。 这篇文章将带你深入了解 Harness Engineering——这个正在重新定义 AI 工程实践的新兴领域。 一、什么是 Harness Engineering? Harness 的字面意思是"马具/缰绳"——用来驾驭一匹强壮但不受控的马。在 AI 语境下,Harness 就是 LLM 之外的一切:工具定义、记忆系统、权限模型、反馈循环、文档规范、多

By Fuyu Jia

Claude Code CLI + Ralph:让 AI 自动完成大型编程任务的终极方案

TL;DR 当你的编程任务大到一个 AI 对话窗口装不下时,Ralph 会帮你把任务拆成小块,让 Claude Code CLI 一个接一个地自动完成——每轮都用全新的上下文窗口,不会越写越糊涂。 一、什么是 Ralph? Ralph 是一个开源项目(GitHub 16k+ Stars),基于 Geoffrey Huntley 提出的 "Ralph Pattern" 构建。它的核心理念很简单: 不要让 AI 在一个漫长的会话里做完所有事情,而是把大任务拆成小故事,每个故事用一个全新的 AI 实例来完成。 这解决了 AI 编程中最常见的痛点——上下文窗口耗尽。当对话越来越长,AI 的输出质量会明显下降。Ralph 通过「每轮一个新实例」的方式,

By Fuyu Jia