用 Rust 手搓 gRPC:tonic 替你藏起来的那些坑
用 tonic 写 gRPC 的人很多,搞懂 gRPC 到底是个啥的人不多。你问一个 Rust 开发者"gRPC 是什么",他大概率会说"就是 protobuf 加 HTTP/2"。这话对,但等于没说——就像别人问你红烧肉是什么,你说"就是猪肉加酱油"。
分享技术见解,探索创新解决方案
用 tonic 写 gRPC 的人很多,搞懂 gRPC 到底是个啥的人不多。你问一个 Rust 开发者"gRPC 是什么",他大概率会说"就是 protobuf 加 HTTP/2"。这话对,但等于没说——就像别人问你红烧肉是什么,你说"就是猪肉加酱油"。
用户看到一个 504,以为请求已经结束了。服务端看起来也把错误返回了。但数据库连接还被占着,下游服务还在处理,后台任务还在跑,重试还在继续。
"订单服务刚扩了 3 台机器,用户服务还攥着旧的 IP 列表狂发请求,一半流量打到已经下线的实例上,报错率直接翻倍。" —— 某团队发版当晚的真实事故
"我们有 20 多个微服务,前端要对接 20 个地址,跨域配置写了 20 遍,鉴权逻辑每个服务抄了一份,限流?有的服务写了有的没写。" —— 一个真实团队的痛点
"消息队列不就是发消息收消息吗?有什么好讲的?"
Tauri v2 生态缺好用的统计插件,我受 Aptabase 启发,从零写了一个后端无关的 telemetry 插件。这篇文章带你走一遍完整过程——从插件骨架到事件分发、会话管理、前端绑定。
连接池这东西,90% 的人只改一个 maxconnections 就觉得搞定了。直到线上出了问题。
每次看到 1 + 2 3 被正确算出 7 而不是 9,都觉得理所当然。但从"字符串"到"结果",中间隔了三道门,每道门的钥匙都不一样。
后台有位做测试的读者留言,说想转型做后端业务开发,问怎么规划。这个问题我被问过好几次了,今天一次性说清楚。
"分布式存储听着吓人,其实就是「多台机器假装是一台机器」的艺术。"
异步编程最大的谎言是「加个 .await 就行了」。
最近用了一些投票软件,点了投票按钮,转圈,没反应。再点,还是没反应。刷新一下,发现其实已经投上了——但那个"没反应"的体验真的很糟。
用 axum 写业务的时候,一直觉得 async fn handler(Json(body): Json<CreateUser) 这种写法理所当然。直到想自己写一个路由,才发现——这个函数签名背后藏了多少编译期魔法。
"线上 P99 延迟飙了,日志里什么都没有。"
你有没有试过在看一个开源项目的源码时,对着 git log 发呆——几千条 commit,你想知道的只有一个:这个文件是怎么变成现在这样的?
最近有个读者留言:Tauri 怎么编译成安卓安装包?网上搜了一圈,资料要么过时,要么零散,官方文档又写得像参考手册。能不能搞个从 0 到 1 跑通的教程?
TCP 是互联网的普通话,QUIC 是它的下一代方言——但大多数人还没学会说。
复盘用 Rust 构建端到端加密聊天工具时,在协议选型、密钥管理、消息同步、多设备与连接恢复上的关键踩坑与实践经验。
分享我在 Rust 微服务开发中遇到的一些问题和解决方案。
借 D-Day 诺曼底登陆的历史案例,聊 Rust 与分布式系统中的冗余设计、类型安全、故障隔离和系统化规划。
ruff 比 flake8 快 10-100 倍,polars 比 pandas 快 5-50 倍,orjson 比标准库 json 快 10 倍。你有没有想过,这些 Python 库凭什么这么快?
后台有读者私信问:如果想用 Rust 构建产品,DDD(领域驱动设计)该怎么落地?
我日常用 ripgrep 搜代码,效率很高。但有一次搜自己写的中文笔记,死活搜不到——明明文档里写着"性能优化",rg "性能优化" 就是没结果。
上一篇写完 Yew 之后,有个读者留言说:"试试 Dioxus 吧,跨平台能力很香。" 说实话我一开始是抵触的。Rust 前端生态本来就小,再分散精力学第二个框架,值吗? 但试了一个周末之后,我理解了为什么有人死磕 Dioxus——它和 Yew 解决的问题完全不同。
Rust 写后端、写 CLI、写数据管道都很舒服,但前端呢?
Agent 时代的第一个共识浮出水面了:模型已经不是瓶颈,人才是。
时隔近半年,护眼卫士迎来了重磅更新。这次我们把当下最火的 Codex 宠物带进了休息屏幕。
上一篇聊了 NovaDB 怎么用 Rust + Tauri 把三种数据库驱动编译进二进制,彻底告别手动装驱动。那篇解决的是"连接"的问题——怎么连上数据库、怎么执行 SQL、怎么看结果。
说实话,DBeaver 我用了好几年了。功能确实强大,支持的数据库也多。但有一件事一直让我如鲠在喉 ——
后台私信炸了。各大群也在聊同一个话题:AI 写出来的代码,很难维护。
最近在做一个项目,需要对接一个第三方服务。按理说,官方SDK一装,API一调,齐活儿。但现实往往不按剧本走——SDK跑不通。
我以前写游戏后端的时候,最怕听到一句话:"我们先做个简单 PVP,同步一下玩家位置就行。"
如果聊“不停机维护”,Erlang 是绕不开的。
作为一个 Rust 热爱者,看着 AI 一天比一天能写代码,我认真焦虑了一阵子,然后想明白了一些事。
Vibe coding 让写代码的门槛降到了地板,但也让代码质量降到了地下室。
"Rust 能写什么?"这个问题问反了。Rust 现在几乎什么都能写,关键是你想解决什么问题。
写 Rust 的人迟早会碰到一个场景:前端有个计算密集的活,纯 JS 跑不动。 图像处理、音视频编解码、大数据集实时计算 —— 这些场景 JS 引擎再怎么优化也到不了底层语言的水平。 WASM 就是为这种时候准备的。
Vibe coding 这个词火了快一年了,但你有没有发现一个尴尬的现实:大多数人用AI写代码,效率并没有提高多少,甚至有时候还倒退了。
我是个Rust爱好者,日常主力语言就是Rust,CLI工具、Web服务、数据处理管道都写过,编译器的脾气基本摸清了。Zig是这个月才开始学的,起因很简单——想换个视角看看系统编程还能怎么做。学了之后顺手写了两个小项目练手:一个zvm版本管理工具和一个kvdb。
最近后台有位做测试的Python朋友私信我,说想学Rust,问有没有什么建议。这让我想了挺久——因为这不是个例,最近半年我观察到越来越多的Python开发者开始关注Rust,尤其是测试领域的同学。
跑通一个文生图 demo,其实不难。装环境、拉模型、写几行推理代码,顺利的话,当天就能出第一张图。真正难的,从来不是“把图跑出来”,而是下一步:**`怎么把它做成一个真的能对外提供服务的系统。`**因为一旦进入服务化阶段,问题就变了。不再只是 prompt 对不对、参数怎么调,而是:请求怎么接、任务怎么排队、GPU 怎么限流、超时怎么处理、失败怎么重试、结果图怎么存、调用方怎么查状态。说白了,**模型跑起来只是开始,服务化才是真正的工程题。**最近我基于 Tongyi-MAI 开源的 Z-Image,尝试用 Rust 从零搭了一套文生图服务。做完以后最大的感受只有一句话:**别让 Rust 去硬扛模型推理,Rust 最适合扛的是“服务”本身。**
作为一个 Rust 爱好者,在真正深入使用 Zig 之后,我对这门语言的理解发生了转变。在这篇文章中,我将通过 vibe coding 写的一个小型 KV 数据库项目来分析 Zig 和 Rust 的异同,以及我对两者设计哲学的理解。无论你是 Rust 粉还是对系统编程感兴趣的开发者,都能从中找到一些启发。
Bun 是一个重新设计的 JavaScript 工具链,为什么它会让一个 Rust 爱好者也觉得“用了就回不去”?这篇文章我想聊聊 Bun 的独特价值,以及它背后 Zig 语言的设计哲学。无论你是 Rust 粉还是对工具链感兴趣的开发者,都能从中找到一些启发。
工具只要真正有人长期用,升级能力就不是锦上添花,而是基础设施。这篇文章想聊的,就是我最近在 Rust 项目里怎么把这件事补起来。
在 vibe coding 时代,复杂系统的原型搭建第一次对个人开发者真正友好了。用 Rust 从零把一个 MySQL Proxy 搭出来,第一步先别急着解析 SQL,先把流量送过去。
分库分表后,数据库自增 ID 就没法用了。今天我们用 Rust 从零实现一个分布式 ID 生成服务,支持 Snowflake、ULID、NanoID 三种算法。
在入门篇中,我们用 Rust + Bevy 构建了一个具备基础状态的桌面宠物。今天,让我们深入探讨如何打造一个真正"好玩"的交互体验!本文将深入剖析状态机驱动的动画系统、连击检测与隐藏彩蛋、反应速度小游戏、成就解锁系统以及事件驱动架构等核心特性,帮助你构建更有趣的交互应用!
想在桌面上养一只可爱的虚拟宠物吗?用 Rust 和 Bevy 游戏引擎,我们可以从零开始设计一个常驻桌面的 AI 助手!这篇文章将带你一步步实现一个有生命感的桌面宠物,具备状态系统、动画效果和交互功能。
最近心血来潮,想做个小游戏练练手。想起小时候玩的那些红白机射击游戏,简单但上瘾。于是决定用现在比较火的技术栈 —— Rust + React + Tauri,复刻一个复古风格的太空射击游戏。
本文将分享如何使用 Tauri + Rust + Canvas 技术栈,从零构建一个具有智能AI对手的坦克大战游戏
探讨如何用 Rust 构建高性能 TTS 语音合成服务,实现低延迟、高并发的语音生成。
深入解析 Agent Skills 和 MCP 的区别与联系,教你如何创建可复用的 Agent 能力模块。
探讨如何用 Rust 构建多 Agent 系统,实现角色分工与协作,提升复杂任务处理能力。
深入讲解如何用 Rust 构建一个支持复杂任务调度的 AI Agent,重点介绍任务图(DAG)模型的设计与实现。
深入讲解如何用 Rust 构建一个具备长期运行能力的 AI Agent,重点关注记忆系统的设计与实现。
回顾我 12 年前在阿里做的分布式数据库链路诊断系统,探讨如果今天重做,会如何利用 Rust 和现代基础设施打造新一代系统。
上一篇我们用 Rust 从 0 写了一个完整 Agent,但如果真把它跑在生产环境,很快就会遇到并发、超时、重复调用等问题。这篇文章带你用 Tokio 写一个“生产级执行器”,解决这些痛点,让你的 Agent 真正能跑起来。
过去一年“Agent”这个词被说烂了:会思考、会调用工具、能自己拆解任务并持续执行。大多数教程都用 Python 写,但在需要高并发、可控资源、长期运行稳定的场景里,Rust 反而更合适。这篇文章带你用 Rust 写一个“能跑起来”的 Agent,从架构设计到核心代码,一步步实现。
圣诞前夜,圣诞树灯闪闪,我窝在沙发上刷 Rust 新闻,越刷越乐。2025年这家伙,Rust简直像开了挂:Android内存bug暴跌、Linux内核正式收编、微软扬言2030年全换 Rust……我一个老 Rust 粉,看得直呼“螃蟹要上天了”!平时写代码就爱折腾Rust,今天忍不住吐槽一波,那些你可能没听过的Rust八卦和冷笑话,配杯热巧克力慢慢看~🦀🍫
Rust 为什么火、为什么难、难在哪里、又到底值不值得?
几乎所有长期做过 Rust 项目的人,都会有一个共同体验:项目初期写得慢、改得痛,但项目中后期需求还能加、重构不太怕、线上事故明显少。这不是幸存者偏差,而是 Rust 的结构性结果。本文带你深入理解 Rust 项目「前期慢,后期几乎不出事」的原因。
很多人选择 Rust,是因为“快”。但当你真的把 Rust 用在高并发、长生命周期、重负载系统里时,会发现一种很反直觉的现象:Rust 的性能瓶颈,往往不在 CPU,而在你对抽象成本的误判。而且其中不少问题,是 Rust 特有的。
很多人第一次学 Rust,会被一句话洗脑:“Rust 的核心是所有权和借用。”但这句话太抽象,也太误导。写久了你会发现,Rust 的所有权根本不是为了防止你写错代码,它真正解决的是一个更大的问题:在没有 GC 的前提下,如何精确、可组合地调度资源。
很多人用 async Rust 一段时间后,都会有一种矛盾感:表面上 `async/await` 用起来很顺,但一到性能、内存、卡顿、奇怪的 borrow 报错,就开始失控。于是常见的评价是“async Rust 太复杂了”。但真正的问题不是“复杂”,而是:async Rust 没帮你隐藏任何成本。本文带你深入理解 async Rust 的真实性能模型。
很多人刚学 Rust 时,写代码是“想逻辑 → 写函数 → 被编译器骂 → 改到能过”。但当你写 Rust 写到一定阶段,会突然发现自己的顺序变成了“先想类型 → 再想状态 → 最后才写逻辑”。而且更诡异的是:一旦类型设计对了,代码几乎是“顺着写出来的”。这不是偶然,这是 Rust 在长期使用中,对你思维方式的重塑。
Rust 不是“你以为会的那样”,而是当你开始写复杂系统时,它会逼你面对那些在其他语言里可以逃避的问题。
Rust 真正强悍的地方,不只是“内存安全 + 速度快”。它更像一门**把类型系统、抽象能力、约束表达、编译期推理**推到很极致的语言。你可能每天都在写 Rust,却没怎么真正动用这些能力。
在传统的软件开发模式中,代码一直是王者,而规格说明往往只是临时的脚手架,一旦"真正的"编码工作开始就会被丢弃。
几十年来,代码一直占据主导地位。规范服务于代码——它们是我们搭建然后在开始“真正工作”即编码后抛弃的脚手架。
在当今科技飞速发展的时代,软件开发领域正经历着前所未有的变革。
探讨全栈开发在云原生时代的演变,以及新一代开发框架带来的变革。
探讨新一代AI代码助手如何通过智能协作模式提升开发效率。
探讨元宇宙和虚拟现实技术如何改变软件开发和用户交互方式。
深入探讨Rust的安全编程特性,包括所有权系统、生命周期、并发安全等核心概念。
深入探讨Rust的宏系统,包括声明宏、过程宏以及宏编程的最佳实践。
深入探讨Rust的异步编程模型,包括async/await语法、Future trait以及异步运行时的工作原理。
探讨数据库技术在2024年的发展趋势和最佳实践。
深入探讨Rust在嵌入式开发中的应用,包括no_std环境配置和硬件访问接口的使用。
探讨人工智能如何改变传统的软件架构设计,引领智能化系统设计的新趋势。
深入探讨Rust的系统编程特性,包括FFI接口、unsafe代码块和底层系统调用的使用。
深入探讨Rust的测试系统,包括单元测试、集成测试和基准测试的实现与最佳实践。
探讨软件架构设计模式在2024年的发展趋势和最佳实践。
深入探讨Rust的异步编程特性,包括Future、async/await语法和异步运行时的使用。
深入探讨Rust在游戏开发中的应用,包括游戏引擎和图形编程的最佳实践。
探讨人工智能如何改变软件测试流程,提高测试效率和质量。
深入探讨Rust的Web开发框架,包括Actix-web和Rocket的使用方法和最佳实践。
深入探讨Rust的命令行工具开发,包括clap和structopt的使用方法和最佳实践。
深入探讨Rust的数据库编程,包括SQL和NoSQL数据库的使用方法和最佳实践。
探讨云原生技术和DevOps实践在2024年的发展趋势和最佳实践。
深入探讨Rust的网络编程特性,包括TCP/UDP通信和异步网络编程的最佳实践。
深入探讨Rust的异步运行时,包括tokio和async-std的使用方法和性能优化技巧。
探讨Web3和区块链技术在2024年的发展趋势和应用场景。
探索Rust在WebAssembly开发中的应用,包括wasm-bindgen的使用和与JavaScript的交互。
深入探讨Rust的宏编程系统,包括声明宏和过程宏的使用方法及最佳实践。
探讨大语言模型如何改变传统软件开发模式,提升开发效率。
深入探讨Rust的错误处理机制,包括Result、Option类型和错误传播的最佳实践。
探讨React生态系统在2024年的发展趋势和最佳实践。
探索Rust的并发编程模型,包括线程创建、消息传递和共享状态并发的实践指南。
深入探讨Rust中的智能指针类型,包括Box<T>、Rc<T>和RefCell<T>的使用场景和最佳实践。
详细讲解Rust中的生命周期概念,包括显式标注、生命周期省略规则和常见应用场景。
深入解析Rust的所有权系统,包括所有权规则、借用机制和生命周期概念。
探讨微服务架构在2024年的发展趋势和最佳实践。